Zum Hauptinhalt springen
Power BI

Debuggen Sie DAX mit Tooltips

Mittelstufe

DAX ist eine komplizierte Sprache;; an der Oberfläche ist es täuschend einfach, aber unter der Haube kann es schnell komplex werden und es kann viele Jahre dauern, bis es gemeistert ist. Wenn Sie jemals eine Formel eingegeben und beim Drücken der Eingabetaste die Daumen gedrückt haben, wissen Sie, was ich meine. Wenn Sie diesen Artikel lesen, befinden Sie sich sicherlich bereits auf Ihrer eigenen DAX-Lernreise.

Wenn Sie DAX besser beherrschen, werden Sie komplexere Formeln schreiben, die sich je nach Bildfilter unterschiedlich verhalten. Ein Beispiel ist der Gewinn- und Verlustbericht, den ich 2020 geteilt habe. Dieser Bericht enthält eine ziemlich komplizierte Formel. Es wurde langsam und methodisch Schritt für Schritt gebaut, bis es wie gewünscht funktionierte. Dies ist der beste Weg, um DAX zu schreiben. Wenn Sie sehen möchten, wie ich es mache, gehen Sie zurück zu dem oben verlinkten Artikel und sehen Sie sich das Video an. Obwohl ich dies als den besten Ansatz zum Schreiben von Formeln empfehle, ist die Realität, dass Sie manchmal zu einer Formel zurückkehren müssen, die Sie zuvor geschrieben haben, und diese Formel debuggen müssen. Vielleicht funktioniert es nicht richtig, oder vielleicht müssen Sie es aus irgendeinem Grund verbessern. Was auch immer der Grund sein mag, heute teile ich meine Technik zum Debuggen komplexer Formeln mithilfe von QuickInfos.

Weil es notwendig ist

DAX ist aus mehreren Gründen schwierig zu debuggen. Erstens gibt es keine schrittweise Evaluierungsfunktion, wie sie in VBA, Excel und anderen Programmiersprachen vorhanden ist. Der zweite Grund ist, dass DAX-Formeln stark vom Verhalten des Filters (Filterkontext) abhängen, der aus Ihren Bildern stammt. Wenn Sie den Kontext des Filters nicht verstehen, können Sie Ihre Formeln nicht debuggen. Im Fall des GuV-Beispiels, das ich heute für diesen Artikel verwende, gibt es drei verschiedene Filterverhaltensweisen, die sich auf das Endergebnis auswirken können. Dies sind die ersten drei unten gezeigten Variablen.

debug-dax-1-7073353

In diesem Artikel werde ich Ihnen zeigen, wie Sie den Tooltip für ein Matrix-Visual einrichten, damit Sie während des Debugging-Vorgangs "sehen" können, was mit dieser Formel los ist.

Richten Sie einen Tooltip zum Debuggen ein

Im Folgenden finden Sie die Schritte zum Einrichten des Tooltips zum Debuggen von DAX-Formeln (ein vollständiges Video aller dieser Schritte finden Sie weiter unten auf der Seite).

  1. Erstellen Sie eine Kennzahl für jede der Zwischenvariablen in der DAX-Formel. In der obigen Formel habe ich Messungen für die 3 Variablen CalcType, DisplayDetailCode und isSubHeaderVisible geschrieben.
  2. Erstellen Sie eine Tooltip-Berichtsseite (Neue Seite -> Layout -> Seiteninformationen -> Tooltip).
  3. Stellen Sie die Seitengröße so ein, dass sie zum Inhalt des Tooltips passt, den Sie anzeigen möchten.
  4. Fügen Sie der QuickInfo-Seite eine Matrix-Grafik hinzu, und fügen Sie dann die Kennzahlen, die Sie für die Zwischenwerte in Schritt 1 erstellt haben, zu Werte hinzu.
  5. Fügen Sie der QuickInfo-Seite optional ein Textfeld hinzu und kopieren Sie die endgültige DAX-Formel, die Sie debuggen, in das Textfeld.
  6. Passen Sie gegebenenfalls die Größe der QuickInfo-Seite so an, dass der gesamte Inhalt sichtbar ist.
  7. Benennen Sie die Tooltip-Seite. Ich habe meine als Tooltip angerufen.
  8. Kehren Sie mit der endgültigen DAX-Formel zur Seite mit dem Bild zurück.
  9. Wenn es sich um eine Tabelle oder Matrix handelt, gehen Sie zu Format -> Tooltip. Erstellen Sie den Tooltip, wählen Sie den Tooltip-Typ als Berichtsseite aus und geben Sie den Namen der Tooltip-Seite im Platzhalter ein.

Das ist es. Jetzt können Sie mit der Maus über die Werte in der Matrix fahren und die Zwischenwerte und die endgültige Formel überprüfen, um zu überprüfen, ob sie korrekt sind oder nicht.

debug-dax-2-450x336-2595450

Video

Ich habe den gesamten Prozess aufgezeichnet, den ich zuvor im folgenden Video beschrieben habe.

Error: Beachtung: Geschützter Inhalt.