Arbeiten mit iterierenden Funktionen in DAX

Arbeiten mit iterierenden Funktionen in DAX

Ich habe bei der Arbeit mit LuckyTemplates-Mitgliedern im Forum einige Verwirrung mit iterierenden Funktionen in DAX festgestellt . Deshalb werden wir einen Überblick darüber geben, was mit diesen Funktionen erreicht werden kann und warum Sie sie verwenden sollten. Sie können sich das vollständige Video dieses Tutorials unten in diesem Blog ansehen.

Je mehr Sie sich mit DAX- Formeln befassen, desto häufiger werden Sie diese Iterationsfunktionen verwenden, als Sie denken. Sie sind viel vielseitiger als einfache Aggregationsfunktionen wie SUM oder AVERAGE .

Ich habe hier einige Beispiele und möchte die Logik in jedem dieser Beispiele durcharbeiten, damit Sie ein sehr gutes Verständnis dafür bekommen, was tatsächlich passiert, wenn die Logik über diese Formeln ausgeführt wird.

Das Wichtigste an der Iteration von Funktionen ist, dass sie etwas durchlaufen.

Inhaltsverzeichnis

Einfache Iteration mit SUMX

Arbeiten mit iterierenden Funktionen in DAX

In diesem Fall möchte ich etwas zusammenfassen, aber jede einzelne Zeile in dieser Verkaufstabelle durchlaufen.

Arbeiten mit iterierenden Funktionen in DAX

Und dann möchte ich in jeder einzelnen Zeile diese spezifische Logik hier ausführen.

Arbeiten mit iterierenden Funktionen in DAX

Kommen wir schnell zu unserer sehr einfachen Sales-Tabelle, in der ich in jeder einzelnen Zeile eine Logik ausführen möchte. Und dann möchte ich die Menge mit dem Preis multiplizieren.

Arbeiten mit iterierenden Funktionen in DAX

Der Preis ist in dieser Tabelle nicht vorhanden. Und für dieses spezielle Modell steht es tatsächlich in der Produkttabelle.

Arbeiten mit iterierenden Funktionen in DAX

Als nächstes muss ich auf meine Produkttabelle zurückgreifen, und das kann ich mit RELATED tun . Wenn wir die Menge multipliziert mit dem jeweiligen Preis berechnen, tun wir dies für jede einzelne Zeile. Genau das passiert in dieser Formel.

Dies sind die Schlüsselkonzepte, an die wir uns erinnern sollten, wenn wir anfangen, fortgeschrittenere Dinge zu tun.

Ein alternativer Ansatz zur Umsatzsteigerung mit SUMX

Arbeiten mit iterierenden Funktionen in DAX

In diesem Beispiel lasse ich SUMX erneut die Sales-Tabelle durchlaufen. Also führen wir diese Logik in jeder einzelnen Zeile aus und berechnen die Menge mal den Preis in jeder einzelnen Zeile und aggregieren sie dann, sobald die gesamte Iteration abgeschlossen ist.

Arbeiten mit iterierenden Funktionen in DAX

Sie werden hier sehen, dass dieses Ergebnis genau mit den Ergebnissen im ersten Beispiel (SUMX-Tutorial 2) oder dem Gesamtumsatz übereinstimmt.

Sie können hier eine ganze Reihe verschiedener Dinge einfügen – es kann ein Maß sein und Sie können mit einer Iterationsfunktion verzweigen. Sie müssen nicht auf bestimmte Spalten verweisen, um die Berechnungen tatsächlich korrekt durchzuführen.

Arbeiten mit iterierenden Funktionen in DAX

Wie Sie hier sehen können, habe ich hier lediglich eine Kennzahl (Gesamtumsatz) platziert und erhalte genau das gleiche Ergebnis.

SUMX und logische Funktionen

Arbeiten mit iterierenden Funktionen in DAX

Ich verwende hier SUMX , aber es ist auch für AVERAGEX , MINX und MAXX relevant . Es sind alles sehr ähnliche Dinge.

Ein weiterer wichtiger Punkt, den Sie bei diesen Iterationsfunktionen beachten sollten, ist, dass sie in jeder einzelnen Zeile eine Logik ausführen und das Ergebnis im Speicher speichern.

Sobald alle diese Werte im Speicher gespeichert sind, ist die übergreifende Berechnung abgeschlossen – wie eine SUMME oder ein MITTELWERT .

Arbeiten mit iterierenden Funktionen in DAX

Zurück zu unserem Beispiel: Hier sehen Sie, dass der Betrag in dieser Spalte etwas geringer ist als in den vorherigen Spalten.

Arbeiten mit iterierenden Funktionen in DAX

Mit der SUMX- Iterationsfunktion möchte ich jede einzelne Zeile in der Sales-Tabelle durchlaufen. Und in jeder einzelnen Zeile möchte ich berechnen, ob dieser bestimmte Verkauf mehr als 2.000 US-Dollar beträgt. Wenn ja, möchte ich den Gesamtumsatz für diese Zeile berechnen. Aber wenn die Gesamtsumme des Verkaufs weniger als 2.000 $ betrug, dann möchte ich null zurückgeben. Ich möchte also nur die höherwertigen Umsätze berechnen.

Einige Leute werden vorschlagen, dass ich die Logik einfach in eine berechnete Spalte einfügen könnte. Aber wir wollen das nicht tun, weil es eine viel bessere Möglichkeit gibt, diese Logik innerhalb von DAX auszuführen, als sie physisch in einer Spalte zu platzieren.

Durch Tabellen iterieren

Hier sind Iterationsfunktionen wirklich erstaunlich. Sie können nicht nur wie zuvor eine physische Tabelle durchlaufen, sondern auch eine andere virtuelle Tabelle, die Sie als Parameter eingeben.

Arbeiten mit iterierenden Funktionen in DAX

Wir gehen davon aus, dass jedes einzelne Ergebnis hier einen bestimmten Kontext hat. In diesem speziellen Fall haben wir den Kundenkontext.

Arbeiten mit iterierenden Funktionen in DAX

In diesem Zusammenhang möchte ich jeden einzelnen Standort durchlaufen und sehen, ob ein bestimmter Kunde einen Umsatz von über 5.000 US-Dollar erzielt hat.

Wenn ja, möchte ich den Gesamtumsatz berechnen. Wenn dies jedoch nicht der Fall ist, möchte ich, dass der Wert Null zurückgibt.

Arbeiten mit iterierenden Funktionen in DAX

In diesem speziellen Fall berechne ich also die hochwertigen Standorte, an denen dieser Kunde kauft, und die Gesamtverkäufe, die er an diesen Standorten erzielt.

Arbeiten mit iterierenden Funktionen in DAX

VALUES erstellt hier eine virtuelle Tabelle . SUMX arbeitet hier also nicht einmal an irgendetwas Physischem. Es geht tatsächlich darum, an etwas zu arbeiten, das völlig virtuell ist.

Einfache Iteration mit MINX

Arbeiten mit iterierenden Funktionen in DAX

Dies ähnelt den vorherigen Beispielen, aber anstelle von SUMX führen wir eine andere Art der Aggregation aus, sobald wir jede einzelne Zeile durchlaufen.

Arbeiten mit iterierenden Funktionen in DAX

In diesem speziellen Fall schreiben wir jeden einzelnen Standort für jeden Kunden durch und ermitteln den Gesamtumsatz für jeden dieser Standorte.

Arbeiten mit iterierenden Funktionen in DAX

Dann möchten wir den Mindestbetrag an dem Ort zurückerstatten, an dem sie gekauft haben.

Einfache Iteration mit MAXX

Arbeiten mit iterierenden Funktionen in DAX

Ich mache hier auch etwas Ähnliches, nur um Ihnen die Vielseitigkeit der Iteration von Funktionen zu zeigen. Ich durchgehe jeden einzelnen Standort und schaue mir deren Umsätze an, gebe dann aber das Maximum dieser Standortumsätze zurück, weshalb wir hier höhere Zahlen sehen.

Abschluss

Das Wichtigste, worauf ich in diesem Artikel eingehen wollte, ist die Bandbreite der Optionen, die Sie innerhalb einer Iterationsfunktion im Vergleich zu einer einfachen Summe oder einem Durchschnitt haben.

Sobald Sie sich mit komplexeren Berechnungen befassen, werden Sie erkennen, wie wichtig diese speziellen Funktionen für die Rückgabe von Werten auf Kontextebene sind.

Es gibt so viel Vielseitigkeit und so viele Möglichkeiten, diese Berechnungen mit einer einfachen Formel durchzuführen, wenn Sie nur wissen, wie man die Parameter manipuliert.

Wenn es Ihnen Spaß gemacht hat, mehr über diese Iterationsfunktionen zu erfahren , können Sie diese Links durchsuchen, um weitere Informationen zu diesem Thema zu erhalten:

Schlüsselkonzepte zum Iterieren von Funktionen in LuckyTemplates

Logik durch virtuelle Tabellen iterieren – Erweiterte DAX-Konzepte in LuckyTemplates

Viel Spaß beim Durcharbeiten.


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