0

Summe eines Zahlenfeldes mit Abfrage einer Bedingung

Ich bin einmal wieder am verzweifeln einer wahrscheinlich einfachen Formel.

ich habe eine Tabelle Books in der wird in BookValue ein € Bertrag als Zahl gespeichert. 

Dann habe ich eine Tabelle Status mit einem Datenfeld Status und dort drei Werte eingegeben

(Eigentum, Owner,Wishlist)

sum((select BOOKS).BookValue) Gibt mir die Summe aller Werte aus BookValue. Wie muss die Formel geändert werden, dass ich nur die Werte bekomme, wenn Wishlist ausgewählt wurde.

sum(select(Status[Status = "Wishlist"].BookValue)) damit  oder Wishlist ohne Hochstriche funktioniert es nicht.

Danke

Wolfgang

6 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Wolfgang. Man kann ein Auswahlfeld auf zwei Wege ansprechen. 

    1. Nach ID fragen. Hier wäre entweder Status=1 oder number(Status)=1. Die letzte Möglichkeit ist meiner Meinung nach die sicherere.

    2. Nach Inhalt fragen. Dann ist die Formel text(Status)="Wischlist".

    Ich arbeite lieber mit IDs. Falls ich später die Begriffe bei dem Auswahlfeld ändern möchte (z.B. von Wishlist auf Wunschliste) muss ich nicht in Skripten überall suchen.

    Leo

    • Wolfgang
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leo, trifft das auch zu, wenn es kein Auswahlfeld sondern nur ein Datenfeld ist. Bei mir ist es so

     

    Vielleicht sollte ich noch dazu sagen, dass ich die Berechnung aus einer nicht verbunden Tabelle(Cockpit) mache.

    Wie heißt die Syntax denn dann komplett?

    sum((select BOOKS).BookValue) where select(Status).Status=1)

    sum((select BOOKS).BookValue) where select(Status).number(Status)=1 Da wird ein Ende erwartet

    Beides funktioniert nicht. Ich stehe nachwievor mit der Syntax auf Kriegsfuß 

    Wolfgang

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

    Guten Morgen, verstehe ich das richtig: In der Tabelle Cockpit gibt es ein Auswahlfeld, nach dessen gewählter Option die Tabelle BOOKS gefiltert werden soll? Falls ja, sollte man den Textwert des Auswahlfeldes zunächst in eine Variable übernehmen und diese dann als Vergleichswert für das Textfeld 'Status' in der Tabelle Books einsetzen:

    let myStatus := text(AUSWAHLFELD);
    sum((select BOOKS where Status = myStatus).BookValue)

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

    Die Syntax beim select-Befehl zur Auswertung eines bestimmten Datenfeldes einer externen Tabelle lautet übrigens immer:

    FUNKTION((select TABELLE where BEDINGUNG).DATENFELD)

    FUNKTION = sum, first, max, avg etc. pp.
    TABELLE = Name der Tabelle, die angesprochen werden soll
    BEDINGUNG (optional) = Vergleichsabfrage zum Filtern der Daten (mehrere mit 'and' bzw. 'or')
    DATENFELD = Exakter Name des betreffenden Feldes in TABELLE

    • Wolfgang
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Cooytexter nein ich habe kein Auswahlfeld, sondern nur ein Berechnungsfeld in dem ich mir sämtliche Werte als Summe anzeigen möchte, wenn die Bedingung Status Wishlist erfüllt ist. Und egal, welche der Vorschlöge ich eingebe, macht die Formel nicht das was ich will.😤 Ich habe s zwar schon geschaft ein Ja oder nein bei der Auswahl zu bekommen, aber den Teilwert rechnet er mir nicht an.

    Wolfgang

    • Wolfgang
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Yep ich habe es, diese Syntax habe ich gebraucht

    ---

    sum((select BOOKS)[Status = 3].BookValue)

    ---

    Wenn man weiß wie es geht ist es ganz einfach 😜

    Nochmals Danke für die Hilfe, ich habe noch nie so ein gutes Forum kennengelernt, wo man wirklich richtig gut hilft.

    Wolfgang

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 6Antworten
  • 2784Ansichten