0

Bestimmtes Feld ausschließen

Hallo zusammen,

geht es irgendwie, das wenn in einer Spalte die Checkbox auf Ja also aktiv ist, das die Zeile bei der Berechnung ignoriert oder ausgeschlossen wird, sozusagen einfach übersprungen wird?

Ich lass mir in einem Tabellenfeld immer mit last() die letzte anzeigen, aber ich möchte eben nicht die letzte angezeigt bekommen, wenn die Ckeckbox auf Ja ist.

 

Ich hoffe ihr könnt mir irgendwie helfen, denn ich komme gerade nicht weiter.

Vielen Dank!

12 Antworten

null
    • BugTrapper
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Tabellenname: SummeMitBedingung

    Ja/Nein-Feld: in Berechnung aufnehmen ?

    Zahlenfeld : Zahl

    Funktionsfeld:

    sum((select SummeMitBedingung)['in Berechnung aufnehmen ?' = true].Zahl)

    berechnet die Summe aus den Zahlen, bei denen der Schalter auf Ja (true) steht.

    • David
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Eine Summe möchte ich aber nicht berechnen.

    Mit last() lasse ich mir die Zeile mit dem aktuellen Datum anzeigen. Wenn in dieser Zeile aber die Checkbox auf Ja ist, dann soll diese Zeile übersprungen werden und das nächste aktuelle Datum angezeigt werden.

    Geht das irgendwie? 🙂

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo, schon mal versucht, "sum" einfach durch "last" zu ersetzen? Falls erforderlich, ließe sich beim select mit "order by" auch noch die Sortierung der Datensätze festlegen.

    • BugTrapper
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich weiss nicht richtig, was er meint, was soll nach last() noch kommen ?

    Oder möchte er sum() durch max() ersetzt haben ?

    Oder möchte er nach dem letzten Datensatz einen neuen angelegt haben ?

     Was ist ein Tabellenfeld ? Ein Ansichtsfeld ?

    Du müsstest da etwas präziser werden :-)

    • Notarztdienste_BW
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Denke er meint:

    last((select SummeMitBedingung)['in Berechnung aufnehmen ?' = true].Zahl)

    • David
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Der Vorschlag von Notarztdienste BW geht glaub ich schon mal in die richtige Richtung.

    Zur Verdeutlichung hab ich mal einen Screenshot angehängt.

     

    In der Untertabelle Zuteilungen gibt es bei jedem Eintrag den Zuteilungsstatus, entweder Zugeteilt oder Verfügbar.

    Dieser wird mit last(Zuteilungen.Status) in Alle Gebiete angezeigt.

    Jetzt möchte ich aber, das wenn das eine Aktion ist, die sozusagen auf Ja is, dann übersprungen/ignoriert wird. 

    Denn hier wird eben auch gerade der Status verfügbar angezeigt, obwohl der falsch ist, weil Zeile 2 in diesem Gall den aktuellen Zuteilungsstatus angibt.

    Ich hoffe es ist jetzt etwas verständlicher. 🙂

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich gehe mal davon aus, dass 'Status' ein im Screenshot nicht sichtbares Feld der Untertabelle 'Zuteilungen' ist. Dann könnte es so funktionieren:

    last(Zuteilungen[Aktion != true]).Status

    Mir ist allerdings immer noch nicht klar, welcher Datensatz mit "last" angesprochen werden soll: Der zuletzt eingetragene ('Nr'), der mit dem höchsten Datumswert bei 'Ausgegeben' oder ...? Das könnte man, wie oben schon gesagt, mit 'order by' beeinflussen, z. B. so:

     

    last(Zuteilungen[Aktion != true] order by Ausgegeben).Status

    Statt des Datumsfeldes "Ausgegeben" könnte man nach "order by" auch jedes andere Feld namentlich zur Sortierung heranziehen. Aus dieser Sortierung ergibt sich dann die jeweilige Reihenfolge der gefilterten Daten mit einem ersten (first) und einem letzten (last) Datensatz.

    • David
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Vielen Dank Copytexter, der erste Lösungsansatz hat funktioniert!

    • Stephan_Haumann
    • vor 3 Jahren
    • Gemeldet - anzeigen

    @Copytexter: Was ist für "order by x" der Befehl für die umgekehrte Sortierreihenfolge?

    Danke und liebe Grüße

    Stephan

    • Stephan_Haumann
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ...weil sowas wie "order by X ASC" oder "order by X DESC" geht ja nicht...🤷🏼‍♂️

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Stephan, m. W. gibt es leider noch keine Möglichkeit, beim "order by" die Sortierreihenfolge zu ändern. Für Arrays hingegen gibt es sort() und rsort(). Je nach Aufgabenstellung lässt sich die Sortierung also vielleicht über diesen Weg realisieren.

    • Stephan_Haumann
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Alles klar, danke Dir!

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 12Antworten
  • 2333Ansichten