Mit dem Aufkommen von UDFs sollten wir die Verwendung von Berechnungsgruppen überdenken.
Beides sind wesentliche Merkmale bei der Vereinfachung eines semantischen Modells durch Modularisierung der Logik und Reduzierung der Duplizierung der Geschäftslogik.
Während UDFs sehr nützlich sind, um die Geschäftslogik zu standardisieren und sie nur einmal professional Datenmodell zu haben, sind Berechnungsgruppen für Berichtsdesigner nützlich, um Geschäftslogik auf Kennzahlen anzuwenden.
Berechnungsgruppen sind für Berichtsdesigner sichtbar, UDFs können jedoch nur innerhalb von DAX-Ausdrücken und nicht im Entrance-Finish verwendet werden.
Ressourcen zum Kombinieren von UDFs und Berechnungsgruppen finden Sie im Abschnitt „Referenzen“ weiter unten.
Die Frage ist, ob wir explizite Maßnahmen hinzufügen oder den Benutzern nur Berechnungsgruppen anbieten sollten.
Hier ist ein Beispiel:
Ich muss die Möglichkeit bieten, den Vorjahreswert zu berechnen.
- Ich kann ein Berechnungselement anbieten, mit dem der Benutzer das gewünschte Ergebnis erzielen kann.
- Ich kann ein explizites Maß für das PY-Ergebnis hinzufügen.
Die Frage ist: Welches bietet mehr Flexibilität und ist einfacher zu verwenden?
Das ist die Frage, die ich hier zu beantworten versuche.
Die Ansicht des Benutzers
Erstens: Wer ist der Benutzer?
Es gibt zwei Benutzergruppen:
- Berichtsdesigner, die unsere semantischen Modelle verwenden und das semantische Modell leicht verstehen müssen
- Berichtskonsumenten müssen verstehen, was wir in den Visualisierungen zeigen, ohne viel Interpretationsspielraum.
Letztendlich müssen wir beide Benutzergruppen unterstützen, wenn wir ein semantisches Modell erstellen.
Im abschließenden Abschnitt unten finden Sie meine wichtigste Richtlinie beim Entwerfen eines semantischen Modells.
Aber sehen wir uns zunächst die Auswirkungen der beiden Ansätze für unsere Benutzer an.
Verwendung von Matrixvisualisierungen
Zuerst habe ich eine Matrix erstellt.
Die Matrix sollte die Kalenderhierarchie als Zeilen und die Kennzahlen für On-line-Verkäufe, PY und PM in den Spalten enthalten.
Außerdem möchte ich die Ergebnisse nach Marke aufschlüsseln.
Zuerst habe ich es mit Berechnungselementen gemacht:

Das Ergebnis entspricht den Anforderungen.
Beachten Sie, dass ich die Berechnungselemente filtern muss, um das PY-Ingredient (Woche) auszuschließen, da es bei Verwendung mit Quartalen und Monaten zu einem Fehler führen würde.
Als nächstes habe ich es mit expliziten Maßnahmen gemacht:

Wie Sie sehen, sind die Ergebnisse identisch.
Beachten Sie jedoch, dass in der ersten Spalte der Identify der Kennzahl anstelle des Namens des Berechnungselements angezeigt wird, wie Sie im ersten Screenshot sehen können.
Mit Express Measures kann ich den im Bild angezeigten Namen ändern. Beispielsweise haben die Kennzahlen für PY und PM einen unterschiedlichen Namen:

Dies ist bei Verwendung von Berechnungselementen nicht möglich. Die Visuals zeigen immer die Namen der Berechnungselemente an und ich kann sie nicht umbenennen.
Ich sehe nicht einmal den Namen der ursprünglichen Maßnahme.
Daher muss ich dem Visible einen aussagekräftigen Titel hinzufügen. Ich empfehle aber trotzdem, dies zu tun.
Verwendung anderer Visualisierungstypen (Spalten oder Balken)
Als nächstes habe ich es mit Spaltenvisualisierungen gemacht:

Das obere Visible verwendet die Berechnungselemente und das untere Visible enthält die expliziten Kennzahlen.
Hier haben wir die gleiche State of affairs wie zuvor:
- Ich muss einen Filter für die Berechnungselemente für das obere Bild hinzufügen.
- Ich kann die Kennzahlen im unteren Bild umbenennen.
Aber die Ergebnisse sind immer noch die gleichen.
Ich habe die Standardposition für Titel und Legende beibehalten. Sie sehen, dass sie geändert werden müssen, da sie doppelte Informationen enthalten. Darüber hinaus sieht man in der oberen Variante im Untertitel den Begriff „Zeitfunktion“, der für jeden Berichtskonsumenten bedeutungslos ist.
Abgesehen von den Titeln und Untertiteln sind die Unterschiede im Vergleich zum Matrixvisual sogar noch geringer.
Pivot-Tabellen in Excel
Schauen wir uns nun an, wie es in Excel-Pivot-Tabellen funktioniert:
Aber hier haben wir ein Drawback mit dem PY-Berechnungselement:

Was sich nicht ändert, ist die Notwendigkeit, die Berechnungselemente zu filtern, um nur die benötigten Elemente zu behalten:

Wie Sie sehen, ist die Spalte „PY“ leer, obwohl Daten für das Jahr 2022 vorliegen.
Als ich dies mit expliziten Maßnahmen versuchte, erhielt ich dieses Ergebnis:

Selbst bei expliziten Maßnahmen bleibt das PJ-Drawback bestehen.
Ich habe dann mithilfe der klassischen Zeitintelligenz eine PY-Kennzahl hinzugefügt, und es hat funktioniert, wie oben mit den grün hervorgehobenen Werten gezeigt.
Dies weist auf ein Drawback mit Excel und kalenderbasierter Zeitintelligenz hin.
Aber ich kann die Kennzahlnamen immer noch umbenennen, wie in Energy BI.
Daher gibt es keinen Unterschied zwischen den beiden Varianten.
Die Sicht des Benutzers – noch einmal
Wenn wir uns den Berichtskonsumenten ansehen, können wir dieselben Berichte erstellen, ohne einen Unterschied zu erkennen.
Zumindest für die einfachen Beispiele, die ich oben gezeigt habe.
Für den Berichtsdesigner ist das eine andere Geschichte.
Dieser Benutzertyp muss wissen, wie das Datenmodell und die Berechnungsgruppen verwendet werden.
Dies ist ein Hindernis für Self-Service-BI, bei dem Entwickler das Datenmodell zur Verfügung stellen und andere Benutzer ihre eigenen Berichte erstellen.
Eine gute Dokumentation zur Verwendung des Datenmodells sowie Schulungen und Schulungen sind unerlässlich, wenn nur Berechnungsgruppen verwendet werden, anstatt explizite Messungen anzubieten.
Aber wir stoßen beispielsweise an Grenzen, wenn wir versuchen, Daten nach einer nicht vorhandenen Kennzahl zu filtern, weil diese nur mit einem Berechnungselement verfügbar ist.
Gleiches gilt für Excel-Nutzer, die Excel-Berichte mit PivotTables auf Foundation des Semantic-Modells erstellen möchten.
Auch hier müssen wir ihnen beibringen, wie sie das Datenmodell richtig verwenden.
Dies ist viel einfacher, wenn wir alle notwendigen Maßnahmen konkretisieren und in intestine strukturierten Anzeigeordnern ablegen.
Die Benutzer können die benötigten Maßnahmen auswählen und mit ihnen arbeiten.
Abschluss
Wie Sie gesehen haben, kann die Erstellung expliziter Kennzahlen für den Berichtsdesigner, der mit unseren semantischen Modellen arbeitet, von Vorteil sein.
Meine Richtlinie bei der Erstellung semantischer Modelle ist folgende:
Die Bedürfnisse des Benutzers stehen an erster Stelle.
Technische Gründe stehen immer an zweiter Stelle.
Kein technischer Gewinn überwiegt die Benutzerfreundlichkeit und Verständlichkeit der Ausgabe.
Jetzt sind Sie an der Reihe.
Was sind Ihre Richtlinien bei der Erstellung eines semantischen Modells?
Was ist Ihre wichtigste Überlegung während der Entwurfsphase?
Referenzen
Der SQLBI-Artikeldas UDF- und Berechnungsgruppen vergleicht und zeigt, wie sie kombiniert werden.
Und hier ist das Video zu diesem Artikel:
Hier das Video von Guys in a Dice zum gleichen Thema mit einer etwas anderen Sichtweise:
Wie in meinen vorherigen Artikeln verwende ich den Contoso-Beispieldatensatz. Sie können den ContosoRetailDW-Datensatz kostenlos von Microsoft herunterladen Hier.
Die Contoso-Daten können wie beschrieben unter der MIT-Lizenz frei verwendet werden in diesem Dokument. Ich habe den Datensatz aktualisiert, um die Daten auf aktuelle Daten zu übertragen, und alle für dieses Beispiel nicht benötigten Tabellen entfernt.
