let | |
fn = (MyDate as date, StartMonat as text) => | |
let | |
Startmonatsnummer = | |
List.PositionOf( | |
{"januar", "februar","märz","april","mai","juni", "juli", "august", "september", "oktober", "november", "dezember"}, | |
Text.Lower(StartMonat) | |
) + 1, | |
Offset = Startmonatsnummer -1, | |
AtuellerKalendermonat = Date.Month(MyDate), | |
Geschaeftsmonat = | |
if AtuellerKalendermonat < Startmonatsnummer then | |
13 - Startmonatsnummer + AtuellerKalendermonat | |
else | |
AtuellerKalendermonat - Offset, | |
#"GM als Text" = "GM" & Text.PadStart(Number.ToText(Geschaeftsmonat), 2, "0") | |
in | |
#"GM als Text", | |
fnType = type function( | |
MyDate as (type date meta [Documentation.LongDescription="Hier wird das zu prüfende Datum (meist aus einer Datumsspalte) übergeben."]), | |
Startmonat as (type text meta | |
[ | |
Documentation.LongDescription="Hier wird der Monat als Text eingegeben, mit dem das Geschäftsjahr beginnt", | |
Documentation.AllowedValues = {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"} | |
] | |
) | |
) as text meta [ | |
Documentation.Name = "fnGeschaeftsmonat", | |
Documentation.LongDescription = | |
"Gibt die Nummer des aktuellen Geschäftsmonat wieder. Dies ist sinnvoll bei von Kalenderjahr abweichenden geschäftsjahren", | |
Documentation.Author = "Lars Schreiber, www.ssbi-blog.de" | |
] | |
in | |
Value.ReplaceType(fn, fnType) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment