So verwenden Sie eine Iterationsfunktion in LuckyTemplates

In diesem Tutorial erfahren Sie mehr über verschiedene Iterationsfunktionen und wie Sie diese effizient in Ihren Berechnungen einsetzen können.

Ich diskutiere oft, dass berechnete Spalten bei manchen Berechnungen nicht erforderlich sind. Dies liegt an Iteratoren.

Iteratoren oder Iterationsfunktionen können Ihnen dabei helfen, eine Berechnung durchzuführen, ohne die Ergebnisse physisch in die Tabelle einzutragen.

Diese Technik kann Ihnen dabei helfen, den zum Laden Ihres LuckyTemplates-Datenmodells erforderlichen Speicher zu sparen . In den nächsten Abschnitten zeige ich Ihnen, wie Sie Ihre Berechnungen mithilfe von Iteratoren optimieren.

Inhaltsverzeichnis

Berechnen des Gesamtumsatzes mithilfe einer Iteratorfunktion

Erstellen Sie zunächst eine neue Kennzahl für „Gesamtkosten“ . Stellen Sie sicher, dass Sie die Kennzahlgruppe auswählen, in der diese neue Kennzahl landen soll.

Drücken Sie die Umschalt- und Eingabetaste , um eine Zeile nach unten zu gehen, bevor Sie die erste Iterationsfunktion eingeben, nämlich .

In der Formelleiste von LuckyTemplates sehen Sie bereits genau, was Sie nach der von IntelliSense vorgeschlagenen Funktion einfügen müssen. Für SUMX müssen Sie danach eine Tabelle hinzufügen.

Die SUMX- Formel führt die Logik in jeder einzelnen Zeile der angegebenen Tabelle aus. Aus diesem Grund werden Iteratoren mit dem Zeilenkontext verknüpft . Innerhalb der Kennzahl können Iteratoren die Formel in einen Zeilenkontext umwandeln.

Sie müssen nach der SUMX- Funktion auf die Sales- Tabelle verweisen . Um die Gesamtkosten zu berechnen, müssen Sie die Bestellmenge mit den Gesamtstückkosten multiplizieren .

Wir müssen überhaupt nicht auf die neu erstellte Spalte verweisen. Die Gesamtkosten sind ein Maß und ich kann es in meine Tabelle eintragen, um unsere Gesamtkosten zu bewerten.

Ziehen Sie nun die Kennzahl in die Tabelle, um die Ergebnisse anzuzeigen. Stellen Sie sicher, dass Sie im Stadtfilter einen Anfangskontext ausgewählt haben .

Wir können den Ausgangskontext unserer Berechnung ändern, indem wir auf die verschiedenen Regionen klicken, die wir betrachten möchten.

Die Gesamtkosten funktionieren in Bezug auf den Ausgangskontext ähnlich. Der anfängliche Kontext wird auf die Verkaufstabelle angewendet, aber dann berechnen wir in jedem dieser einzelnen Ergebnisse die Bestellmenge multipliziert mit den Gesamtstückkosten.

Hinter den Kulissen unseres Datenmodells haben wir unseren Filter aktiviert und es kommt Kontext aus unserer Tabelle „Regionen“ und ein weiterer Kontext aus unserer Tabelle „Datum“. Diese fließen in unsere Sales-Tabelle, die durch die iterierende Funktion SUMX gefiltert wird.

Da die SUMX- Funktion jede einzelne Zeile der Sales- Tabelle virtuell auswertet, ist keine physische Spalte für die Ergebnisse erforderlich.

Nach dem anfänglichen Kontext erhält SUMX das Produkt aus Bestellmenge und Gesamtstückkosten für jede einzelne Zeile. Abschließend werden alle berechneten Ergebnisse aller Zeilen ausgewertet.

Wie Sie bemerkt haben, wurde die ursprüngliche Spalte „Kosten“ durch eine berechnete Spalte erstellt. Wie ich bereits sagte, ist dies unnötig, da Iteratoren ihre Arbeit bereits erledigen können. Sie können es löschen, da es unnötigen Speicher in Ihrem Modell beanspruchen kann.

Iterierende Formeln führen Auswertungen für jede einzelne Zeile durch, während dies bei aggregierenden Formeln nicht der Fall ist.

Dies ist ein einfaches Beispiel, aber Sie können hier fortgeschrittener sein und IF-Anweisungen und SWITCH-Anweisungen schreiben. Außerdem müssen Sie keine physische Tabelle erstellen. Sie können stattdessen eine virtuelle verwenden.

Viele dieser Informationen werden ausführlich im Kurs „Mastering DAX“ behandelt, aber dieser dient nur dazu, Ihnen die Anfänge der Iteration von Funktionen zu zeigen und Ihnen zu zeigen, wie Sie sie bei Bedarf einsetzen können.

Wenn Sie das Bedürfnis verspüren, eine berechnete Spalte in Ihrer Faktentabelle zu erstellen, kann ich fast garantieren, dass eine Iterationsfunktion die Arbeit für Sie erledigt.

Verwenden anderer DAX-Iteratorfunktionen

Jetzt zeige ich Ihnen ein weiteres Beispiel dafür, wie Iteratoren Wunder bei Ihrer Berechnung bewirken können. Lassen Sie uns dieses Mal die durchschnittlichen Kosten ermitteln.

Kopieren Sie einfach die Formel „Gesamtkosten“ und fügen Sie sie in eine neue Kennzahl ein. Sie müssen lediglich den Namen in Average Costs ändern und dann anstelle von SUMX verwenden .

Die neue Formel basiert auf einer ähnlichen Logik, da sie jede einzelne Zeile der Tabelle „Sales“ auswertet . Darüber hinaus müssen Sie noch das Produkt aus Bestellmenge und Gesamtstückkosten ermitteln . Der einzige Unterschied besteht darin, dass die Formel anstelle der Summe den Durchschnitt berechnet.

Wenn Sie nun die Kennzahl „Durchschnittliche Kosten“ in die Tabelle einfügen, können Sie sehen, wie sie im Vergleich zur Kennzahl „ Gesamtkosten“ abschneidet .

Es ist erstaunlich, wie Sie eine ähnliche Logik ausführen können, indem Sie einfach die Iterationsfunktion ändern.

Zusätzliche Datenoptimierungstechniken 

Um Ihre Tabelle zu optimieren, können Sie überflüssige Informationen wie die Spalte „Gesamtumsatz“ löschen .

Da Sie die durchschnittlichen Kosten problemlos ermitteln können, benötigen Sie die Spalte „Gesamtumsatz“ in Ihrer Tabelle nicht mehr. Solange Sie die Spalten „Stückpreis“ und „ Gesamtstückkosten“ haben , ist alles in Ordnung.

Jetzt können Sie stattdessen mithilfe der SUMX- Funktion eine neue Kennzahl für den Gesamtumsatz (Iteration) erstellen . Sie müssen nur auf die Verkaufstabelle verweisen und dann das Produkt aus Bestellmenge und Stückpreis erhalten .

Anschließend können Sie die Ergebnisse in den Spalten „Gesamtumsatz“ und „Gesamtumsatz (Iteration)“ vergleichen . Beide haben die gleichen Ergebnisse, oder?

Hinsichtlich der Leistung gibt es keinen großen Unterschied zwischen der Verwendung berechneter Spalten und Iteratoren. Wenn es jedoch um das Datenmodell geht, kann eine Iteratorfunktion eine ganze Spalte entfernen und Ihnen Hunderte von Datenzeilen ersparen.

Darüber hinaus können Sie redundante Spalten löschen, da Iteratoren die erforderlichen Ergebnisse virtuell berechnen können. Durch diese Vorgehensweise wird Ihr Tisch viel dünner und Ihr Modell viel schneller. Stellen Sie sicher, dass Sie diese Optimierungstechnik in Ihren eigenen Berechnungen anwenden.

Abschluss

Zusammenfassend lässt sich sagen, dass eine iterierende Funktion jede einzelne Zeile auswertet, während dies bei Aggregatoren nicht der Fall ist.

Der Buchstabe X am Ende der Funktion erleichtert die Identifizierung von Iteratoren. Beispiele hierfür sind die Funktionen SUMX , AVERAGEX , , und mehr.

Durch die Verwendung iterierender Funktionen werden keine zusätzlichen physischen Tabellen erstellt . Dies kann Ihnen helfen, Speicher in LuckyTemplates zu sparen.

Die Beispiele für SUMX und AVERAGEX , die ich behandelt habe, sind einfache Szenarien. Später gehen wir auf fortgeschrittenere ein, indem wir IF-Anweisungen und SWITCH-Anweisungen hinzufügen .

Alles Gute!


DAX-Funktionen in LuckyTemplates: Verwenden von Iteratoren
zum Iterieren von Funktionen in der DAX-Sprache – ein detailliertes Beispiel
für die Arbeit mit iterierenden Funktionen in DAX

*****







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