Autor Thema: Selektion bei Mehrfachwerten  (Gelesen 2746 mal)

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Selektion bei Mehrfachwerten
« am: 24.05.05 - 14:49:36 »
Hallo Forum,

ich habe eine „Knobelei“, bei der ich beim besten Willen nicht weiter komme. Wäre schön, wenn jemand mir auf die Sprünge hilft.

Problem: Gegeben ist ein Feld mit Mehrfachwerten, das für Filterfunktionen der Dokumente einer View verwendet wird. Werte darin sind z.B.: TAxxxx, BRxxx, TCxx (x sind willkürliche Zeichen). Bisher war die Selektion einfach durch @Contains(Feldname;“TA“) realisiert worden.

Nun kommt neuerdings hinzu, dass das Feld auch den Wert Txxx beinhalten kann und die Selektion von Dokumenten sowohl TAxxxx als auch Txxx – gekennzeichnete Dokumente beinhalten soll, die demgemäß einer gemeinsamen Kategorie angehören.

Anm.: Die Funktion @Contains(Feldname;“T“) scheitert natürlich, weil TCxx ausgeschlossen werden soll.

Habt Ihr eine Idee, wie man vorgehen kann?

Alexis
« Letzte Änderung: 25.05.05 - 10:58:38 von Alexis »
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Wirsing

  • Senior Mitglied
  • ****
  • Beiträge: 283
  • Geschlecht: Männlich
    • METZ CONNECT
Re: Selektion bei Mehrfachwerten
« Antwort #1 am: 24.05.05 - 14:54:24 »
Hallo Alexis,

vielleicht klapp es ja damit:

( @Contains(Feldname;“T“) & !@Contains(Feldname;"TC") )


Grüsse

Holger
6 Lotus Domino Server 9.0.1(FP5-7) auf Windows 2008R2 Server
ca. 450 Clients mit 8.5.x/9.0.1

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Selektion bei Mehrfachwerten
« Antwort #2 am: 24.05.05 - 14:59:12 »
ich finde es gefährlich mit @Contains zu arbeiten, weil ein BRxTA auch ein True bei @Contains(Feldname; "TA") gibt.

wahrscheinlich mal es geht um die Ansichtsauswahl, dann probiers mal damit:
SELECT @Left(Feldname;2) != "TC" & @Left(Feldname;1) = "T"
Gruß
Dirk

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Selektion bei Mehrfachwerten
« Antwort #3 am: 24.05.05 - 15:34:29 »
Hallo Dirk, hallo Holger,

Danke für eure Mühe, leider klappt es auch so nicht.

Grund ist (vielleicht war meine Beschreibung zu kurz), dass auch bei Auftreten von TCxxx und Txxxx gemeinsam im Mehrfachfeld eines Dokumentes dieses bei der Selektion enthalten sein soll.

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Selektion bei Mehrfachwerten
« Antwort #4 am: 24.05.05 - 15:40:30 »
Dann musst Du Einträge zählen und die Anzahl vergleichen.

Select @Member( "TC" ; @Left(Feldname;2)) < @Member( "T" ; @Left(Feldname;1));

Gruß
Dirk

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Selektion bei Mehrfachwerten
« Antwort #5 am: 24.05.05 - 17:33:39 »
Pack die Formel von Antwort #2 in ein @Transform.

Die Ergebnisliste erhält dann "True" und "False" Elemente;
Wenn ein "True" in der Liste dabei ist, gehört das Dokument in die View-Selektion.

Gruß,
Uwe

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Selektion bei Mehrfachwerten
« Antwort #6 am: 25.05.05 - 10:58:12 »
Hallo Uwe,

dickes Kompliment: mit der @Transform-Funktion klappt's  :D.

Vielen Dank für Deine Hilfe. Da wäre ich nie drauf gekommen.

Alexis

wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Selektion bei Mehrfachwerten
« Antwort #7 am: 25.05.05 - 11:51:32 »
Hi,

wie sieht denn deine Select-Formel nun aus. Ich kann mir das mit dem @Transform noch nicht so richtig vorstellen.

Ist bestimt auch für die Allgemeinheit von Interesse.

Danke.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Selektion bei Mehrfachwerten
« Antwort #8 am: 25.05.05 - 12:11:42 »
Hallo Axel,

Du hast natürlich Recht mit Deinem Hinweis.

Hier also die Funktion, wie sie in meiner Applikation läuft:

SELECT (@Transform(Bereich;"Var";@Left(Var;3) = "BRG" | @Left(Var;2)="TD" | (@Left(Var;1) = "T" &! @Left(Var;2) = "TL"))

Die Selektion lässt Dokumente zu mit: "BRG", "TD" und "T" nicht jedoch Dokumente mit "TL" am  Anfang der Werte im Feld "Bereich".

Offen gestanden, durchschaue ich den Algorithmus der Funktion (noch) nicht , in der praktischen Anwendung klappt es jedoch.

Alexis
« Letzte Änderung: 25.05.05 - 12:15:28 von Alexis »
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Selektion bei Mehrfachwerten
« Antwort #9 am: 25.05.05 - 13:04:30 »
@Transform geht einfach JEDES ELEMENT der Ausgangsliste EINZELN durch
und wendet darauf die angegebene @Formel an.

Für jedes Einzelement gibt die Formel in diesem Fall @True oder @False zurück,
so dass am Ende von @Transform eine Ergebnis-Liste analog der Ausgangsliste herauskommt, in diesem Fall mit @True oder @False Elementen.

Select selber kann mit Listen umgehen,
das heißt wenn mindestens einmal @True in der Ergebnisliste vorkommt, gibt Select @True zurück und das Dokument kommt somit in die View-Selektion.

Das entscheidende an @Transform ist also das EINZELNE Durchgehen der Listenelemente.

Gruß,
Uwe
« Letzte Änderung: 25.05.05 - 13:06:36 von datenbanken24 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz