Autor Thema: Array sortieren aber nur nach einem Teil der Werte  (Gelesen 2321 mal)

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Guten Morgen allerseits,

ich habe ein Problem. Was sonst. ;-) Und ich habe einen Lösungsansatz. Der erscheint mir allerdings sehr umständlich. Vielleicht hat ja jemand eine bessere Lösung und kann mir helfen. Danke schonmal fürs Lesen.

Problem

Array, ausgelesen aus einem Dokument in einer anderen DB

5554001_Wert1
5553002_Wert2
5551004_Wert3
5553008_Wert4

Dieses Array soll nach den markierten Werten aufsteigend sortiert werden.

Mein Lösungsansatz

Mit einer Schleife über alle Werte gehen, mit Left$ und Right$ den Sortierwert extrahieren und mit Trennzeichen vor den Wert schreiben.

40$$$5554001_Wert1
30$$$5553002_Wert2
10$$$5551004_Wert3
30$$$5553008_Wert4

Dann schön sortieren und mit einer weiteren Schleife den Sortierwert und das Trennzeichen wieder entfernen.

Ganz schön umständlich, oder? :-(
« Letzte Änderung: 02.10.12 - 11:18:09 von theBastian »
Domino, Notes, Sametime

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Array sortieren aber nur nach einem Teil der Werte
« Antwort #1 am: 02.10.12 - 08:15:36 »
Variiert der Anteil denn. Also heute ist es Position 4+5, morgen 5+6?
Ansonsten wäre es doch fast schon einfacher, eine eigene Ansicht zu bauen und den part als 2. sortierte Spalte zu verwenden.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Re: Array sortieren aber nur nach einem Teil der Werte
« Antwort #2 am: 02.10.12 - 08:23:24 »
Nein, variiert nicht, immer 2 Zeichen lang und an der gleichen Stelle. Ich kann aber in der anderen DB keine Ansicht bauen sondern nur auf vorhandene zugreifen. :-(
Domino, Notes, Sametime

Glombi

  • Gast
Re: Array sortieren aber nur nach einem Teil der Werte
« Antwort #3 am: 02.10.12 - 09:05:43 »
Mit @Formel ginge das einfach so:
@Right(@Sort(@Middle(Feld;3;2) + ("$" + Feld));"$")

Das kannst Du in Script mit Evaluate auch machen.
Falls Du auf das Dokument "doc" zugreifst und aus dem Feld "Feld" auslesen willst, dann so:
liste = Evaluate( |@Right(@Sort(@Middle(Feld;3;2) + ("$" + Feld));"$")|, doc )

Andreas

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Re: Array sortieren aber nur nach einem Teil der Werte
« Antwort #4 am: 02.10.12 - 09:08:21 »
Na das sieht doch schon wesentlich besser aus. :-)

Und Evaluate ist es egal, dass das "doc" in einer anderen DB ist?
Domino, Notes, Sametime

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Re: Array sortieren aber nur nach einem Teil der Werte
« Antwort #5 am: 02.10.12 - 11:17:55 »
Kann meine letzte Frage selbst mit "JA" beantworten.

Läuft. Vielen Dank für Eure Hilfe. :-)
Domino, Notes, Sametime

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz