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
-
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
-
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
-
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)
-
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 -
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
-
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