0

Auswertung aus Untertabelle "x % der Aufgaben erledigt"

Hallo zusammen,

 

eine Tabelle "Aufgabe" enthält eine Untertabelle "Dokumentation". In dieser Untertabelle gibt es ein Auswahlfeld "erledigt", das die Werte 1 (nicht erledigt) oder 2 (erledigt) annehmen kann. Die Anzahl der Einträge in der Untertabelle ist für jeden Eintrag in "Aufgabe" unterschiedlich.

 

In der Tabelle "Aufgabe" soll nun ein Formelfeld "Erfolg" in Prozent anzeigen, wieviele der zugehörigen Einträge der Untertabelle "erledigt" sind im Bezug auf die jeweilige Anzahl der Unteraufgaben der Aufgabe. Also "x % der Aufgaben erledigt" (und das pro Aufgabe natürlich).

 

Der folgende Code läuft zwar fehlerfrei, aber das Ergbnis ist für jeden Eintrag derselbe. Ich weiß, es liegt an meiner "cnt(..."-Anweisung, aber ich steige einfach nicht durch die Syntax durch. Kann mir jemand helfen?

 

let alle := cnt(select Dokumentation);
let erledigt := cnt(select Dokumentation where erledigt = 2);
let wert := format(erledigt / alle * 100, "0");
if wert < 1 or alle < 1 then
styled("0 %", "")
else
if wert > 0 and wert < 50 then
styled(text(wert) + " %", "red")
else
if wert > 49 and wert < 99 then
styled(text(wert) + " %", "orange")
else
if wert > 99 then
styled(text(wert) + " %", "green")
end
end
end
end

Danke im Voraus!

 

Stephan

3 Antworten

null
    • sdewes
    • vor 2 Jahren
    • Gemeldet - anzeigen

    SORRY, hier der Code nochmal wegen der Verwirrung um die Variable "erfolgreich". Tut aber nix zur Sache, Ergebnis und Effekt sind derselbe:

     

    let alle := cnt(select Dokumentation);
    let erfolgreich := cnt(select Dokumentation where erledigt = 2);
    let wert := format(erfolgreich / alle * 100, "0");

    • sdewes
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ok. Hab's dann doch irgendendwie durch stundenlanges Probieren herausgefunden. Das Handbuch hat echt noch Luft nach oben... Die Lösung lautet

     

    let alle := cnt(Dokumentation);
    let erfolgreich := cnt(Dokumentation[erledigt = 1]);
    let wert := format(erfolgreich / alle * 100, "0");

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo sdewes
    Ich kann dir nur die Datenbank 0001_Ninox-Reference im Team 'Webinar DE 2021' empfehlen.
    Dort sind alle zur Zeit bekannten Script-Befehle mit Beschreibung, Wirkung und Beispielen aufgeführt,
    Solltest du ein Cloud-Abo haben, lass dich durch den Ninox-Support in dieses Team einladen um die Datenbank zu nutzen.

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 3Antworten
  • 367Ansichten