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.
Schauen wir uns noch einmal das in diesem Tutorial besprochene Problem an , bei dem die ersten N Werktage jedes Monats dynamisch verglichen wurden. Dieses Problem basierte auf einer Anfrage eines LuckyTemplates-Mitglieds in unserem Forum, bei dem er die ersten 5, 10, 15 und 20 abrechenbaren Tage (die Nicht-Wochenenden und Nicht-Feiertage) für einen bestimmten Monat dynamisch suchen und vergleichen wollte des Vormonats.
Anstatt Power Query zu verwenden, werden wir eine DAX-Codierungssprachenlösung entwickeln. Das vollständige Video dieses Tutorials können Sie unten in diesem Blog ansehen.
Im ersten Video habe ich eine Power-Query-Lösung zur Lösung dieses Problems entwickelt. Doch dann entwickelte einer unserer LuckyTemplates-Experten, Antriksh Sharma, eine äußerst effiziente Maßnahme, die es auch wert ist, tiefer in die Materie einzutauchen. Wir werden einige der Techniken besprechen, die er bei der Entwicklung einer Kennzahl verwendet hat, die Ihnen zusätzliche Tools in Ihrer DAX-Toolbox bietet.
Für mich und einige der anderen Experten, die sich das angeschaut haben, war das auf jeden Fall der Fall. Der vergleichbare Vergleich vergleichbarer Geschäftstage über Monate hinweg ist im Allgemeinen ein wertvolles Muster, das in vielen Situationen verwendet werden kann.
Lassen Sie uns in die Leistungsabfrage eintauchen und einen Blick darauf werfen, was Antriksh hier getan hat. Wir haben den Monat und das Jahr , den Gesamtumsatz und schließlich den Gesamtumsatz für N Werktage , die wir mithilfe einer Power-Abfrage basierend auf dem von uns entwickelten Was-wäre-wenn-Parameter ausgewählt haben.
Antriksh verfolgte einen ganz anderen Ansatz und nutzte eine erschreckend kurze Maßnahme, um das gesamte Problem zu lösen. Das erste, was mir dabei auffiel, war die Verwendung des Befehls.
Dies ist eine DAX-Funktion, die ich nicht sehr oft verwende, die aber perfekt für diese Art von Problem geeignet ist. Wenn wir uns den SQL BI DAX-Leitfaden ansehen, heißt es, dass die GENERATE-Funktion eine Tabellenfunktion ist, die als Eingabe zwei verschiedene Tabellen verwendet und dann ein Äquivalent des SQL-Befehls CROSS APPLY ausführt.
Es nimmt also eine Basistabelle (Tabelle1) und iteriert darüber, nimmt dann einen zweiten Tabellenausdruck und wertet diesen für jede Zeile in der ersten Tabelle aus und kehrt dann als Ausgabe zur Tabelle zurück.
Nehmen wir Antrikshs Maß und legen wir es in die Tabelle. Wir können sehen, dass es genau die gleichen Ergebnisse liefert wie die Power-Query-Lösung, die wir letztes Mal durchgeführt haben. Das ist also gut und bestätigt beide Maßnahmen recht gut.
Nehmen wir diese Maßnahme auseinander. Der erste hier angewendete Filter ist Dates[IsBusinessDay] = TRUE. Dadurch werden alle Nicht-Wochenend- und Nicht-Feiertagsdaten basierend auf dem Feld „IsBusinessDay“ der erweiterten Datumstabelle entfernt.
Im ersten Tutorial sprechen wir ausführlicher darüber , wo wir auch erfahren haben, wie wir das in unseren Feiertagstisch einbinden können.
Der interessante Teil davon liegt wirklich in den beiden Tabelleneingaben. Die erste Tabelle ist nur eine einspaltige Tabelle des Felds „Monat und Jahr“ in der Datumstabelle.
Aber in der zweiten Tabelleneingabe passieren die interessanten Dinge. Antriksh verwendete eine und verwendete dann unseren dynamischen Parameter als Anzahl der Zeilen im TOPN.
Die Kennzahl „Gesamtumsatz“ wird an die zweite Tabelle angehängt und dann auf die erste Tabelle angewendet.
Inhaltsverzeichnis
Eine komplexe Kennzahl mithilfe der DAX-Codierungssprache verstehen
Eine der einfachsten Möglichkeiten, herauszufinden, was eine komplexe Kennzahl wie diese bewirkt, besteht darin, den Tabelleneditor aufzurufen . Wir können uns diesen Ausdruck ansehen und zunächst herausfinden, was dieser TOPN-Ausdruck bewirkt.
Kopieren wir den TOPN-Teil und erstellen wir eine neue DAX-Abfrage . Denken Sie daran, dass DAX-Abfragen mit EVALUATE beginnen.
Wenn wir den TOPN-Teil einfügen, sehen wir, dass dadurch die ersten fünf Daten aus der Kundenauftragstabelle gezogen werden. Im TOPN gibt es eine Tabelle, die aus den Werten aller Bestelldaten in der Verkaufstabelle besteht.
Diese TOPN-Funktion übernimmt den Wert des Was-wäre-wenn-Parameters (der in diesem Fall 5 ist) und wendet ihn auf das Feld „Kundenauftragsdatum“ an. Anschließend werden die ersten fünf Daten im Filterkontext in aufsteigender Reihenfolge basierend auf diesem Feld abgerufen.
Da es keinen zusätzlichen Filterkontext gibt, werden lediglich die ersten fünf Daten aus der gesamten Tabelle abgerufen.
Die @Sales-Spalte fügt lediglich die Gesamtverkäufe im richtigen Filterkontext zur TOPN-Tabelle hinzu.
Bisher haben wir die erste Tabelle des Monats und des Jahres, die zweite Tabelle der TOPN der ersten N Daten aus der Verkaufstabelle und dann die damit verbundenen Gesamtverkäufe.
Verwenden der GENERATE-Tabelle in der DAX-Codierungssprache
Werfen wir einen Blick darauf, was diese GENERATE-Tabelle macht. Wir kehren zum Tabelleneditor zurück und erstellen eine neue DAX-Abfrage.
Wir beginnen wie immer mit EVALUATE, fügen den GENERATE-Teil des Codes ein und klicken auf 5.
Wir können sehen, dass für jede Zeile der ersten Tabelle eine Iteration und eine Verknüpfung mit den 5 Zeilen aus der TOPN-Tabelle durchgeführt wird, die im Kontext mit der @Sales-Funktion ausgewertet wurden.
Es hat die ersten 5 Werktage im April, die ersten 5 Werktage im Mai, die ersten 5 Werktage im Juni usw. gedauert, bis das Ende der ersten Tabelle erreicht ist.
Das ist genau das, was wir brauchen, und jetzt ist es relativ einfach, diese Werte zu addieren. Wir haben das Ergebnis (das ist die Tabellenvariable der GENERATE-Ergebnisse) und müssen dann die @Sales-Funktion zusammenfassen.
Im Kontext summieren wir nun die ersten fünf Geschäftstage im April, die ersten fünf Geschäftstage im Mai usw., bis wir bei unserem Gesamtbetrag von 23.737.430 US-Dollar angelangt sind. In diesem Fall gibt es keinen Zusammenhang zwischen Monat und Jahr .
Dadurch wird die gesamte @Sales-Spalte zusammengefasst und wir erhalten genau die gleiche Summe wie in unserer Power-Query-Lösung.
Sie können sehen, dass wir, wenn wir den Slicer auf 10 ändern, mit der DAX-Codierungssprache dynamisch dieselben Ergebnisse erhalten wie bei der Power-Abfrage.
Außerdem passt sich das Balkendiagramm unten dynamisch an die von uns vorgenommenen Änderungen an.
Takttitel dynamisch anpassen
Es gibt noch einen weiteren Trick, den ich Ihnen zeigen wollte. Sie können eine dynamische Anpassung Ihres Was-wäre-wenn-Parameters erstellen und diese dynamisch in einen Kennzahlentitel einbinden.
Wenn wir beispielsweise den Slicer oben auf 15 ändern, wird der Name der Kennzahl unten dynamisch in „ Total Sales for the First 15 Business Days of Each Month“ geändert .
In DAX gibt es eine einfache Möglichkeit, dies mithilfe der bedingten Formatierung zu tun . Wir nehmen im Grunde nur drei Saiten. Der erste ist der Gesamtumsatz für First . Anschließend verketten wir diesen mit dem Wert, den wir aus dem Was-wäre-wenn-Parameter ermitteln, und verknüpfen ihn dann einfach mit dem Rest des Titels.
Dann gehen wir ins Visual, gehen zur bedingten Formatierung des Titels und klicken auf fx .
Wir formatieren nach Feldwert und wählen das dynamische Titelmaß aus. Dadurch wird die Auswahl des Was-wäre-wenn-Parameters geändert.
Abschluss
Was wir jetzt haben, ist eine Komplettlösung mit der DAX-Codierungssprache. Wir haben eine wirklich kreative und effiziente Möglichkeit besprochen, dies mithilfe der GENERATE-Funktion zu tun. Ich möchte Antriksh dafür danken, dass er sein brillantes DAX-Wissen mit uns geteilt hat. Ich habe viel gelernt, als ich seine DAX-Lösung durchgegangen bin, und ich hoffe, Sie haben das auch gelernt.
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
In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.
In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.
In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.
Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.
Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.
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.
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