Domino 9 und frühere Versionen > ND8: Entwicklung

Sortierung nach Datum - Teilstring in Mehrfachfeld

(1/3) > >>

cebolina:
Hallo zusammen,
ich habe auch mal wieder ein Problem, wofür ich eine Lösung suche:

Ich habe aus einem automatischen Import in meinem Dokument die Felder "Personalnummer" (Text), "Datum" (Datum/Zeit) und "Art" (Text) mit diesem Werten:
Personalnummer(0) = "004711"
Personalnummer(1) = "004711"
Personalnummer(2) = "004711"
Personalnummer(3) = "004711"
Personalnummer(4) = "004711"
Personalnummer(5) = "004711"
Datum(0) = 01.03.2011
Datum(1) = 02.03.2011
Datum(2) = 10.04.2011
Datum(3) = 11.04.2011
Datum(4) = 20.03.2011
Datum(5) = 21.03.2011
Art(0) = "Urlaub"
Art(1) = "Urlaub"
Art(2) = "Krank"
Art(3) = "Krank"
Art(4) = "Freizeit"
Art(5) = "Freizeit"

In einem Text-Feld "MeinFeld" (Mehrfachwerte zulassen) berechne ich mir eine Liste in diesem Format:
Personalnummer~Datum1~Abwesenheit1
Personalnummer~Datum2~Abwesenheit2
...

MeinFeld:
004711~01.03.2011~Urlaub
004711~02.03.2011~Urlaub
004711~10.04.2011~Krank
004711~11.04.2011~Krank
004711~20.03.2011~Freizeit
004711~21.03.2011~Freizeit

Jetzt möchte ich mir diese Rohdaten nach Datum sortiert in einem weiteren berechneten Feld anzeigen lassen.

Frage:
Wie kann ich diese Mehrfachwerte sortieren, dass dieses Ergebnis (nach Datum sortiert) herauskommt?
004711~01.03.2011~Urlaub
004711~02.03.2011~Urlaub
004711~20.03.2011~Freizeit
004711~21.03.2011~Freizeit
004711~10.04.2011~Krank
004711~11.04.2011~Krank

Ich hoffe, jemand kann mir dir Richtung angeben, in die ich laufen muss.

Danke und Gruß
Stefan

eknori:
 @Sort(list; [CustomSort]) ist dein Freund

Beispiel

list :=
"Ulrich Krause - 10" :
"Werner Motzet - 37" :
"Tim Pistor - 9" :
"Thomas Schulte - 9" :
"Thomas Bahn - 13" :
"Julian Buss - 6" :
"Andreas Schulte (IBM) - 27";

list := @Sort(list; [CustomSort];
@ToNumber(@Trim(@RightBack($A;" - ")))
<= @ToNumber(@Trim(@RightBack($B; " - "))));

@Prompt([Ok]; ""; @Implode(list; @Char(10)))

Sortiert die Liste nach der Zahl.

Bastel123:
Ich würde das Feld so berechnen:
Als erstes das Datum (umgewandelt in das Format "JJJJ-MM-TT"), dahinter Personalnummer und Art. Darum noch ein @Sort.

Sollte funktionieren.

Sebastian  

marschul:
Folgende Formel auf die Schnelle gebaut (noch nicht optimiert, da div. Berechnungen mehrfach, aber dürfte funzen):


--- Code: ---_tmpWert := @Sort(@Right(@Word(Eingabe; "~"; 2); 4) + @Middle(@Word(Eingabe; "~"; 2); 3;2) + @Left(@Word(Eingabe; "~"; 2); 2) + "~" + @Word(Eingabe; "~"; 1) + "~" + @Word(Eingabe; "~"; 3));

@Word(_tmpWert; "~"; 2) + "~" + @Right(@Word(_tmpWert; "~"; 1); 2) + "." + @Middle(@Word(_tmpWert; "~"; 1); 4; 2) + "." + @Left(@Word(_tmpWert; "~"; 1); 4) + "~" + @Word(_tmpWert; "~"; 3)
--- Ende Code ---

EDIT: Der Name "Eingabe" im Beispiel repräsentiert den Inhalt in "MeinFeld" aus dem Ursprungs-Post.

cebolina:
Danke für die Rückmeldungen (wußte doch, dass man sich auf Euch verlassen kann;-))

@eknori
Mit @Sort habe ich experimentiert, aber nicht zum fliegen bekommen.

@Babstel123
Gute Idee, so werde ich es machen.

Danke
Stefan

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln