Clever-Excel-Forum

Normale Version: Ergebnisse in Pivottabelle gruppieren.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

Ich habe folgendes Problem und komme nicht weiter:

Es gibt eine Tabelle mit Projekten, in denen die Dauer der einzelnen Stufen erfasst wird:
[attachment=45145]


Ich möchte nun die Projekt-Stufen über eine Pivottabelle auswerten, um in pro Stufe nachvollziehen zu können, wieviel Projekte in den Tagen bearbeitet wurden.
Da nicht nicht jeder Tag Sinn macht, würde ich die gerne zusätzlich gruppieren Angel 

[attachment=45146]


Hat dazu jemand einen Tipp?
Hallo,

dafür ist Dein Tabellenaufbau eigentlich nicht geeignet. Deine Daten sind quasi schon ausgewertet ("Pivotiert").

Aufbau müsste so sein:
Code:
Projekt | Stufe         | Dauer
1       | Dauer Stufe 1 | 1
1       | Dauer Stufe 2 | 60
1       | Dauer Stufe 3 | 12
2       | Dauer Stufe 1 | 1
2       | Dauer Stufe 2 | 31
2       | Dauer Stufe 3 | 21
...
Das ganze kannst Du mit entpivotieren in Powerquery machen.

Dann kannst Du es auswerten, indem Du "Stufe" in die Zeilen ziehst, "Dauer" in Spalten und in Werte (dort dann Anzahl als Kriterium auswählen, nicht Summe!).
Rechtsklick auf die "1" in den Spaltenüberschriften der Pivot-Tabelle -> "Gruppieren" und bei "Nach" die 5 eintragen.
Danke Dir, ich glaube es hat funktioniert :)


Die Gruppierung habe ich über eine "Wenn-Dann Funktion" im Power Query vorgenommen.
Gibt es da noch etwas eleganteres?


Zitat:Rechtsklick auf die "1" in den Spaltenüberschriften der Pivot-Tabelle -> "Gruppieren" und bei "Nach" die 5 eintragen.

Ich habe den Hinweis gesehen, er gruppiert nun immer in 5er-Schritten. Bei mir sind die Gruppen aber unterschiedlich.
Du hast es ja schon (fast) fertig aufbereitet. Im Prinzip kannst Du die Tabelle komplett mit Power Query erstellen:
Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Projekte", Int64.Type}, {"Dauer Stufe 1", Int64.Type}, {"Dauer Stufe 2", Int64.Type}, {"Dauer Stufe 3", Int64.Type}}),
    #"Entpivotierte Spalten" = Table.UnpivotOtherColumns(#"Geänderter Typ", {"Projekte"}, "Attribut", "Wert"),
    #"Hinzugefügte bedingte Spalte" = Table.AddColumn(#"Entpivotierte Spalten", "Benutzerdefiniert", each if [Wert] < 6 then "1-5 Tage" else if [Wert] < 11 then "6-10 Tage" else if [Wert] < 31 then "11-30 Tage" else if [Wert] > 30 then ">30 Tage" else null),
    #"Geänderter Typ1" = Table.TransformColumnTypes(#"Hinzugefügte bedingte Spalte",{{"Benutzerdefiniert", type text}}),
    #"Gruppierte Zeilen" = Table.Group(#"Geänderter Typ1", {"Attribut", "Benutzerdefiniert"}, {{"Anzahl", each Table.RowCount(_), Int64.Type}}),
    #"Pivotierte Spalte" = Table.Pivot(#"Gruppierte Zeilen", List.Distinct(#"Gruppierte Zeilen"[Benutzerdefiniert]), "Benutzerdefiniert", "Anzahl", List.Sum),
    #"Neu angeordnete Spalten" = Table.ReorderColumns(#"Pivotierte Spalte",{"Attribut", "1-5 Tage", "6-10 Tage", "11-30 Tage", ">30 Tage"})

in
    #"Neu angeordnete Spalten"

Allerdings musst Du die Daten in einen Bereich einfügen, der leer ist. In Deiner Beispieldatei ist die Tabelle mit deinem Wunschergebnis im Weg.

Wenn Du jetzt noch statt einer leeren Zelle die 0 (Null ) angezeigt haben willst, musst Du in den Spalten null durch 0 ersetzen