AW: Power Query immer Monat 1-12
19.12.2022 10:59:51
ChrisL
Hi
Eine letzte Anpassung bekommst du noch von mir. Zum Hinweis von Werner kann man unterschiedliche Betrachtungen einnehmen, aber mir geht es eher darum meine Beiträge "aufzuräumen" bzw. die bereits gemachte (Zeit-)investition zum Erfolg zu bringen. Also reiner Selbstzweck, ohne mütterliche Gefühle ;)
Die Lösung ist sehr statisch und auf die Aufgabe zugeschnitten (immer 1. des Monats, ohne Jahreswechsel, ohne Mehrfacheinträge je Datum usw.). Hauptsächlich habe ich die Einzelschritte angepasst, welche nach dem M-Code Eingriff (Hilfstabelle) kommen. Vielleicht kannst du mal versuchen diese Standardschritte nachzuvollziehen.
let
Quelldaten = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
Hilfstabelle1 = Table.FromList(List.Distinct(Quelldaten[Profit Center]), Splitter.SplitByNothing(), null, null, ExtraValues.Error),
Hilfstabelle2 = Table.AddColumn(Hilfstabelle1, "Actual", each 0),
Hilfstabelle3 = Table.AddColumn(Hilfstabelle2, "Month", each {1..12}),
Hilfstabelle4 = Table.ExpandListColumn(Hilfstabelle3, "Month"),
Hilfstabelle5 = Table.RenameColumns(Hilfstabelle4, {"Column1", "Profit Center"}),
Quelle = Table.Combine({Quelldaten, Hilfstabelle5}),
#"Nach unten gefüllt" = Table.FillDown(Quelle,{"Figure", "Year"}),
#"Gruppierte Zeilen" = Table.Group(#"Nach unten gefüllt", {"Figure", "Profit Center", "Month", "Year"}, {{"Betrag", each List.Sum([Actual]), type number}}),
#"Sortierte Zeilen" = Table.Sort(#"Gruppierte Zeilen",{{"Profit Center", Order.Ascending}, {"Month", Order.Ascending}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Sortierte Zeilen", "Actual", each if [Betrag]0 or [Month]=1 then [Betrag] else null),
#"Nach unten gefüllt1" = Table.FillDown(#"Hinzugefügte benutzerdefinierte Spalte",{"Actual"}),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Nach unten gefüllt1", "Date", each #date([Year],[Month],1)),
#"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte1",{"Betrag"}),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Entfernte Spalten",{"Figure", "Profit Center", "Date", "Month", "Year", "Actual"})
in
#"Neu angeordnete Spalten"
cu
Chris