Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
let fn = (Kalenderjahr as list, Bundesland as text) as list =>
let
//Bundesland = "berlin",
//Kalenderjahr = {2018, 2019},
//Kalenderjahr = 2019,
#"In Tabelle konvertiert" = Table.FromList(if Kalenderjahr is list then Kalenderjahr else {Kalenderjahr}, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"In Tabelle konvertiert",{{"Column1", Int64.Type}}),
#"Umbenannte Spalten" = Table.RenameColumns(#"Geänderter Typ1",{{"Column1", "Jahre"}}),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Umbenannte Spalten", "Bundesland", each Bundesland),
#"Geänderter Typ2" = Table.TransformColumnTypes(#"Hinzugefügte benutzerdefinierte Spalte1",{{"Bundesland", type text}}),
#"Hinzugefügte benutzerdefinierte Spalte2" = Table.AddColumn(#"Geänderter Typ2", "Benutzerdefiniert", each Web.Page(Web.Contents("https://www.arbeitstage.org/" & Bundesland &"/feiertage-"& Text.From([Jahre]) &"-"& Bundesland &"/")){0}[Data]),
#"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte2",{"Jahre"}),
#"Erweiterte Benutzerdefiniert" = Table.ExpandTableColumn(#"Entfernte Spalten", "Benutzerdefiniert", {"Feiertag", "Datum"}, {"Feiertag", "Datum"}),
Output = Table.TransformColumnTypes(#"Erweiterte Benutzerdefiniert",{{"Datum", type date}})[Datum]
in
Output,
fnType = type function(
Kalenderjahr as (type list),
Bundesland as (type text meta [Documentation.AllowedValues = {"baden-wuerttemberg", "bayern", "berlin", "brandenburg", "bremen", "hamburg", "hessen", "mecklenburg-vorpommern", "niedersachsen", "nordrhein-westfalen", "rheinland-pfalz", "saarland", "sachsen", "sachsen-anhalt", "schleswig-holstein", "thueringen"}])
) as list meta
[
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 = " ",
Result = " "
]
}
]
in
Value.ReplaceType(fn, fnType)
@hessenkletterer

This comment has been minimized.

Copy link

@hessenkletterer hessenkletterer commented Sep 2, 2020

Hi Jens,
thank you for your interesting code. But it will not work in my code. I copied your function into my excel and tryed it. But right now I get only Errors in the List:
image

Thank you

Christoph Marquardt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment