0

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

null
    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

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

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

    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?

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ja das funkt :) Vielen Dank! ... Ja hatten wir mit dem Durchschnitt ... dauert halt ein wenig bis ich mich "einarbeite" aber ich lerne :) Danke nochmals.

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Günther,

    sum(select TABELLENNAME [Datum>=date(2019,11,12) and Datum<=today()].'Ersparnis Heute')

    Leo

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

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

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Günther,

    wo genau und was genau möchtest du anklicken?

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    let myDate:=Datum;
    sum(select TABELLENNAME [Datum>=myDate and Datum<=today()].'Ersparnis Heute')

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Retour, Retour. Ich belasse es bei der Formel, die du mir gesendet hast, sonst wird es zu kompliziert. Passt so :) Vielen Dank Leo

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Bin ganz stolz auf mein Werk nach 4 Tagen ninox :) Es wird, es wird ... dank eurer Hilfe!!!! :) :)

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

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

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

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

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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?

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    juhu habs hinbekommen :) 

    Feld nur anzeigen wenn:

    Monatstage < Abrechnungstage

    Danbke Copytexter für den Denkanstoss :)

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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. 

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

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

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    ups - natürlich "15.4.2019" (tippvehler)

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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?

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

    Versuch's mal so:

     

    first((select Strom[Datum = date(2019, 4, 15)]).Verbrauch)

    • Gunther_Schranz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hat hervorragend funktioniert. Vielen Dank Copytexter :)

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 46Antworten
  • 4106Ansichten