AW: Power Query Zellen mit null
05.09.2024 22:04:55
Yal
Hallo Luschi,
da kommen, wie Du es gemeint hattest, dein C++ Herzblutt gut zur Geltung :-)
Ich frage mich nur, warum so kompliziert. Es reicht auch, die Werte-Spalte zu entpivotieren (Artikel-Spalte markieren, andere Spalten entpivotieren) und anschliessend zu repivotieren, da automatisch eine Summe gebildet wird:
let
Quelle = Excel.CurrentWorkbook(){[Name="tab_Obst"]}[Content],
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(Quelle, {"Artikel"}, "Attribut", "Wert"),
#"Pivotierte Spalte" = Table.Pivot(#"Entpivotierte andere Spalten", List.Distinct(#"Entpivotierte andere Spalten"[Attribut]), "Attribut", "Wert", List.Sum)
in
#"Pivotierte Spalte"
(Code nur durch klicken entstanden)
Es hat nur das Nachteil, dass es die Monat durcheinander bringt. Ich selber würde nicht pivotieren, sonden in einer Pivot ausgeben. Da wären aber die Datum auch alphabetisch sortiert (April vorn).
Daher in PQ ein Datum erzeugen, um eine richtige Reihenfolge vor dem repivotieren zu errichten:
let
Quelle = Excel.CurrentWorkbook(){[Name="tab_Obst"]}[Content],
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(Quelle, {"Artikel"}, "Attribut", "Wert"),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Entpivotierte andere Spalten", "Datum", each Date.From("1. " & Text.AfterDelimiter([Attribut], " ") & " 2024")),
#"Sortierte Zeilen" = Table.Sort(#"Hinzugefügte benutzerdefinierte Spalte",{{"Datum", Order.Ascending}}),
#"Entfernte Spalten" = Table.RemoveColumns(#"Sortierte Zeilen",{"Datum"}),
#"Pivotierte Spalte" = Table.Pivot(#"Entfernte Spalten", List.Distinct(#"Entfernte Spalten"[Attribut]), "Attribut", "Wert", List.Sum)
in
#"Pivotierte Spalte"
oder, kürzer und schöner, nur echte Datum, um diese in der Pivot als Monat (durch automatische Gruppierung von Datum) zu haben:
let
Quelle = Excel.CurrentWorkbook(){[Name="tab_Obst"]}[Content],
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(Quelle, {"Artikel"}, "Datum", "Wert"),
#"Datum extrahieren" = Table.TransformColumns(#"Entpivotierte andere Spalten", {"Datum", each Date.From(Text.Replace(_, "Bestand", "1.") & " 2024"), type date})
in
#"Datum extrahieren"
@Sven: Bestandswert in einer Pivottable:
Pivottable sind eine Summierungsmaschine. Leider sind Bestand nichts, was man summieren kann. Besser wäre, falls verfügbar, die Zugänge und die Abgänge zu haben. Abgänge müsste man negativieren. Man musste dann immer das gesamte Bewerten, sonst innerhalb eines Monats nur eine "Bestandsveränderung". Aber dafür die Summe der Zugänge und Abgänge auf Quartal und Halbjahr, einen Durchschnitt Zugang/Abgang pro Monat und somit ein Durchschnittsbestand pro Monat/Quartal/Halbjahr...
VG
Yal