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
You can’t perform that action at this time.