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
-
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); ...
Content aside
- vor 17 StundenZuletzt aktiv
- 3Antworten
- 25Ansichten
-
2
Folge bereits