LuckyTemplates Dax-Variablen sind konstant: Was bedeutet das?

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!


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst