Summe aller Rechnungen eines Monats
Hallo Zusammen, wir nutzen Ninox als Rechungsprogramm und möchten gerne eine "Neue Ansicht" erstellen als Diagramm in denen die Nettosumme aller Rechnungen nach Monaten aufgeschlüsselt sind. Nach 2h rumprobieren bin ich grade leicht am verzeweifeln :D
Vielen Dank für eure Hilfe :)
13 Antworten
-
auf Anzuzeigende Spalten gehen.
Erste Spalte -Funktion:
---
yearmonth(RECHNUNGSDATUM)
---
und in Eigenschaften auf Gruppieren klicken
zweite Spalte:
---
Nettosumme
---
und auf summe klicken
Leo
-
Leider zeigt er mir den gleichen Fehler an, den ich die ganze Zeit schon hattte...
-
Ok, ich weiß was ich falsch gemacht habe. Ich hatte es nicht als Funktion hinzugefügt, sondern die Funktion der einzelnen Elemente geändert. Es funktioniert nun hervorragend. Vielen Dank Leo für den allzeit super Support!
Viele Grüße Paul
-
Noch ein nice-to-have: gibt es die Möglichkeit nur die Rechnungen zu summieren die den Status "bezahlt" oder "offen" haben?
-
ja sum((select Rechnung)[text(Status) = "Offen"].'Summenfeldname aus Rechnung')
-
ehm sorry in deinem fall war es ja bezahlt also so
sum((select Rechnung)[text(Status) = "bezahlt"].'Summenfeldname aus Rechnung')
-
Ich habe mir das gleiche in mein Dashboard gebastelt und mir werden auch die Umsatzsummen der letzten vielen Jahre angezeigt. Jetzt möchte ich zwei Datumsfelder über die Ansicht setzen und nur die Umsätze aus dem Zeitraum zwischen den beiden gesetzen Daten anzeigen lassen. Ich hab schon ne Weile rumprobiert, aber irgendwie funktioniert es nicht. Wo muss ich die Bedingung hinschrieben?
Ich hab bisher probiert folgendes in die Funktion vom Betragsfeld zu schreiben:
if Rechnungsdatum >= Dashboard.von and Rechnungsdatum <= Dashboard.bis then Betrag
und das dann in den Eigenschaften summiert. Dann wird aber gar nichts angezeigt.
Außerdem habe ich probiert folgendes in die Funktion der Diagramm-Ansicht zu schreiben:
select Rechnung where Rechnungsdatum >= Dashboard.von and Rechnungsdatum <= Dashboard.bis
Auch dann wird nichts angezeigt. Weiß jemand Rat?
-
Hallo Phil, versuch doch mal, die Filter-Werte vorher in eine Variable zu schreiben, z. B. so:
let myVon := von;
let myBis := bis;
select Rechnung where Rechnungsdatum >= myVon and Rechnungsdatum <= myBis
-
Ich versteh das zwar nicht. Aber es funktioniert. :-) Danke!
-
Ach, da gibt's eigentlich gar nicht viel zu verstehen. Ich erkläre mir das so: Solange Ninox den select-Befehl ausführt und dazu auf eine andere Tabelle (Rechnung) zugreift, kann es nicht gleichzeitig auf die Datenfelder (von, bis) der aktuellen Tabelle (Dashboard) zugreifen. Deshalb muss man Feldwerte, die man innerhalb des select-Befehls als Vergleichswerte benötigt, vorher in Variablen schreiben. Denn die behält Ninox für die gesamte Laufzeit des Scriptes im Speicher.
Weiß nicht, ob das so stimmt. Klingt aber plausibel. ;)
-
... sehe ich genauso, wobei es wohl hauptsächlich um den Umgang mit zwei Tabellen (der Skript-Ursprung und der select-Anweisung) gehen dürfte.
let my := this;
select Rechnung where Rechnungsdatum >= my.von and Rechnungsdatum <= my.bis
führt erfahrungsgemäß auch zum Erfolg.
lg, Torsten
-
ok, danke. wieder ein bisschen schlauer. :-)
-
Habe das bei mir jetzt auch schön nachbilden können. Danke erstmal!
Aber trotzdem noch eine Frage: Kann man daraus auch ein Drucklayout generieren?
Content aside
- vor 4 JahrenZuletzt aktiv
- 13Antworten
- 3739Ansichten