Folgendes Problem: Ich habe eine flache und breite Tabelle, in der ich zählen möchte, wieviele Datensätze noch existieren, die dem anderen gleichen aufgrund eines Kriteriums. In TSQL eigentlich in einem Query kein Problem, wenn man ein einfaches Subselect in die Feldliste einfügt, in PowerPivot ist das etwas anders. Dort heißt das Zauberwort ALLEXCEPT.
Folgendes Beispiel:
Eine Tabelle mit Umsätzen die Kunden und Verkäufern zugeordnet sind:
Mit einem Measure lässt sich relativ simpel zählen, wieviele Umsätze der jeweilige Kunde gemacht hat. Schwieriger wird es aber, wenn ich das einerseits zählen möchte, und den Kunden gleich ein sortieren möchte, ob er mit der Menge an Umsätzen ein guter oder ein „schlechter“ Kunde ist. Für diese Gruppieren nutze ich noch folgende Tabelle:
Nun müssen in einer berechneten Spalte die Anzahl der Umsätze gezählt werden, dafr folgender DAX Befehl:
=CALCULATE(COUNTROWS(Daten); ALLEXCEPT(Daten; Daten[Kunde]))
Zum Zuordnen der Gruppen noch folgende eigene Spalte (man könnte dies auch zusammenführen in eine Spalte, aber aus Übersichtlichkeits-Gründen mache ich dies selten; insbesondere in einem Blog Eintrag):
=CALCULATE(VALUES(Kundengruppe[Kundengruppe]); FILTER(Kundengruppe; Daten[Anzahl Umsatze pro Kunde] >= Kundengruppe[Anzahl Umsaetze Min] && Daten[Anzahl Umsatze pro Kunde] <= Kundengruppe[Anzahl Umsaetze Max]))
Folgendes Ergebnis:
Mit einem DistinctCount auf das Attribut Kunde kann man das nun wunderbar pivotieren: