Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

In diesem Blogbeitrag möchte ich mich mit der Iteration von Funktionen innerhalb der DAX-Sprache in LuckyTemplates befassen. Der Grund, warum ich etwas Zeit damit verbringen möchte, zu zeigen, was Sie mit der Iteration von Funktionen tun können, liegt darin, dass es sich um ein so wichtiges Konzept handelt, das Sie sehr gut erlernen müssen. Sie können sich das vollständige Video dieses Tutorials unten in diesem Blog ansehen.

Vielleicht haben Sie gerade erst ein paar einfache SUM-Rechnungen durchgeführt oder möglicherweise die AVERAGE-Funktion verwendet, aber es ist auch wichtig zu verstehen, wie man iterierende Funktionen verwendet, die am Ende ein X haben , wie zum Beispiel: SUMX, AVERAGEX oder COUNTX.

Der Grund dafür ist, dass Sie mit einer Iterationsfunktion viel weiter fortgeschritten sein können als mit einer Aggregationsfunktion.

Inhaltsverzeichnis

Was ist eine iterierende Funktion?

Wenn Sie immer noch nicht wissen, was eine iterierende Funktion ist, handelt es sich um eine Funktion in der DAX-Formelsprache, die im Allgemeinen ein X am Ende hat. Es gibt auch Tabellenfunktionen, die eine Tabelle wie FILTER oder VALUES durchlaufen, aber in diesem Fall beschäftigen wir uns ausschließlich mit SUMX.

Wenn Sie sich unsere Formel für den Gesamtumsatz ansehen, können Sie erkennen, dass es sich aufgrund des SUMX um eine iterierende Funktion handelt. Iterieren bedeutet, jede einzelne Zeile zu durchlaufen und eine Berechnung durchzuführen. In diesem Fall multiplizieren wir für jede einzelne Zeile in der Verkaufstabelle die Menge mit dem aktuellen Preis. Wir kehren auch mit der RELATED-Funktion zur Produkttabelle zurück, um den aktuellen Preis zu erhalten.

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Ich möchte Ihnen zeigen, wie Sie wirklich komplexe Iterationsfunktionen schreiben können, die großartige Erkenntnisse gewinnen, die Sie möglicherweise in Ihre Daten einbeziehen möchten. Für dieses Tutorial möchte ich berechnen, wie viele Verkäufe wir über einem bestimmten Preis tätigen. In diesem Fall wählen wir 2.000 $.

Ich möchte auch wissen, wie hoch unser Umsatz pro Monat für Produkte ist, die über 2.000 US-Dollar kosten, bei denen aber jemand mehr als nur ein Produkt kauft. Wir möchten auch sehen, wie gut es im Vergleich zu unserem Gesamtumsatz abschneidet. Dies ist die Art von Komplexität, die durch das Schreiben nur einer Formel und die Verwendung einer Iterationsfunktion erreicht werden kann.

Verkaufspreis über 2.000 $

Erstellen wir eine Kennzahl und nennen sie Sale Price > $2000 & Quantity > 1 . Im Allgemeinen müssten Sie ein paar verschiedene Spalten oder ein paar verschiedene Kennzahlen schreiben, um hier die Antwort zu sehen, aber ich zeige Ihnen, wie Sie es tatsächlich mit nur einer erreichen können. Ich fange mit SUMX an und hier steht, dass wir eine Tabelle eingeben müssen, oder?

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Deshalb werden wir diese Herausforderung „Menge > 1“ angehen , indem wir eine Tabelle erstellen, die nicht die gesamte Verkaufstabelle ist, sondern eine Tabelle, die bereits alles herausgefiltert hat, was nur einmal gesehen wurde. Wir werden hier FILTER verwenden, da es sich um eine Tabellenfunktion handelt, sodass Sie jede Art von Tabelle darin einfügen können. Dann gehen wir zu „Sales“ und durchlaufen jede einzelne Zeile in der Sales-Tabelle innerhalb dieser FILTER- Funktion und filtern jede Zeile mit einer Menge heraus, die größer als eins ist.

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Für jeden Umsatz über 1 möchte ich außerdem eine zusätzliche Logik erstellen. Ich werde hier ein Ausdrucksmuster schreiben und SWITCH verwenden. Wir gehen davon aus, dass ich den Gesamtumsatz berechnen möchte, wenn der aktuelle Preis des Verkaufs mindestens 2.000 US-Dollar beträgt. Wenn nicht, möchte ich es überhaupt nicht berechnen. Abschließend werde ich als alternatives Ergebnis 0 eingeben.

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Auf diese Weise schreiben Sie einige recht komplexe Iterationsformeln in der DAX-Sprache. Der entscheidende Teil besteht lediglich darin , zu verstehen, welche Art von Tabellen Sie dort einfügen können, und zu wissen, was die tatsächliche Iteration bewirkt .

In diesem Fall bewerte ich für jede einzelne Zeile in dieser Filter-Down-Tabelle den aktuellen Preis, der über 2.000 $ liegt. Wenn ja, zählen wir die Verkäufe dieser Zeile hoch, und wenn nicht, dann ist es nur 0.

Sobald ich diese Kennzahl in die Tabelle ziehe, sehen Sie, dass die Ergebnisse denen ähneln, die wir im ersten Diagramm erzielt haben. Der einzige Unterschied besteht darin, dass dies täglich geschieht.

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Verkaufspreis über 500 $

Wir können hier zusätzliche Erkenntnisse gewinnen, indem wir dasselbe Muster wiederverwenden. Wenn wir sehen möchten, was über 500 US-Dollar liegt, müssen wir hier nur ein paar kleine Änderungen vornehmen, die Eingabetaste drücken und dies dann ebenfalls in die Tabelle ziehen.

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Offensichtlich können wir einen großen Unterschied erkennen, da wir mehr Produkte zählen. Das liegt daran, dass wir nicht mehr so ​​viele Produkte mit höherem oder niedrigerem Preis loswerden wie zuvor mit dem 2000-Dollar-Produkt.

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Visualisierung der Daten 

Wir können dies jedoch auch in eine Visualisierung umwandeln. Wie Sie sehen, sieht das Diagramm jedoch etwas unübersichtlich aus. Daher ist es wahrscheinlich besser, in der Tabelle zu bleiben. Alternativ können wir den Zeitrahmen wie im Diagramm links verdichten.

Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel

Hoffentlich können Sie bewerten und verstehen, wie weit Sie mit diesen Iterationsfunktionen innerhalb der DAX-Sprache kommen können. Sie können beginnen, sich wirklich mit jedem Aspekt Ihrer Daten zu befassen oder ganz spezifische Erkenntnisse zu gewinnen. Dies erreichen Sie, indem Sie diesen Zeilenkontext verwenden, der es Ihnen ermöglicht, tatsächlich in diese iterierenden Funktionen einzudringen. Sie können sich eine einzelne Zeile ansehen, sie in oder außerhalb Ihrer Berechnung einfügen und die Iterationsfunktionen wie SUMX, AVERAGEX und COUNTX verwenden.

Iterierende Funktionen bieten Ihnen viel mehr Flexibilität bei den Berechnungen, die Sie auf Zeilenebene durchführen können, im Vergleich zu Aggregationen, bei denen Sie nur eine ganze Spalte aggregieren können. Bei der Iteration von Funktionen müssen Sie nun zunächst einen Tabellenverweis und dann einen Ausdruck eingeben, aber auf jeden Fall Ihre Vorstellungen darüber erweitern, was beides tatsächlich sein kann.

Innerhalb iterierender Funktionen können Sie tatsächlich jede Tabelle oder jede Ableitung einer Tabelle einfügen … auch jede virtuelle Tabelle oder jeden Verweis auf eine Tabelle. Das ermöglicht weitaus mehr Flexibilität, als Sie normalerweise hätten, wenn Sie einfach eine ganze Tabelle wie Ihre Transaktionstabelle verwenden würden, um eine gewisse Logik auszuführen.

Der von Ihnen eingegebene Ausdruck (oder das Maß) kann auch sehr komplex sein. Sie können eine erweiterte IF-Logik oder SWITCH-Logik verwenden oder grundsätzlich alles, was Sie auf Zeilenebene innerhalb einer berechneten Spalte tun können. Sie können es tatsächlich in diesen Ausdrucksteil einer iterierenden Funktion einfügen.

Abschluss

Die wichtigste Erkenntnis aus diesem Beitrag ist, dass es unglaublich wichtig ist, iterierende Funktionen innerhalb von LuckyTemplates zu verstehen und gut zu erlernen.

Wenn Sie dies gut lernen, werden die Möglichkeiten, interne Berechnungen im Speicher über Kennzahlen auszuführen, wirklich sehr, sehr wirkungsvoll.

Schauen Sie sich den an , wenn Sie gerade erst mit der DAX-Sprache und LuckyTemplates beginnen. In diesem kostenlosen Kurs gibt es viel zu lernen. Sie finden dies bei .


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.