0

Status von Auswahlfeldern zusammenfassen

Hallo zusammen,

ich habe mir die Muster-Projektdatenbank https://ninox.com/de/templates/projekte schon angepasst. Dort gibt es innerhalb der Projekte verschiedene Teilprojekte. Innnerhalb der Teilprojekte dann wiederum verschiedene Aufgaben.

In den Aufgaben gibt es ein Auswahlfeld „Status" mit den Werten: geplant = 1 | in Bearbeitung = 2 | abgeschlossen = 3 | aufgeschoben = 4

In den Teilprojekten möchte ich mir jetzt die Zusammenfassung der Stati der Aufgaben anzeigen lassen. Das bekomme ich ja auch schon gut mit 

min(Aufgabe.'Status Task')

hin. Allerdings möchte ich es mir etwas flexibler anzeigen lassen:

Wenn in Aufgabe.'Status Task' z.B. ein Wert in Bearbeitung = 2 dabei ist, soll auch in Bearbeitung = 2 in 'Status.Teilprojekt' angezeigt werden.
Wenn z.B. nur geplant = 1 und abgeschlossen = 3 dabei ist, soll auch in Bearbeitung = 2 angezeigt werden.
Ansonsten soll er mir min(Aufgabe.'Status Task') liefern

Ich habe schon mit Case und if versucht, aber bekomme es bisher noch nicht hin. Wie kann ich das Umsetzen? 

Danke für eure Tipps

Schönes Wochenende 

Markus

5 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Markus,

    versuch mal so:

    ---

    let myChoices:=unique(Aufgabe.'Status Task');

    if cnt(myChoices)=1 then number(first(myChoices)) else 2 end

    ---

    Leo

    • Markus.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    besten Dank - unique hatte ich vor kurzen in einem anderen Threat schon mal gelesen. Aber nicht wirklich damit in Verbindung gebracht.

    Die richtigen Nummern bekomme ich angezeigt, wie kann ich denn jetzt die entsprechenden Ausdrücke anzeigen lassen?

    Status

    Viele Grüße

    Markus

    • Markus.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Mahlzeit,

    mit dieser Anpassung

    let myChoices := unique(Aufgabe.'Status Task');
    if cnt(myChoices) = 1 then
    text(first(myChoices))
    else
    if cnt(myChoices) = 3 then
    text(last(myChoices))
    else
    "in Bearbeitung"
    end
    end

    bekomme ich zumindest mal den Wert des Statusfeldes angezeigt (das wird mit Sicherheit auch noch eleganter gehen). Kann ich auch irgendwie das Icon mit in das Ergebnis einbauen, so wie es einen Beitrag weiter oben über den Code min(Aufgabe.'Status Task') auch angezeigt wird?

    Sonnige Grüße
    Markus

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    let myChoices := unique(Aufgabe.'Status Task');
    if cnt(myChoices) = 1 then
    styled(text(first(myChoices)),"",icon(first(myChoices)))
    else
    if cnt(myChoices) = 3 then
    styled(text(last(myChoices)),"",icon(last(myChoices)))
    else
    styled("in Bearbeitung","","ball-50")
    end
    end

    ---

    Ich weiß aber nicht was für Symbol du für in Bearbeitung nutzt deswegen hier der hablgefärbten Kreis

    Leo

    • Markus.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hi Leo,

    genau so, so gefällt mir das. Perfekt! Auch wenn ich das noch nicht verstehe, warum die Reihenfolge im Code anders ist (Text - Icon) als in der Anzeige (Icon - Text).

    Ich habe schon wieder eine nächste Hürde zu übersteigen 🤨:

    Wenn ich die Formel jetzt eine Ebene höher anwende, also im Projekt den Projektstatus der Teilprojekte zusammenfassen möchte, greife ich ja nicht mehr auf die Auswahlfelder zu, sondern auf die Funktionsfelder.

    let mySTP := unique(Teilprojekt.'Status Teilprojekt');
    if cnt(mySTP) = "geplant" then
    styled(text(first(mySTP)), "", icon(first(mySTP)))
    else
    if cnt(mySTP) = "abgeschlossen" then
    styled(text(last(mySTP)), "", icon(last(mySTP)))
    else
    styled("in Bearbeitung", "", "ball-50")
    end
    end

    "Die Funktion ist nicht definiert: Icon(styled) in Zeile 3, Spalte 51

    Liegt es vielleicht daran, dass ich dort ein Funktionsfeld zusammenfasse? Oder warum funkioniert das damit nicht?

    Sonnige Grüße
    Markus