0

Datensätze für ein KalenderJahr berechnen

moin moin,

dies ist sicherlich eine sehr dilettantische Frage:

Für mein Fahrtenbuch erstelle ich bei jedem Tankvorgang einen Datensatz. Aus statistischen Gründen möchte ich die Summe der Daten für "Füllung ltr" oder "Füllung Preis" für das jeweilige Kalenderjahr in einem Feld im Kalenderreiter zur Anzeige bringen. Leider habe ich sowieso Probleme in der Summenbildung dieser Einzel-Kategorien, speziell für das jeweilige Jahr.

Könnten Sie mir einen Tip geben, dieses Problem für mich zu lösen? 

 

Mit bestem Dank

10 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo kman,

    was meinst du mit dem Kalenderreiter? Wenn du nur eine Tabelle hast (Datum, "Füllung ltr", "Füllung Preis") dann kannst du noch zusätzlich zwei Berechnungsfelder einfügen.

    1. "Jahressumme Füllung ltr" mit der Formel:

    ---

    let myYear:=year(Datum);

    sum (select 'DEINE TABELLE' where year(Datum)=myYear.'Füllung ltr')

    ---

    2. "Jahressumme Füllung Preis" mit der Formel:

    ---

    let myYear:=year(Datum);

    sum (select 'DEINE TABELLE' where year(Datum)=myYear.'Füllung Preis')

    ---

    'DEINE TABELLE' musst du natürlich mit deinem Tabellennamen ersetzen

    Leo

    • kman
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke Dir für den Tip. So macht das Sinn. Mir fehlt leider immer noch ein wenig Gefühl für die Programmierung in Ninox.

    ps.

    Ich meinte das Gestaltungselemnet "Karteireiter". Mein Fehler...

     

    Mit LG

    • kman
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo nochmals...

    Hm, bin ich zu blöd?

    Jetzt kommt dieser Fehler. Welches Symbol wird am Ende der zweiten Zeile erwartet?

    Symbol erwartet:, in Zeile2, Spalte 59

    let myYear := year(Datum);
    sum (select 'Benzin' where year(Datum)=myYear 'Füllung ltr')

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

    Hallo, versuch's mal so:

     

    sum((select Benzin where year(Datum)=myYear).'Füllung ltr')

    • kman
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke Copytexter.

     

    So bekomme ich ein Ergebnis

    • kman
    • vor 5 Jahren
    • Gemeldet - anzeigen

    so bekomme ich die Summe der "Füllung ltr" über alle Jahre. Angenommen ich will aber beispeilsweise nur die Summe des Jahres 2018 angezeigt bekommen?

    Muss ich dann year(Datum)=myYear verändern?

    • kman
    • vor 5 Jahren
    • Gemeldet - anzeigen

    So sieht es jetzt aus:

     

    let myYear := year(Datum);
    sum((select "Benzin" where year(Datum) = myYear).'Füllung ltr')

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Du musst nichts ändern,

    Wenn dein Datum sich in 2018 befindet, werden alle Summen aus 2018 gezählt. Erstell einen Datensatz und schreir das datum z.B. 01.01.2019. Du wirst sehen dass die Summe enweder 0 oder eben die Zahl aus diesm Datensatz anzeigt.

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

    Wobei ich noch die doppelten Anführungszeichen bei "Benzin" entfernen würde. Tabellen- und Feldnamen müssen nur dann in einfache(!) Anführungszeichen gesetzt werden, wenn sie Sonderzeichen wie Umlaute, Bindestriche oder auch Leerzeichen enthalten. Der Feldname 'Füllung ltr' muss also in einfache Anführungszeichen gesetzt werden (enthält Umlaut und Leerzeichen), der Tabellenname Benzin nicht (keine Sonderzeichen). Doppelte Anführungszeichen wie in deinem Code beim Tabellennamen "Benzin" müssten immer zu einer Fehlermeldung führen.

    • kman
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke an Leonid und den Copytexter.

     

    Jetzt werde ich mir wohl weiterhelfen können. Sonst melde ich mich nochmals...

    Schönes Wochenende

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 10Antworten
  • 2266Ansichten