Power Pivot – Wichtige FunktionenDie COUNT-Familie in DAX – alle Zählfunktionen in Power Pivot
Warum ist die DAX-Funktion COUNT so wichtig
Zählen ist eine der häufigsten Aufgaben im Controlling:
- Wie viele Bestellungen wurden im aktuellen Monat ausgelöst?
- Wie viele verschiedene Kunden haben gekauft?
- Und wie viele Datensätze enthalten keine Mengenangabe?
Power Pivot und DAX bieten dafür eine ganze Familie von COUNT-Funktionen, die auf den ersten Blick ähnlich wirken, sich aber im Detail deutlich unterscheiden. Welche Varianten gibt es und, wann wenden Sie welche Funktion an?
COUNT – numerische Werte zählen
Die Funktion COUNT zählt alle nichtleeren numerischen Werte in einer Spalte. Leere Zellen und Textwerte werden ignoriert.
Syntax: COUNT(<Spaltenname>)
Beispiel: Sie möchten wissen, in wie vielen Bestellungen tatsächlich eine Mengenangabe vorhanden ist.
Anzahl_Mengenwerte :=COUNT(tbl_Bestellungen[Menge])
Was passiert mit dieser Formel?
- Die Spalte tbl_Bestellungen[Menge] enthält die verkaufte Stückzahl.
- COUNT zählt jede Zeile, in der ein numerischer Wert steht.
- Leere Mengenangaben (zum Beispiel fehlerhafte Datensätze) werden ignoriert.
Praxisnutzen: Dieses Measure zeigt Ihnen, wie viele Transaktionen korrekt mit Mengenwerten erfasst wurden – ein klassischer Qualitätsindikator für das operative Reporting.
COUNTA – alle nichtleeren Zellen zählen
Die Funktion COUNTA zählt alle Zellen, die nicht leer sind – unabhängig vom Datentyp (Zahl, Text, Wahrheitswert).
Syntax: COUNTA(<Spaltenname>)
Beispiel: Sie möchten ermitteln, wie viele Kunden tatsächlich einen Namen in der Kundentabelle haben.
Anzahl_Kundenname :=COUNTA(tbl_Kunden[Kundenname])
Das bedeutet:
- Jede Zelle mit einem beliebigen Inhalt (Text, Zahl, TRUE/FALSE) wird gezählt.
- COUNTA ist daher breiter gefasst als COUNT.
Praxisnutzen: Ideal für Vollständigkeitsprüfungen in Stammdaten. Fehlt bei einem Kunden der Name, wird die Zeile nicht gezählt – so können Sie leicht unvollständige Datensätze erkennen.
COUNTROWS – Zeilen zählen
Mit COUNTROWS zählen Sie ganze Zeilen einer Tabelle oder eines gefilterten Ausschnitts. Diese Funktion ist besonders nützlich, wenn Sie mehrere Spalten gleichzeitig betrachten.
Syntax: COUNTROWS(<Tabelle>)
Beispiel: Sie wollen wissen: Wie viele Bestellungen wurden insgesamt erfasst?
Anzahl_Transaktionen :=COUNTROWS(tbl_Bestellungen)
Was bewirkt COUNTROWS?
- COUNTROWS zählt jede Zeile in der Tabelle tbl_Bestellungen.
- Wird die Pivot-Tabelle nach Kunden oder Monaten gefiltert, passt sich das Ergebnis automatisch an den jeweiligen Filterkontext an.
Praxisnutzen: Dieses Measure ist der schnellste Weg, um die Anzahl der Transaktionen, Aufträge oder Rechnungszeilen zu ermitteln. In Kombination mit Datenschnitten können Sie zum Beispiel anzeigen:
- wie viele Bestellungen pro Monat eingegangen sind oder
- wie viele Transaktionen ein bestimmter Kunde ausgelöst hat.
COUNTBLANK – leere Werte zählen
Während COUNT und COUNTA nichtleere Werte zählen, zeigt Ihnen COUNTBLANK, wie viele Zellen ohne Wert existieren. Das ist insbesondere für die Datenqualitätskontrolle wichtig.
Syntax: COUNTBLANK(<Spaltenname>)
Beispiel: Sie möchten prüfen, wie viele Bestellungen keine Mengenangabe enthalten:
Fehlende_Mengenwerte :=COUNTBLANK(tbl_Bestellungen[Menge])
Das bedeutet:
- COUNTBLANK zählt nur Zellen, die leer oder NULL sind.
- So erkennen Sie fehlerhafte oder unvollständige Transaktionsdaten.
Praxisnutzen: Ein unverzichtbares Tool für das Datenqualitäts-Monitoring. Beispielsweise können Sie in einem Dashboard sofort sehen, ob in der Datenerfassung Probleme auftreten (zum Beispiel wegen fehlender Mengen- oder Preisangaben).
DISTINCTCOUNT – eindeutige Werte zählen
Die Funktion DISTINCTCOUNT zählt, wie viele eindeutige Werte in einer Spalte vorkommen. Doppelte Werte werden dabei nur einmal gezählt.
Syntax: DISTINCTCOUNT(<Spaltenname>)
Eine Bestellung kann mehrere Artikelzeilen enthalten – Sie möchten aber wissen, wie viele Bestellungen es insgesamt gab.
Anzahl_Bestellungen :=DISTINCTCOUNT(tbl_Bestellungen[Rechnungsnummer])
Das bedeutet:
- DISTINCTCOUNT zählt jede Rechnungsnummer nur einmal, selbst wenn sie mehrfach in der Tabelle vorkommt (mehrere Bestellpositionen).
- Dadurch erhalten Sie die tatsächliche Anzahl an Bestellungen.
Praxisnutzen: Ideal für Kunden-, Produkt- oder Bestell-Analysen. So können Sie etwa ermitteln:
- Wie viele unterschiedliche Kunden im Zeitraum aktiv waren oder
- wie viele verschiedene Produkte verkauft wurden.
COUNT-Funktionen im Vergleich
| Funktion | Zählt was? | Ignoriert | Typische Anwendung |
|---|---|---|---|
| COUNT | nichtleere numerische Werte | Text, Leerzellen | Zahlenwerte prüfen (Mengen, Preise) |
| COUNTA | Alle nichtleeren Zellen | – | Stammdaten-Vollständigkeit prüfen |
| COUNTROWS | Zeilen einer Tabelle | – | Anzahl Transaktionen/ Datensätze |
| COUNTBLANK | Leere Zellen | Nicht-leere Werte | Datenqualität/ Fehlende Angaben |
| DISTINCTCOUNT | Eindeutige Werte | Duplikate | Anzahl Bestellungen, Kunden, Produkte |
Kombination mit CALCULATE – gezielt zählen
Alle COUNT-Funktionen lassen sich mit CALCULATE kombinieren, um zusätzliche Filter anzuwenden.
Beispiel: Sie möchten nur die Bestellungen aus der Region Süd zählen:
Anzahl_Bestellungen_DE :=CALCULATE( DISTINCTCOUNT(tbl_Bestellungen[BestellID]); tbl_Kunden[Region] = "Süd")
Oder Sie fragen nach der Anzahl aktiver Kunden, die bereits Umsatz generiert haben:
Aktive_Kunden :=CALCULATE( DISTINCTCOUNT(tbl_Bestellungen[KundenID]); tbl_Bestellungen[Umsatz] > 0)
Praxisnutzen: Mit CALCULATE verwandeln Sie einfache Zählfunktionen in leistungsfähige Kennzahlen, die gezielt bestimmte Kundengruppen, Länder oder Zeiträume analysieren.
Praktische Beispiele aus dem Controlling
Beispiel 1 – Verkaufsanalyse:
Wie viele Transaktionen, Bestellungen und Kunden pro Jahr?
| Measure | Formel | Beschreibung |
|---|---|---|
| Anzahl_Transaktionen | COUNTROWS(tbl_Bestellungen) | Alle Datensätze in der Bestelltabelle |
| Anzahl_Bestellungen | DISTINCTCOUNT( tbl_Bestellungen[BestellID]) | Eindeutige Bestellnummern |
| Anzahl_Kunden | DISTINCTCOUNT( tbl_Bestellungen[KundenID]) | Unterschiedliche Kunden |
Beispiel 2 – Datenqualität:
Wie viele Datensätze sind unvollständig?
| Measure | Formel | Beschreibung |
|---|---|---|
| Fehlende_Mengenwerte | COUNTBLANK( tbl_Bestellungen[Menge]) | Fehlende Mengenangaben |
| Fehlende_Preise | COUNTBLANK( tbl_Bestellungen[Einzelpreis]) | Fehlende Preise |
| Fehlende_Kunden | COUNTBLANK( tbl_Bestellungen[KundenID]) | Bestellungen ohne Kundenzuordnung |
Typische Stolperfallen
- COUNT zählt keine Textwerte – verwenden Sie COUNTA, wenn Sie Texte prüfen.
- DISTINCTCOUNT funktioniert nicht zuverlässig auf berechneten Spalten – nutzen Sie stattdessen physische Spalten.
- COUNTROWS zählt immer die Zeilen im aktuellen Filterkontext.
- Wenn Sie in einer Pivot-Tabelle Datenschnitte einsetzen, verändern sich die Ergebnisse dynamisch.
Fazit
Die COUNT-Familie ist das Fundament vieler Analysen in Power Pivot. Mit ihr können Sie:
- Datenbestände prüfen,
- Datenqualität sichern und
- aussagekräftige Kennzahlen für Reporting und Planung aufbauen.
Wenn Sie die Unterschiede kennen, können Sie für jede Fragestellung die passende Funktion wählen:
- COUNT und COUNTA für Einzelspalten
- COUNTROWS für Zeilen
- COUNTBLANK für leere Werte
- DISTINCTCOUNT für eindeutige Objekte
Tipp: Nutzen Sie COUNT-Measures regelmäßig als Plausibilitäts-Checks – sie sind oft der erste Hinweis auf fehlerhafte oder unvollständige Datenquellen.







