Datumsfunktion und Division mit Datumsergebnis
Hallo Forum,
Aufgabe war es aus dem Wasserverbrauch die Differenz zur letzten Ablesung , die Anzahl der Tage seit der letzten Ablesung und den durchschnittlichen Verbrauch pro Tag zu rechnen.
Anzahl der Tage rechnet er teilweise auf Minute so dass Tage plus Stunden angezeigt werden. Durchschnittlichen Verbrauch rechnet er gar nicht vermutlich unterschiedliche
Feldeigenschaften (Zahl und Zeit).
So sieht die Tabelle aus (siehe unten, hoffe das Bild ist besser lesbar wenn geöffnet): Die Felder, die im Namen Funktion tragen, sind die durch Ninox berechneten Felder. Die Felder links davon sind die Daten, die ich aus excel gerechnet und importiert hatte , sozusagen die Kontrolle und Basisdaten.
1. Frage: Warum rechnet er die Tage teilweise in Stunden um. Das kommt in diesem Feld öfter vor.
2. Den Durchschnittsverbrauch rechnet er gar nicht. Das ist das Script :
Verbrauch_Funktion / Tage_Funktion
Wer im Forum kann mir weiterhelfen? Und wenn Sie eine Lösung schicken, wo kann ich die im Handbuch finden?
Herzlichen Dank und schöne Grüße Faik
5 Antworten
-
Hallo Faik, das Problem entsteht vermutlich(!) dadurch, dass in 'Tage_Funktion' einfach mit der Formel "Datum - Vordatum" gerechnet wird. Nimmt man statt dessen die Funktion days(), sollte es funktionieren:
days(Vordatum, Datum)
Damit bekommt man einen rein numerischen Wert, mit dem dann auch weitere mathematische Operationen durchgeführt werden können.
-
Danke Copytexter wie immer für die super schnelle Antwort. Stehe aber noch auf dem Schlauch. Mir ist nicht klar, wo ich die Funktion days(Vordatum, Datum) einsetzen kann?
Das Feld Tage_Funktion wird folgendermaßen ermittelt, wie der Verbrauch pro Tag (mit den entsprechenden Feldnamen) im übrigen auch. Dann soll mit beiden weiter gerechnet werden.
let my := this;
let akt_Feld_X := my.Datum;
let letztes_DS_Feld_X := last((select Wasserverbrauch where Messung < my.Messung) order by Messung).Datum;
akt_Feld_X - letztes_DS_Feld_X -
Hi,
in der letzten Zeile müsste es dann heissen
days(letztes_DS_Feld_X, akt_Feld_X)
lg, Torsten
-
Genau. Damit werden sich wahrscheinlich automatisch auch die Werte des Berechnungsfeldes 'Verbrauch pro Tag_Funktion' ändern. Um auch noch das "Infinity" bei Nullwerten wegzubekommen, könnte man die Formel zur Berechnung des durchschnittlichen Tagesverbrauchs wie folgt ergänzen:
if Verbrauch_Funktion > 0 and Tage_Funktion > 0 then
Verbrauch_Funktion / Tage_Funktion
end
-
Ein ganz großes Dankeschön! Funktioniert! Bin wirklich beeindruckt von Eurer schnellen und kompetenten Reaktion. Schöne Ostern!
Content aside
- vor 4 JahrenZuletzt aktiv
- 5Antworten
- 735Ansichten