This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let func = (Kalenderjahr as number) as table => | |
let | |
//Liste aller Bundeländer für den Aufbau der URL bei arbeitstage.org | |
List_Bundeslaender = { | |
"baden-wuerttemberg", | |
"bayern", "berlin", | |
"brandenburg", | |
"bremen", | |
"hamburg", | |
"hessen", | |
"mecklenburg-vorpommern", | |
"niedersachsen", | |
"nordrhein-westfalen", | |
"rheinland-pfalz", | |
"saarland", | |
"sachsen", | |
"sachsen-anhalt", | |
"schleswig-holstein", | |
"thueringen" | |
}, | |
ToTable = | |
Table.FromList( | |
List_Bundeslaender, | |
Splitter.SplitByNothing(), | |
null, | |
null, | |
ExtraValues.Error | |
), | |
#"Umbenannte Spalten" = | |
Table.RenameColumns( | |
ToTable, | |
{ | |
{ | |
"Column1", | |
"BundeslaenderURL" | |
} | |
} | |
), | |
#"Geänderter Typ" = | |
Table.TransformColumnTypes( | |
#"Umbenannte Spalten", | |
{ | |
{ | |
"BundeslaenderURL", | |
type text | |
} | |
} | |
), | |
//Funktion für den Retrieve der Feiertage der Website | |
fnGetFeiertageJeBundesland = | |
(Bundesland as text, Jahr as number) => | |
let | |
//Aufbau der parametrisierten URL | |
Quelle = | |
Web.Page( | |
Web.Contents("https://www.arbeitstage.org/" & Bundesland &"/feiertage-"& Text.From(Jahr) &"-"& Bundesland &"/")), | |
Data0 = Quelle{0}[Data], | |
#"Geänderter Typ" = | |
Table.TransformColumnTypes( | |
Data0, | |
{ | |
{ | |
"Feiertag", | |
type text | |
}, | |
{ | |
"Datum", | |
type date | |
}, | |
{ | |
"Wann", | |
type text | |
} | |
} | |
), | |
#"Entfernte Spalten" = Table.RemoveColumns(#"Geänderter Typ",{"Wann"}), | |
#"Hinzugefügte benutzerdefinierte Spalte" = | |
Table.AddColumn( | |
#"Entfernte Spalten", | |
"Bundesland", | |
each Text.Proper(Bundesland) | |
), | |
Output = | |
Table.ReplaceValue( | |
#"Hinzugefügte benutzerdefinierte Spalte", | |
"ue", | |
"ü", | |
Replacer.ReplaceText,{"Bundesland"} | |
) | |
in | |
Output, | |
GetFeiertage = | |
Table.AddColumn( | |
#"Geänderter Typ", | |
"Feiertage", | |
each fnGetFeiertageJeBundesland([BundeslaenderURL], Kalenderjahr) | |
), | |
#"Entfernte Spalten" = | |
Table.RemoveColumns(#"GetFeiertage",{"BundeslaenderURL"}), | |
#"Erweiterte Feiertage" = | |
Table.ExpandTableColumn( | |
#"Entfernte Spalten", | |
"Feiertage", | |
{ | |
"Feiertag", | |
"Datum", | |
"Bundesland" | |
}, | |
{ | |
"Feiertag", | |
"Datum", | |
"Bundesland" | |
} | |
), | |
Output = | |
Table.TransformColumnTypes( | |
#"Erweiterte Feiertage", | |
{ | |
{ | |
"Datum", | |
type date | |
}, | |
{ | |
"Bundesland", | |
type text | |
}, | |
{ | |
"Feiertag", | |
type text | |
} | |
} | |
) | |
in | |
Output, | |
documentation = | |
[ | |
Documentation.Name = "fnGetDeutscheFeiertageJeBundesland", | |
Documentation.Description = | |
"Liefert eine Tabelle mit den deutschen Feiertagen je Bundesland für das angegebene Jahr zurück ", | |
Documentation.Parameters = "Kalenderjahr vom Typ number", | |
Documentation.Category = " ", | |
Documentation.Author = " Lars Schreiber: www.ssbi-blog.de ", | |
Documentation.Examples = | |
{ | |
[ | |
Description = " " , | |
Code = "fnGetDeutscheFeiertageJeBundesland(2020)", | |
Result = " " | |
] | |
} | |
] | |
in | |
Value.ReplaceType(func, Value.ReplaceMetadata(Value.Type(func), documentation)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Works like a charm... just remember to set local to "Deutschand (Deutsch)" in the File menu > Options and settings > Query Options and there under Regional Settings. Otherwise, the type Date might can't be read correctly.