Was für die Eingabe bequem ist, ist nicht immer auch für die Pivot Auswertung optimal.
Tabelle 1 ist in PowerQuery so entstanden für jedes weitere Datum müsste diese erweitert werden. War jetzt nur eine Hilfslösung um die Daten nicht abzuschreiben.
Code:
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Name", type text}, {"Montag", Int64.Type}, {"31.12.2018", Int64.Type}, {"Dienstag", Int64.Type}, {"01.01.2019", Int64.Type}, {"Mittwoch", Int64.Type}, {"02.01.2019", Int64.Type}, {"Donnerstag", Int64.Type}, {"03.01.2019", Int64.Type}, {"Freitag", Int64.Type}, {"04.01.2019", Int64.Type}, {"Samstag", Int64.Type}, {"05.01.2019", Int64.Type}, {"Sonntag", type any}, {"06.01.2019", type any}, {"Montag2", type any}, {"07.01.2019", type any}}),
#"Zusammengeführte Spalten" = Table.CombineColumns(Table.TransformColumnTypes(#"Geänderter Typ", {{"Montag", type text}, {"31.12.2018", type text}}, "de-DE"),{"Montag", "31.12.2018"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"Zusammengeführt"),
#"Umbenannte Spalten" = Table.RenameColumns(#"Zusammengeführte Spalten",{{"Zusammengeführt", "31.12.2018"}}),
#"Zusammengeführte Spalten1" = Table.CombineColumns(Table.TransformColumnTypes(#"Umbenannte Spalten", {{"Dienstag", type text}, {"01.01.2019", type text}}, "de-DE"),{"Dienstag", "01.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"Zusammengeführt"),
#"Umbenannte Spalten1" = Table.RenameColumns(#"Zusammengeführte Spalten1",{{"Zusammengeführt", "01.01.2019"}}),
#"Zusammengeführte Spalten2" = Table.CombineColumns(Table.TransformColumnTypes(#"Umbenannte Spalten1", {{"Mittwoch", type text}, {"02.01.2019", type text}}, "de-DE"),{"Mittwoch", "02.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"02.01.2019.1"),
#"Zusammengeführte Spalten3" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten2", {{"Donnerstag", type text}, {"03.01.2019", type text}}, "de-DE"),{"Donnerstag", "03.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"03.01.2019.1"),
#"Zusammengeführte Spalten4" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten3", {{"Freitag", type text}, {"04.01.2019", type text}}, "de-DE"),{"Freitag", "04.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"04.01.2019.1"),
#"Zusammengeführte Spalten5" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten4", {{"Samstag", type text}, {"05.01.2019", type text}}, "de-DE"),{"Samstag", "05.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"05.01.2019.1"),
#"Zusammengeführte Spalten6" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten5", {{"Sonntag", type text}, {"06.01.2019", type text}}, "de-DE"),{"Sonntag", "06.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"06.06.2019"),
#"Zusammengeführte Spalten7" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten6", {{"Montag2", type text}, {"07.01.2019", type text}}, "de-DE"),{"Montag2", "07.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"07.01.2019.1"),
#"Entpivotierte Spalten" = Table.UnpivotOtherColumns(#"Zusammengeführte Spalten7", {"Name"}, "Attribut", "Wert"),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Entpivotierte Spalten",{"Attribut", "Name", "Wert"}),
#"Spalte nach Position teilen" = Table.SplitColumn(#"Neu angeordnete Spalten", "Attribut", Splitter.SplitTextByPositions({0, 10}, false), {"Attribut.1", "Attribut.2"}),
#"Entfernte Spalten" = Table.RemoveColumns(#"Spalte nach Position teilen",{"Attribut.2"}),
#"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Entfernte Spalten", "Wert", Splitter.SplitTextByDelimiter(":", QuoteStyle.Csv), {"Wert.1", "Wert.2"}),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Attribut.1", type date}, {"Wert.1", Int64.Type}, {"Wert.2", Int64.Type}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ1", "Benutzerdefiniert", each [Attribut.1]),
#"Umbenannte Spalten2" = Table.RenameColumns(#"Hinzugefügte benutzerdefinierte Spalte",{{"Attribut.1", "Datum"}, {"Wert.1", "Projekt"}, {"Wert.2", "Baugruppe"}}),
#"Entfernte Spalten1" = Table.RemoveColumns(#"Umbenannte Spalten2",{"Benutzerdefiniert"}),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Entfernte Spalten1", "Benutzerdefiniert", each Date.DayOfWeek( [Datum],Day.Monday)+1),
#"Umbenannte Spalten3" = Table.RenameColumns(#"Hinzugefügte benutzerdefinierte Spalte1",{{"Benutzerdefiniert", "Wochentag"}}),
#"Ersetzter Wert" = Table.ReplaceValue(#"Umbenannte Spalten3",null,0,Replacer.ReplaceValue,{"Projekt", "Baugruppe"}),
#"Hinzugefügte benutzerdefinierte Spalte2" = Table.AddColumn(#"Ersetzter Wert", "Benutzerdefiniert", each if [Baugruppe]> 0 and [Wochentag] <6 then 10 else if [Baugruppe]> 0 then 8 else 0),
#"Umbenannte Spalten4" = Table.RenameColumns(#"Hinzugefügte benutzerdefinierte Spalte2",{{"Benutzerdefiniert", "Stunden"}})
in
#"Umbenannte Spalten4"