dmulti zeigt nicht alle Auswahlmöglichkeiten an
Hallo,
auf einer Dashboardseite möchte ich gerne eine Tabelle(LISTEN) als Ansicht anzeigen lassen, mit der Möglichkeit vorab über dmulti zu filtern.
Insgesamt sind es drei dmulti, die vor der Ansicht als Filter dienen. Diese kommen aus einer Tab AUFGABEN, die als Hilfstabelle dient, und auch als Auswahl in der Tab LISTEN eingesetzt werden. Die Felder dort sind alle normale Auswahlfelder und ein Textfeld.
Im Dashboard sowie in der Tab LISTEN habe ich das Problem, das die Filter nur so halb funktionieren. In der Tabelle AUFGABEN sind die Aufgaben alle mehrfach vorhanden, im Anhang die Tabelle als CSV.
Bei den Codes habe ich mich an dem Beitrag und der Datenbank orientiert:
https://forum.ninox.de/t/60h0rxg/multi-dmulti-array
Das erste dmulti sieht so aus, das funktioniert:
let uniqueArray := unique((select Aufgaben).Kategorie);
sort(for i in uniqueArray do
first((select Aufgaben)[Kategorie = i])
end)
Bei der zweiten Filterung wird beim auswählen von zwei oder drei Feldern im ersten dmulti nichts mehr angezeigt. Wenn ich nur eines auswähle, werden die richtigen Auswahlmöglichkeiten dazu angezeigt?
let activNumbers := text('Filter Kategorie');
let uniqueName := unique((select Aufgaben).Aufgabe);
for i in uniqueName do
first((select Aufgaben)[Kategorie = activNumbers][Aufgabe = i])
end
Mit anderen Codes aus der Beispieldatenbank MultiDmulti bekomme ich es auch nicht hin, dann werden zum Teil alle Auswahlmöglichkeiten angezeigt, also nicht unique.
Hat da jemand eine Idee?
Gruß Mirko
14 Antworten
-
Hallo Mirko,
schau mal hier, da war das gleiche Problem:https://forum.ninox.de/t/q6hsbsa/tabelle-mit-dynamischen-mehrfachauswahlfeld-vergleichen
Das hat mich zur Lösung geführt.
Grüße Maurice
-
Hallo Maurice,
ich glaube das passt nicht auf mein Fall. Bei mir ist es ja nur eine Ansicht, die ich filtern will auf einer Seite, nicht in einer Tabelle.
Gruß
Mirko
-
Hi Mirko. Soweit ich es verstehe, willst Du eine Ansicht zu einer Tabelle filtern über mehrere dmulti-Felder. Exemplarisch sieht dann der Code für die zwei dmulti und das Ansichtenfeld so aus. Mirko
let uniqueName := unique((select Aufgaben).Aufgabe); for i in uniqueName do first(select Aufgaben where Aufgabe = i) end
let uniqueName := unique((select Aufgaben).Kategorie); for i in uniqueName do first(select Aufgaben where Kategorie = i) end
let auf := split(text(Aufgaben), ", "); let kat := split(text(Kategorien), ", "); select Aufgaben where contains(auf, Aufgabe) and contains(kat, Kategorie)
-
Hallo Mirko,
ja, ich will in der Ansicht nur Datensätze sehen, die nach zwei oder drei Filtern, die Datenfelder in der CSV Aufgaben, die ich oben angehängt habe. Das ist sozusagen die Hilfstabelle, auf die ich von verschiedenen Seiten/Tabellen drauf zurück greifen möchte.
Die Felder Kategorie und Aufgabe sind jeweils Auswahlfelder, das Feld Arbeit ein Textfeld.
Als erster Filter soll die Kategorie ausgewählt werden, es sind drei verschiedene Kategorien zurzeit.
Als zweiter Filter dann die Aufgaben, die nach Auswahl einer oder mehreren Kategorien dementsprechend den Datensätzen Kategorie aus der Tabelle Aufgabe zugeordnet sind.
Jetzt ist es ja so, das z.B Rasen mähen als Aufgabe öfter vorkommt, und das in zwei oder auch drei verschiedenen Kategorien, mit jeweils verschieden Arbeiten dazu. Die Aufgaben sollen aber nur unique angezeigt werden.
Wenn ich im ersten dMulti nur eine Kategorie auswähle, zeigt er mir auch die richtigen Aufgaben mit dem Code oben unique an, sobald ich aber zwei oder drei Kategorien, zeigt er nichts mehr an. Bei anderen Codeversuchen hat er dann nicht die Datensätze unique angezeigt, es soll ja Rasen mähen wenn dann nur einmal als Aufgabe vorkommen, bei dem dritten dMulti dann die verschiedenen Arbeiten.
Gruß Mirko
-
Schau mal ob Du es so meinst. Natürlich ist der Code für die Ansicht auf Deine Tabelle hin noch zu ändern.
-
Hallo Mirko,
von der Grundidee genau so, aber die Codes funktionieren nicht, da bei mir in der Tabelle Aufgaben die Felder Kategorie und Aufgaben ja Auswahlfelder sind.
Wenn es da keinen Code für gibt, dann muss ich es wohl doch alles händisch in Textfelder eingeben, wobei da immer die Gefahr von Schreibfehlern lauert!
Gruß Mirko
-
Bei der Übernahme des Codes mußt Du auch auf den "Name des dynamischen Werts" achten. (text(Auswahlfeld)). Störe Dich nicht an den jetzt fehlerhaften Inhalten der Aufgabentabelle. Ist nur das Prinzip, um das es hier geht. Mirko
-
Hallo Mirko,
vielen Dank mal wieder für Deine Hilfe, das klappt super!
Auf diese Variante mit dem split wäre ich nicht gekommen.
Gruß Mirko
Content aside
- Status Answered
- vor 3 StundenZuletzt aktiv
- 14Antworten
- 86Ansichten
-
4
Folge bereits