Abfragen & Kennzahlen
Explizite Umsatzkennzahl
Eine wiederverwendbare Measure im bestehenden Modell definieren.
Beispiel kopieren
Revenue = SUM(Sales[Amount])
Benötigt Sales[Amount] als numerische Spalte mit passendem Grain.
Abfragen & Kennzahlen
Quote mit DIVIDE
Vorhandene Gewinn- und Umsatzkennzahl sicher dividieren.
Beispiel kopieren
Margin = DIVIDE([Profit], [Revenue])
Bei fehlendem oder nullwertigem Nenner liefert DIVIDE ohne Alternative BLANK; fachlich entscheiden.
Abfragen & Kennzahlen
Zeilenweise multiplizieren
Betrag erst je Zeile bilden und dann summieren.
Beispiel kopieren
Line Revenue = SUMX(Sales, Sales[Quantity] * Sales[UnitPrice])
Nicht SUM(Quantity) mit SUM(UnitPrice) multiplizieren.
Abfragen & Kennzahlen
Filterkontext mit CALCULATE
Kennzahl in einer festgelegten Region auswerten.
Beispiel kopieren
West Revenue = CALCULATE([Revenue], Region[Code] = "WEST")
Bestehende Filter derselben Spalte werden grundsätzlich ersetzt; bei gewünschter Schnittmenge KEEPFILTERS prüfen.
Abfragen & Kennzahlen
Eindeutige Auswahl zeigen
Einzelauswahl von Mehrfach- oder fehlender Auswahl unterscheiden.
Beispiel kopieren
Selected Region = SELECTEDVALUE(Region[Name], "No single region")
Alternativtext ist keine Sicherheitsprüfung.
Abfragen & Kennzahlen
Anteil an allen Regionen
Regionale Kennzahl mit einer definierten Gesamtmenge vergleichen.
Beispiel kopieren
Region Share = DIVIDE(
[Revenue],
CALCULATE([Revenue], REMOVEFILTERS(Region))
)
Andere Filter bleiben grundsätzlich bestehen; RLS wird dadurch nicht aufgehoben.
Abfragen & Kennzahlen
Zwischenergebnis benennen
Eine Kennzahl lesbar in Schritte zerlegen.
Beispiel kopieren
Margin With VAR =
VAR RevenueValue = [Revenue]
VAR ProfitValue = [Profit]
RETURN DIVIDE(ProfitValue, RevenueValue)
Variablen werden im Kontext ihrer Definition ausgewertet, nicht automatisch in jedem späteren CALCULATE neu.
Modellierung
Alternative Datumsrolle verwenden
Vorhandene Beziehung zum Versanddatum für eine Measure nutzen.
Beispiel kopieren
Shipped Revenue = CALCULATE(
[Revenue],
USERELATIONSHIP(Sales[ShipDate], 'Calendar'[Date])
)
Beziehung muss existieren. Bei RLS gelten zusätzliche Einschränkungen; nicht als Sicherheitsumgehung einsetzen.
Datenqualität
Faktzeilen zählen
Anzahl der im aktuellen Kontext sichtbaren Faktzeilen prüfen.
Beispiel kopieren
Sales Rows = COUNTROWS(Sales)
Zeilenanzahl ist nicht automatisch Anzahl der Bestellungen bei Positions-Grain.
Datenqualität
Geschäftsvorgänge zählen
Bestellungen trotz mehrerer Positionen zählen.
Beispiel kopieren
Orders = DISTINCTCOUNT(Sales[OrderID])
DISTINCTCOUNT berücksichtigt BLANK als eigenen Wert; Pflichtbelegung prüfen.
Sicherheit & Rechte
RLS mit echtem Leser prüfen
Schutz im tatsächlichen Service-Kontext abnehmen.
Beispiel kopieren
Viewer ohne zusätzliche Bearbeitungsrolle
Sollregion → sichtbare synthetische Zeilen
Fremdregion → nicht sichtbar
RLS gilt nicht für Workspace-Admin, Member oder Contributor.
Sicherheit & Rechte
Ausblenden ist keine Feldsicherheit
Datenminimierung von Darstellungsoptionen unterscheiden.
Beispiel kopieren
Sensible Spalte nötig? → zuerst weglassen prüfen
Nur ausgeblendet? → Zugriff weiterhin bewerten
Objektsicherheit → gesondert konfigurieren und testen
Ein verborgenes Feld bleibt kein verlässlicher Zugriffsschutz.
Modellierung
Sternschema vor DAX prüfen
Fehlerhafte Filterweitergabe vor Kennzahlkorrekturen eingrenzen.
Beispiel kopieren
Dimension: eindeutiger Schlüssel
Fakt: konsistenter Grain
Beziehung: gewollte Kardinalität und Richtung
Bidirektionale Beziehungen nicht pauschal als Reparatur für falsche Ergebnisse einsetzen.
Modellierung
Mehrfachzuordnung kontrollieren
Viele-zu-viele mit kleinen Sollfällen prüfen.
Beispiel kopieren
Kunde → Brückentabelle ← Konto
Test: Kunde mit zwei Konten
Test: Konto mit zwei Kunden
Gesamtsumme gesondert bewerten
Teilgruppensummen können überlappen und sind dann nicht einfach zur Gesamtsumme addierbar.
Tests & Auswahl
Weitere Zugriffswege abnehmen
Die Grenze eines sichtbaren Reports nicht mit allen Datenzugriffen gleichsetzen.
Beispiel kopieren
Report → freigegebene Leser
Build / Excel / Export → getrennte Testfälle
Entzug → neue Sitzung und Nachtest
Auswertungen mit zusätzlichen Rollen und vorhandenen Kopien gesondert prüfen.