0

Berechnung einer Gesamtsumme bei monatsübergreifendem Datum

Hallo liebe Community,

ich hab wirklich alles versucht, aber ich krieg es einfach beim besten Willen nicht hin - vielleicht hat jemand eine Idee .. ich bin noch ein ziemlicher Newby, aber bis jetzt hab ich alles hingebracht.

Ich habe eine Datenbank gebaut für Hotelbuchungen. Dort wird jede Buchung eingetragen und nun möchte ich alle möglichen Auswertungen machen. Bei einer beisse ich mir nun die Zähne aus - nämlich, den korrekten Monatsumsatz zu ermitteln, wenn eine Buchung monatsübergreifend ist (als Beispiel 31.01.-02.02. - wo die Tage nicht zum Januar, sondern zum Februar gezählt werden sollen).

Ich habe eine Tabelle DATENERFASSUNG und dort 2 Datumsfelder, einmal CheckIn und einmal CheckOut. Weiters die Gesamtsumme der Buchung, dieses Feld heisst IncomeGesamt.

In der Tabelle DETAIL-AUSWERTUNGEN mache ich sämtliche Auswertungen. Dort habe ich 2 Datumsfelder kreiert, StartDate und EndDate, welche sich auf die CheckIn und CheckOut-Felder aus der Tabelle DATENERFASSUNG beziehen sollen.

Mit meiner ursprünglichen Formel, die ja einfach war, habe ich einfach vom Monatsersten bis Monatsletzten gerechnet ... aber dabei nicht bedacht, dass ich mit allen Buchungen ein Problem habe, die in einem Monat beginnen und im anderen enden, da diese dann natürlich unter den Tisch fallen.

Und egal, was ich versuche, ich bekomme entweder für den Januar oder den Februar den falschen Umsatz - beim einen Versuch rechnet er mir die Buchung 31.01.-02.02. zum Januar dazu, beim nächsten zum Februar. Ich finde einfach keine Lösung für eine korrekte Formel.

Vielleicht hat ja jemand schon mal mit einem solchen Problem gekämpft oder ist so weise, mir damit zu helfen.
 

1000 Dank schon mal im voraus.
Thomas 

3 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 19 Stunden
    • Gemeldet - anzeigen

    Hallo Thomas, wenn der Anreisetag entscheidend ist, welchem Monat der Umsatz zugeordnet wird, dann könntest du abfragen, ob sich der Monat von An- und Abreisetag unterscheidet, und mit folgender Formel die Anzahl der Übernachtungen in beiden Monaten berechnen, mit dem Übernachtungspreis multiplizieren und den entsprechenden Monaten zuordnen:

    if month(Von) != month(Bis) then
       let myN1 := days(Von, date(year(Bis), month(Bis), 1));
       let myN2 := days(date(year(Bis), month(Bis), 1), Bis);
       ...
      • Thomas_Horl
      • vor 17 Stunden
      • Gemeldet - anzeigen

       Hallo & vielen Dank erst mal. Nein, es ist eigentlich nicht der Anreisetag, welcher entscheidend ist. 31.1.-2.2. ist vermutlich auch das schlechteste Beispiel.

      Nehmen wir z.B. eine Buchung mit 4 Nächten, 28.06.-02.07.

      Das wären dann 2 Nächte im Juni und 2 im Juli. Ich komm einfach auf keinen grünen Zweig, wie ich es anstellen könnte, hier eine korrekte Abfrage für den monatlichen Umsatz zu erstellen, in welcher, wenn ich 01.-30.06. abfrage, die 2 Tage vom Juni bzw. bei 01.07.-31.07. die 2 Nächte vom Juli inkludiert sind.

      Ich hab auch schon rumprobiert, ob ich das nicht vielleicht schon direkt im Datensatz der jeweiligen Buchung mit einer Formel irgendwie aufsplitten könnte - aber auch da will mir einfach absolut nichts gelingen. 

      • Ninox-Professional
      • planoxpro
      • vor 17 Stunden
      • Gemeldet - anzeigen

       Ok, dann versuch's mal mit folgenden Formeln:

      let myN1 := days(Von, date(year(Von), month(Von) + 1, 0));
      let myN2 := days(date(year(Bis), month(Bis), 0), Bis);

Content aside

  • vor 17 StundenZuletzt aktiv
  • 3Antworten
  • 25Ansichten
  • 2 Folge bereits