0

Zahl vom Vortag summieren? / Summe aus allen Zeilen mit bestimmten Inhalt?

Hi Leute, hab zwei Fragen zur Berechnung. Hoffe ihr könnt mir helfen.

Ich habe die Felder: Datum, Bereich, Wert.

Ich erstelle jeden Tag einen neuen Datensatz mit dem aktuellen Datu, einer Zahl und wähle im Feld "Bereich":  "Bereich A" oder "Bereich B" aus.

Nun möchte ich gerne eine Berechnung hizufügen, die mir eine täglichen Summe zeigt. Also sagen wir :

Datum: 01.01.2020 -  Wert: 0 - Bereich A - Berechnung: 0

Datum: 02.01.2020 -  Wert: 50 - Bereich A - Berechnung: 50

Datum: 03.01.2020 -  Wert: 100 - Bereich A - Berechnung: 150

 

Datum: 01.01.2020 -  Wert: 0 - Bereich B - Berechnung: 0

Datum: 02.01.2020 -  Wert: 20 - Bereich B - Berechnung: 20

Datum: 03.01.2020 -  Wert: 80 - Bereich B - Berechnung: 100

 

Und dann möchte ich gerne ein weiteres Berechnungsfeld, was mir die Summe jeweils der Bereiche anzeigt, weil ich dann danach sortieren möchte. Also wäre jetzt in dem Fall Bereich A: 150 und Bereich B: 100

Die Funktion Summe in der Spaltenansicht hilft mir da nicht weiter, da ich dann nicht nach den Summen sortieren kann, daher benötige ich ein separates berechnetes Feld. 

Danke schonmal !!!

6 Antworten

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

    Hallo, alle Werte zu kumulieren, könnte so funktionieren:

    let myDate := Datum;
    sum((select TABELLE where Datum <= myDate).Wert)

    Und nach Bereichen:

    let myDate := Datum;
    let myField := Bereich;
    sum((select TABELLE where Bereich = myField and Datum <= myDate).Wert)

    Wobei die Summern-Funktion in der Spaltenansicht durchaus weiterhilft, wenn man die Ansicht nach Bereichen gruppiert. Dann werden auch die Summen der Gruppen angezeigt.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo,

    Für die dynamische Summe Bereich A:

    ---

    let me:=this;
    sum(select TABELLENNAME[Bereich=1 and Datum<=me.Datum].Wert)

    ---

    Für die gesamtsumme Bereich A:

    ---

    let me:=this;
    sum(select TABELLENNAME[Bereich=1].Wert)

    ---

    Für Bereich B einfach die Zahl auf 2 ändern.

    Leo

    • NinoxMD
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ah super vielen Dank, das hier klappt schonmal:

    ---

    let me:=this;
    sum(select TABELLENNAME[Bereich=1 and Datum<=me.Datum].Wert)

     

    Allerdings summiert er jetzt alle Datensätze was ja so ok ist weil ich gerne eine Summe erhalten will, aber ich wollte pro Datensatz den aktuellen Stand, also die Summe aller Tage davor und immer jeweils heute.

     

    Datum: 03.01.2020 -  Wert: 100 - Bereich A - Berechnung: 150

    Datum: 02.01.2020 -  Wert: 50 - Bereich A - Berechnung: 50

    Datum: 01.01.2020 -  Wert: 0 - Bereich A - Berechnung: 0

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Eigentlich sollte die Formel genau das tun: Summe aller Tage davor plus heute (Datum<=me.Datum)

    • NinoxMD
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ah ok jetzt zeigt er es an, aber ein Problem ist noch. Er zeigt jetzt in diesem Berechnungsfeld immer die gleichen Zahlen für den auswählten Bereich an. Also die Formel die ich nutze ist:

    let me := this;
    sum((select Tabelle)[Bereich = 4 and Datum <= me.Datum].Neu)

    Heißt egal welchen Bereich ich jetzt in der Tabelle auf klappe in dem Datumsverlauf von Bereich 1, 2,3, 4, steht alles das selbe drin, nämlich von den vorher definierten Bereich 4. Muss ich jetzt für jeden Bereich ein Berechnungsfeld anlegen oder kann man die Formel so umbauen, das immer autotmatisch vom gewählten Bereich die Berechnung angeizeigt wird?

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Das hat doch der Copytexter am Anfang geschrieben:

    ---

    let me := this;
    sum((select Tabelle)[Bereich = me.Bereich and Datum <= me.Datum].Neu)

    --

    Leo