LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

Wann immer Sie eine Erklärung zur Verwendung von LuckyTemplates DAX-Variablen gehört haben, ist Ihnen möglicherweise der Satz „Variablen sind Konstanten“ aufgefallen. Es scheint einfach, aber in diesen Worten steckt eine ganze Menge Nuancen und Komplexität. In diesem Blog erkläre ich Ihnen, was dieser Ausdruck bedeutet und welche Auswirkungen er auf die Berechnung Ihrer Kennzahlen hat. Das Verständnis dieser Konzepte ist entscheidend, um sicherzustellen, dass Ihre Maßnahmen die gewünschten Ergebnisse erzielen. Das vollständige Video dieses Tutorials können Sie unten in diesem Blog ansehen.

Eine Variable in DAX kann eigentlich jeder gültige DAX-Ausdruck sein. Es kann ein Wert, eine Berechnung, ein Maß oder eine Variable sein, die eine Tabelle, eine andere Variable oder eine Kombination dieser Dinge darstellt.

Eine Variable besteht aus zwei Teilen. Es gibt die Deklaration, in der Sie die Variable initialisieren. Sie geben ihm einen Namen und dann einen Wert. Die andere ist die RETURN- Anweisung, die dann mindestens eine der von Ihnen deklarierten Variablen aufruft. Es ist nicht wie bei Klammern, bei denen Sie für jede Variable eine RETURN-Anweisung benötigen, aber Sie benötigen mindestens eine RETURN-Anweisung, wenn Sie Variablen deklariert haben.

Der Schlüssel hier ist, wie ich bereits sagte, dass Variablen konstant sind. Das bedeutet, dass, sobald Variablen einem Wert zugewiesen wurden, dieser Wert sich vor der RETURN-Anweisung nicht ändern kann .

Inhaltsverzeichnis

Anwenden von LuckyTemplates DAX-Variablen auf Kennzahlen

Schauen wir uns ein einfaches Beispiel an, in dem ich Länder und Gesamtverkäufe habe. Das Gesamtumsatzmaß ist nur unser grundlegendstes Maß, nämlich die der Linienverkäufe in der Umsatztabelle.

LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

Nehmen wir an, wir möchten den Gesamtumsatz für das Jahr 2020 erhalten. In diesem Datensatz haben wir Verkäufe für 2019, 2000 und 2021. Um die Verkäufe für 2020 zu erhalten, müssen wir eine sehr einfache Filterbedingung anwenden: Das ist . Also ändern wir unseren Filterkontext. Wir haben unser Gesamtumsatzmaß und dann ist unser Jahr 2020.

LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

Wenn wir diese Kennzahl in die Tabelle einfügen, erhalten wir genau das, was wir erwarten, nämlich die richtige Zahl für 2020.

LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

Wenn wir nun Variablen darauf anwenden möchten, finden Sie hier eine leicht überarbeitete Version der vorherigen Kennzahl, bei der ich eine Variable namens TotSales erstellt und diese einfach auf unsere Kennzahl „Gesamtumsatz“ gesetzt habe.

LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

Wenn wir es vom Standpunkt der algebraischen Substitution aus betrachten und einfach TotSales durch das ersetzen, was zuvor unser Gesamtumsatzmaß war, das diesem Gesamtumsatzmaß entspricht, werden Sie denken, dass es dasselbe sein und das Gleiche produzieren könnte Ergebnis. Aber wenn wir einen Blick darauf werfen und diese Kennzahl in unsere Tabelle einfügen, werden wir feststellen, dass sie nicht das gleiche Ergebnis liefert.

LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

Die Variable TotSales wird deklariert und erhält den Wert des Gesamtumsatzes. Nehmen wir an, wir befinden uns im Streit um Moldawien und diese Variable erhält den Wert 2,35 Millionen. Denken Sie daran, dass sich der Wert erst ändern kann, nachdem die RETURN-Anweisung aufgerufen wurde. Wenn wir also unsere Kennzahl in der Variablen RESULT berechnen , erhalten wir TotSales, eine Konstante von 2,35 Millionen.

Und dann wenden wir unseren Filterkontext darauf an, Dates[Year] gleich 2020 , aber das spielt keine Rolle, da sich diese Konstante nicht ändern kann. Wir könnten also sagen, dass Dates[Year] gleich 2019, 2021 usw. ist, es werden immer noch die gleichen 2,35 Millionen sein, da TotSales jetzt bis zum RETURN als Konstante festgelegt ist .

Und wenn es zurückkehrt, gehen wir zur nächsten Zeile und die Variable nimmt den Wert der Niederlande (4,4 Millionen) auf. Der Vorgang wiederholt sich und sperrt ihn bis zur RETURN-Anweisung als Konstante. Was wir erhalten, ist genau das, was wir in der Gesamtumsatzkennzahl haben, nicht in der Kennzahl, die bis 2020 gefiltert wird.

Und so denken Sie vielleicht, dass das eigentlich nicht sehr nützlich erscheint. In diesem Zusammenhang ist es nicht so. Dies ist tatsächlich ein häufiger Fehler, wenn Leute anfangen, Variablen zu verwenden . Sie fügen die Variable in den ersten Ausdrucksteil der CALCULATE-Anweisung ein. Dies führt normalerweise nicht zu dem gewünschten Ergebnis, da es als konstanter Wert festgelegt wird.

Verwenden von LuckyTemplates DAX-Variablen in Iteratoren

Variablen kommen wirklich zur Geltung, wenn man sie in Iteratoren einfügt. Ich werde Ihnen diesen Fall erläutern, bei dem es sich um einen früheren Fall handelt. Wir suchen nach einem Datum und dann nach einem früheren Wert, der einer Reihe von Bedingungen unterliegt.

LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

Denken Sie daran, dass Sie dies früher tun mussten, bevor Variablen zu DAX kamen, und zwar über eine Funktion namens . Aber mittlerweile funktionieren Variablen in diesem Zusammenhang tatsächlich so gut. Bei Variablen wird dringend empfohlen, diese FRÜHER-Funktion nie mehr zu verwenden.

Schauen wir uns also ein komplexeres Beispiel an, bei dem wir Variablen im Iteratorteil und nicht im Ausdrucksteil haben. Unten sehen Sie tatsächlich einen Fall aus einer Frage, die im gestellt wurde, wobei das Mitglied jedes Datum innerhalb eines Zeitraums betrachten und dann das erste vorherige Datum finden wollte, das weder ein Wochenende noch ein Feiertag war.

LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

Ich möchte mich besonders auf Dienstag, den 15. Oktober, als Paradebeispiel konzentrieren. Das gewünschte Ergebnis bestand darin, sich dieses Datum anzusehen. Montag war Kolumbustag, also ein Feiertag, die nächsten Tage davor waren Sonntag und Samstag. Das gewünschte Datum war also der 11. Oktober, also der Freitag.

Wenn Sie sich dazu die Spalte „Vorheriger Tag/Kein Wochenende/Kein Feiertag“ ansehen, war Dienstag der 11. Das Gleiche galt für Montag, Sonntag und Samstag. Das ist es, was wir als Ergebnis erreichen wollen.

Neben der obigen Tabelle finden Sie die Kennzahl, die wir für dieses Fallszenario verwendet haben. Wir haben eine Variable deklariert, die das ausgewählte Datum war ( VAR SelDate ), und die nur des Datums war. Es würde den 15. Oktober in unserer Variablen abholen und diesen dann bis zur RETURN-Anweisung als Konstante beibehalten.

Dann werten wir den DAX von außen nach innen aus. Wenn wir uns die Filterbedingung ansehen, entfernt sie Filter für Datumsangaben und setzt dann eine Reihe zusätzlicher Filter. Es geht darum, das stets ausgewählte Datum, den 15. Oktober, zu nehmen und zu sagen: Geben Sie mir alle Daten davor. Und stellen Sie dann sicher, dass keines dieser Daten ein Samstag, Sonntag oder ein Feiertag ist. Dann wird der der gefilterten Daten verwendet.

Hier sehen Sie, dass die Auswahl von Daten als Konstante eine Art Grundstein für die Auswertung aller anderen Daten entweder davor oder danach ist.

Wir haben unser ausgewähltes Datum und filtern dann alles, was davor liegt. Wir nehmen das Maximum dieser gefilterten Tabelle. Was wir also erreichen, ist das Maximum am 15., wenn wir alle anderen Bedingungen herausnehmen, also Freitag, den 11. Wenn wir dann zur RETURN-Anweisung gehen, beginnt sie am nächsten Tag, dem 16., von vorne. Es wird einfach weiter durch die Tabelle iteriert, bis das Ende der Daten erreicht ist.

Wie Sie in diesem Fall sehen können, funktioniert es genau wie geplant, wenn wir Variablen in den Iteratorteil und nicht in den Ausdrucksteil einfügen. Es macht sich die Tatsache zunutze, dass Variablen Konstanten sind.


Verwendung von Variablen in LuckyTemplates – Ein detailliertes Beispiel
für das Durcharbeiten umfangreicher DAX-Formeln in LuckyTemplates – Formatierungstipps enthalten
DAX-Variablen und Kommentare zur Vereinfachung von Formeln

Abschluss

In diesem Blog habe ich Ihnen gezeigt, wie Sie LuckyTemplates DAX-Variablen in einer Kennzahl anwenden und wie es funktioniert, wenn Variablen im Iteratorteil einer Kennzahl platziert werden.

Ich hoffe, dass diese Beispiele den Ausdruck „Variablen sind konstant“ erklären und Ihnen vielleicht einen Einblick geben, warum Ihre Maßnahmen zu funktionieren scheinen und manchmal auch nicht. Ich hoffe, dass Ihnen dies ein allgemeines Verständnis dafür vermittelt, was dieses wichtige Konzept bedeutet.

Alles Gute!

Leave a Comment

Streudiagramm-Visualisierungen mit Charticulator

Streudiagramm-Visualisierungen mit Charticulator

In diesem Tutorial erfahren Sie, wie Sie mit Charticulator eine Streudiagramm-Visualisierung für Ihren LuckyTemplates-Bericht erstellen und entwerfen.

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

Erfahren Sie, wie Sie ein PowerApps-Suchfeld von Grund auf erstellen und es an das Gesamtthema Ihrer App anpassen.

Power Automate String-Funktionen: Substring und IndexOf

Power Automate String-Funktionen: Substring und IndexOf

Erlernen Sie ganz einfach zwei komplizierte Power Automate String-Funktionen, die in Microsoft Flows verwendet werden können – die Funktionen substring und indexOf.

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Dieses Tutorial konzentriert sich auf die Power Query M-Funktion „number.mod“, um ein abwechselndes 0-1-Muster in der Datumstabelle zu erstellen.

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

In diesem Tutorial führe ich eine Prognosetechnik durch, bei der ich meine tatsächlichen Ergebnisse mit meinen Prognosen vergleiche und sie kumulativ betrachte.

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

In diesem Blog erfahren Sie, wie Sie mit Power Automate E-Mail-Anhänge automatisch in SharePoint speichern und E-Mails anschließend löschen.

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Erfahren Sie, wie die Do Until Schleifensteuerung in Power Automate funktioniert und welche Schritte zur Implementierung erforderlich sind.

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

In diesem Tutorial erfahren Sie, wie Sie mithilfe der ALLSELECTED-Funktion einen dynamischen gleitenden Durchschnitt in LuckyTemplates berechnen können.

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Durch diesen Artikel erhalten wir ein klares und besseres Verständnis für die dynamische Berechnung einer laufenden oder kumulativen Gesamtsumme in LuckyTemplates.

Power Automate auf jede Aktion in Workflows anwenden

Power Automate auf jede Aktion in Workflows anwenden

Erfahren und verstehen Sie die Bedeutung und ordnungsgemäße Verwendung der Power Automate-Aktionssteuerung „Auf jede anwenden“ in unseren Microsoft-Workflows.