Monatswert aus einer Spalte
Guten Morgen :)
Ich hoffe die Frage ist nicht zu banal. Ich bin begeistert vonninox, aber quasi Einsteiger bei db und arbeite nun seit 3 Tagen mit ninox. Also: Ich habe eine Tabelle erstellt und eine paar Spalten befüllt. In der ersten Spalte ist das tägliche Datum seit 1.1.2018. In der zweiten Spalte die täglichen Temperatur zum jeweiligen Datum. Nun möchte ich in einer neuen Spalte die durchschnittlichen Monatswerte der zweiten Spalte (tägliche Temperatur) dargestellt haben. Die Formel soll also aus der ersten Spalte das Monat aus dem Datum ablesen und die dem jeweiligen Monat zugeordnete Mitteltemperatur darstellen. Ich habe stundenlang das Forum gelesen und diverse Formeln ausprobiert, mit avg ... yearmonth etc. kriegs aber einfach nicht hin.
Kann mir wer helfen? Liebe Grüße, Günther
46 Antworten
-
Danke Copytexter, das hab ich auch bereits versucht ... allerdings ist das die komplette Summe der Spalte - ich möchte ja einen monatlichen Auswurf (aktueller Monat)?!?
-
Ach so, sorry. Es ging ja um "monatliche" ...
Aber hatten wir das nicht schon zu Anfang? Nur mit Durchschnitt und Temperatur? Sähe aber genauso aus:
let myMonat := yearmonth(Datum);
sum((select TABELLE where yearmonth(Datum) = myMonat).Verbrauch)
Oder geht's um was anderes?
-
Ja das funkt :) Vielen Dank! ... Ja hatten wir mit dem Durchschnitt ... dauert halt ein wenig bis ich mich "einarbeite" aber ich lerne :) Danke nochmals.
-
Es wird :) Macht Spaß mit ninox zu arbeiten, habe jedoch wieder ein kleines Problemchen: Möchte mir die Summe einer Spalte seit einem Datum bis heute ausrechnen lassen. Konkret geht dabei um eine Ersparnis. Pro Tag, pro Monat und pro Jahr hab ich bereits geschafft. Allerdings steh ich nun an ... hab das Forum durchwühlt aber nichts passendes gefunden. Wie würde die Formel lauten?
Konkret gehts dabei um den 12.11.2019 bis heute (eben von Datum bis aktuell, laufend). Habe eine Tabelle mit "Ersparnis Heute" - aus der möchte ich die Summe ableiten. -
Hallo Günther,
sum(select TABELLENNAME [Datum>=date(2019,11,12) and Datum<=today()].'Ersparnis Heute')
Leo
-
Vielen Dank Leo ... funkt :) ... allerdings bleibt das Ergebnis auch, wenn ich zb den 4.2. anklicke ... kann man die Formel so ummodellieren das es bei anklicken eines Datum (zb 4.2.2020) die ersparnis bis zu diesem Tag anzeigt (der dann das "bis Heute" darstellen soll)?
-
Hallo Günther,
wo genau und was genau möchtest du anklicken?
-
let myDate:=Datum;
sum(select TABELLENNAME [Datum>=myDate and Datum<=today()].'Ersparnis Heute') -
Konkret: Ich habe Tabellen mit Energiekosten Ersparnis, die funktionieren alle soweit perfekt. Nun möchte ich mir anzeigen lassen wieviel € ich bereits gespart habe seit der Ummeldung auf einen anderen Stromanbieter. Das war am 12.11.2019. Nun ... Ersparnis pro (aktuellem) Monat funkt. Ersparnis pro (aktuellem) Jahr funkt. Nun möchte ich noch einen dritten Wert haben der mir eben anzeigt wieviel Ersparnis bereits insgesamt vorhanden ist. Mit der ersten Formel funktioniert das auch perfekt. Allerdings - wenn ich auf ein anderes Datum klicke bleibt der Wert gleich, dieser sollte sich aber ändern und genau die ersparten Betrag anzeigen vom 12.11.2019 bis zu besagtem angeklickten Datum.
Wenn ich beispielsweie auf "Ersparnis pro Monat" klicke, wird die Ersparnis im aktuellen Monat angezeigt. Klicke ich auf ein Datum in einem anderen Monat ändert sich der Wert eben zu diesem angeklickten Monat, was so gewollt ist.
So sollte sich ach der Wert in besagtem Feld ändern, so dass der jeweilige Wert angezeigt wird bis zum angeklickten Tag, zb von 12.11.2019 bis 2.1.2020 oder von 12.11.2019 bis 3.12.2019 ... usw ... hoffe ich hab das verständlich rüber gebracht :) Liebe Grüße -
Retour, Retour. Ich belasse es bei der Formel, die du mir gesendet hast, sonst wird es zu kompliziert. Passt so :) Vielen Dank Leo
-
Bin ganz stolz auf mein Werk nach 4 Tagen ninox :) Es wird, es wird ... dank eurer Hilfe!!!! :) :)
-
Ich habe nun eine Prognose erstellt - siehe Bild ... ist es irgendwie möglich, und wenn ja, wie - das diese Prognose nur im laufenden Monat angezeigt wird? Sprich, in Monaten die abgerechnet sind soll sie verborgen werden und nur im laufenden Monat, das eben noch nicht abgerechnet ist, soll diese angezeigt werden. Habe das Feld "nur anzeigen wenn" entdeckt, weiss aber, als newbie, grad nicht wie ich damit verfahren soll hm? Please help :)
-
Bei "Nur anzeigen, wenn" kann man halt eine Bedingung angeben. Wenn es also bspw. um den aktuellen Kalendermonat geht, könnte die Bedingung so formuliert werden:
yearmonth(Datum) = yearmonth(today())
Wenn der Abrechnungszeitpunkt anders definiert ist, so bräuchte man zur Formulierung der Bedingung einen entsprechenden Bezug. Zum Beispiel ein Ja/Nein-Feld namens "Abgerechnet". Dann würde der Eintrag bei "Nur anzeigen, wenn" lauten:
Abgerechnet != true
In diesem Fall würde das Feld in allen Datensätzen anzeigt, bei denen das Ja-/Nein-Feld "Abgerechnet" noch nicht auf "Ja" gesetzt wurde. Man muss sich also überlegen, von welchen Werten man das Anzeigen abhängig machen will. Es wäre durchaus möglich, eine Bedingung zu formulieren, nach der das betreffende Feld oder Gestaltungselement nur Donnerstags zwischen 11 und 14 Uhr angezeigt wird, und auch nur, wenn der Wert im Feld X größer 1000 ist und mindestens 20 Datensätze erstellt wurden. Nur so als Beispiel ...
-
Ah danke Copytexter, das würde bedeuten, in diesem Fall, könnte man als Bedingung stellen:
Wenn die "Anzahl der Abrechnungstage" (die ich ja als Ausgabefeld habe) weniger ist als die Monatstage (ein weiteres Ausgabefeld, das existiert) dann "anzeigen" ... sind die "Abrechnungstage = Monatstage" dann "nicht anzeigen"? Wäre das eine Möglichkeit und wie mach ich das?
-
juhu habs hinbekommen :)
Feld nur anzeigen wenn:
Monatstage < Abrechnungstage
Danbke Copytexter für den Denkanstoss :)
-
Und schon steh ich wieder "an" ... vermutlich sehr banal, aber trotzdem hab ich nix im Forum gefunden (hab brav ca. 30 min gesucht) ... ist es möglich den Inhalt eines Feldes einfach in einem anderen darstellen zu lassen? Quasi "copy" oder verknüpfung ... ist im Grunde egal da der Wert nicht mehr geändert wird, ich ihn aber für eine Berechnung brauche. Bitte um Hilfe.
-
Etwas genauer: Ich möchte aus der Tabelle "Strom" den Wert "Verbrauch" vom Datum "15.4.209" in einer anderen Tabelle verwenden ... ich versuchs grad ob ich hinkriege ...
-
ups - natürlich "15.4.2019" (tippvehler)
-
text((select Strom)[Datum >= date(2019, 4, 15)].Verbrauch)
Das funktioniert mal ... aber ... es wird zwar die Zahl angezeigt, aber danach in einem langen Schlauch auch weitere Zahlen ... also nicht das was ich suche, was genau mach ich falsch?
-
Versuch's mal so:
first((select Strom[Datum = date(2019, 4, 15)]).Verbrauch)
-
Hat hervorragend funktioniert. Vielen Dank Copytexter :)
Content aside
- vor 4 JahrenZuletzt aktiv
- 46Antworten
- 4180Ansichten