AW: KGrösste mit Bedingung?
23.02.2023 15:10:38
ChrisL
Hi Andreas
Als einfache Lösung könntest du einfach eine Pivot-Tabelle zur Aggregation von Bereich J6:K11 verwenden und darauf eine Pivot-Chart aufbauen.
Von vorne beginnend, würde ich wie folgt an die Angelegenheit rangehen. Folgende Punkte gibt es zu beachten:
- In Zelle D5 habe ich den Titel "Farbe" rein geschrieben
- Nicht definiert wurde der Umgang mit Punkte-Gleichstand. Bei meiner Lösung werden fix 6 Einträge berücksichtigt. Wenn mehrere unterschiedliche Farben auf Platz 6 sind, ist es Zufall, welche Farbe berücksichtigt wird. Schien mir passender, wie wenn plötzlich 7 Farben in die Auswertung aufgenommen würden.
- Zwar poste ich direkt den Code, aber du kannst die Lösung ohne Programmierung erstellen. Die verwendeten Einzelschritte kannst du rechts im PQ-Editor nachvollziehen.
Nachfolgend beschreibe ich dir, wie du die Datengrundlage erstellen kannst. Das ganze hat zum Ziel, basierend auf dem Datenmodell eine Pivot-Tabelle zu erstellen und darauf eine Pivot-Chart anzuwenden. Es hat den grossen Vorteil, dass du mittels Pivot-Werkzeug "Datenschnitt" eine einfache Auswahlmöglichkeit für den Artikel einfügen kannst.
Farbstamm (nur Verbindung)
- Bereich A5:B19 markieren
- Menü Daten, Aus Tabelle/Bereich
- PQ-Editor öffnet
- Speichern & Laden (Option "nur Verbindung" wählen")
- Der Abfrage den Namen "Farbstamm" geben
Hauptabfrage
- Bereich D5:H19 markieren
- Menü Daten, Aus Tabelle/Bereich
- PQ-Editor öffnet
- Im Menü Ansicht, Erweiterter Editor, den folgenden Code reinposten
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(Quelle, {"Farbe"}, "Artikel", "Anzahl"),
#"Gruppierte Zeilen" = Table.Group(#"Entpivotierte andere Spalten", {"Artikel"}, {{"alle", each _, type table [Farbe=text, Artikel=text, Anzahl=number]}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Gruppierte Zeilen", "SortiertTop6", each Table.Range(Table.Sort([alle],{"Anzahl", Order.Descending}),0,6)),
#"Erweiterte SortiertTop6" = Table.ExpandTableColumn(#"Hinzugefügte benutzerdefinierte Spalte", "SortiertTop6", {"Farbe", "Anzahl"}, {"Farbe", "Anzahl"}),
#"Zusammengeführte Abfragen" = Table.NestedJoin(#"Erweiterte SortiertTop6", {"Farbe"}, Farbstamm, {"Farbe"}, "Farbstamm", JoinKind.LeftOuter),
#"Erweiterte Farbstamm" = Table.ExpandTableColumn(#"Zusammengeführte Abfragen", "Farbstamm", {"Bezeichnung"}, {"Bezeichnung"}),
#"Entfernte Spalten" = Table.RemoveColumns(#"Erweiterte Farbstamm",{"alle", "Farbe"}),
#"Geänderter Typ" = Table.TransformColumnTypes(#"Entfernte Spalten",{{"Artikel", type text}, {"Anzahl", Int64.Type}, {"Bezeichnung", type text}})
in
#"Geänderter Typ"
- Speichern & Laden (Option PivotChart)
Pivot erstellen
- Achse/Zeile = Bezeichnung
- Werte = Summe von Anzahl
- Datenschnitt einfügen = Artikel
cu
Chris