Domino 9 und frühere Versionen > ND6: Entwicklung
Kategorisierte Ansicht mit verschiedenen Dokumenttypen
Driri:
Hallo,
ich stehe gerade vor folgendem Problem und ziemlich auf dem Schlauch. Gegeben sind 3 Masken in einer Datenbank.
Maske A enthält Stammdaten zu Personen (Typ : Dokument).
Maske B enthält zusätzliche Informationen zu genau einer Person (Typ : Antwort).
Maske C enthält zusätzliche Informationen zu n Personen (Typ : Dokument).
Die Verknüpfnug von Maske A und B sind klar.
In Maske C führe ich zwei Multivalue-Felder. In Feld X stehen die Namen der Personen, in Feld Y stehen die UNIDs der Personendokumente (Maske A).
Jetzt möchte ich diese Dokumente in einer Ansicht nach Person kategorisiert anzeigen. Da es ja theoretisch auch zu doppelten Namen von Personen kommen kann, wollte ich die UNID des Personendokumentes als gemeinsamen Schlüssel für die Anzeige nutzen.
Also habe ich die Ansicht wie folgt aufgebaut :
Spalte 1 = Personenname, aufsteigend sortiert, Mehrfachwerte getrennt, verborgen
Spalte 2 = UNID, aufsteigend sortiert, Mehrfachwerte getrennt, verborgen
Spalte 3 = Personenname, kategorisiert
Das funktioniert wunderbar, solange nicht in einem Dokument vom Typ C mehrere Personen in den Multivalue-Feldern aufgeführt sind. Dann tritt der Effekt auf, daß die Namen mehrfach in der Ansicht angezeigt werden.
Ich habe schon verschiedene Einstellungen für Spalte 1 und 2 ausprobiert, aber keine davon führte zum Ziel.
Läßt sich das überhaupt umsetzen ? Wenn ja, wie ? Wenn nein, gibt es Anregungen zu Alternativen ?
BigWim:
wie sieht denn die Formel in Spalte 1 "Personenname" aus?
Wenn Du "nur" den Feldnamen angegeben hast, vermute ich mal, dass Du Dir erst eine Namensliste zusammenbauen mußt. Formelsprache ist zwar nicht mein Hobby, aber sinngemäß in etwas so
--- Code: ---_N1 := FeldnameAusMaskeA;
_N2 := FeldnameAusMaskeB;
_N3 := FeldnameAusMaskeC;
_Namen := _N1 : _N2 : _N3;
@Sort (_Namen);
--- Ende Code ---
Markus
Driri:
Da hast Du mich falsch verstanden, glaube ich. In Maske A und B steht die Person in einem Single Value-Feld. In Maske C stehen n Personen in einem Multivalue-Feld.
Die Formel für die Spalte ist daher so aufgebaut :
--- Zitat ---@If(Form="MaskeA"; <FeldA>; Form="MaskeB"; <FeldB>; Form="MaskeC"; <FeldC>; "unbekannt")
--- Ende Zitat ---
WernerMo:
Hallo Ingo,
Antwort ja das geht. mehr Details später, wenn im Admincamp etwas mehr Zeit ist.
Gruß Werner
Driri:
Ich poste zur Verdeutlichung des Problems mal ein Beispiel, evtl. wird es dann klarer, was ich erreichen möchte.
Dokument A
Person = Harry Hirsch
UNID = 12345
Dokument B
Person = Harry Hirsch
$REF = 12345
(sprich : Antwortdokument zu Dokument A)
Dokument C
Personen = Harry Hirsch : Hugo Habicht : Karl Koala
IDListe = 12345 : 23456 : 34567
(sprich : Liste der UNIDs der zugehörigen Personendokumente vom Typ A)
Folgende Möglichkeiten zur Sortierung/Kategorisierung der Daten sehe ich :
1) Sortierung nach Name
Problem hier ist, daß bei Namensgleichheiten zumindest die Dokumente vom Typ C nicht mehr sauber zuzuordnen sind.
2) Vorsortierung nach UNID
Die Zuordnung der Dokumente vom Typ B und C wäre somit kein Problem, allerdings zerstört mir das natürlich die anschließende Sortierung nach Namen.
3) Kombinierte Vorsortierung nach Name + UNID
3a) Zwei verborgene Sortierspalten, 1. Spalte = Name, 2. Spalte = UNID
3b) Eine verborgene Sortierspalte, Kombination aus Name + UNID
Beide Varianten habe ich getestet, allerdings bekomme ich damit keine saubere anschließende Kategorisierung hin, d.h. ich sehe die Namen immer mehrfach.
Für Variante 3b habe ich mit einer For-Schleife versucht, die Werte aus den zwei Multivalue-Feldern entsprechend zu kombinieren.
--- Zitat ---_key:="";
@For(n:=1;n <= @Elements(UserList); n:= n+1; @If(n=1; _key := UserList[n] + UserListKey[n]; _key := _key : UserList[n] + UserListKey[n]));
--- Ende Zitat ---
Leider hat keine der Möglichkeiten zu einer befriedigenden Lösung geführt. :(
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln