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.
In diesem Tutorial erfahren Sie mehr über verschiedene Schlüsselwörter und Funktionen in DAX Studio mit jeweils einem spezifischen Abfragebeispiel.
Insbesondere lernen Sie die Schlüsselwörter ORDER BY und START AT sowie die Funktionen TOPNSKIP und ADDMISSINGITEMS kennen.
Inhaltsverzeichnis
Beispiel für eine DAX-Abfrage: Schlüsselwort ORDER BY
Mit dem Schlüsselwort ORDER BY können Sie einen Datensatz sortieren.
Grundlegendes Beispiel
Mit dem Schlüsselwort ORDER BY können Sie beispielsweise eine Spalte alphabetisch sortieren.
Sie können sehen, dass die Daten der ersten Zeile mit „A“ beginnen. Die Standardsortierreihenfolge von DAX Studio ist aufsteigend .
Wenn Ihre Daten in absteigender Reihenfolge angezeigt werden sollen, schreiben Sie DESC . In diesem Beispiel beginnt die Spalte „Marke“ also nicht mit einem „A“, sondern mit einem „W“.
Wenn Sie die Reihenfolge wieder aufsteigend ändern möchten, schreiben Sie ASC . Sie können auch mehrere Spalten gleichzeitig sortieren. Sie können dies tun, indem Sie die gewünschten Spalten durch ein Komma getrennt eingeben.
Beispiel aus der Praxis
Schauen wir uns nun eine einfache reale Anwendung an, die das Schlüsselwort ORDER BY verwendet. Dies ist das gleiche Beispiel, das im TABLE-Schlüsselwort-Tutorial verwendet wird .
Sie können sehen, dass diese Tabelle drei Spalten zurückgibt. Der erste ist der Produkttyp, bestehend aus Langweilig und Trendig. Die zweite Spalte zeigt den Gesamtumsatz nach Produkttyp. Der dritte gibt den Prozentsatz des Umsatzes zurück.
In diesem Beispiel müssen Sie eine neue Spalte erstellen, die den Produkttyp sortiert. Schreiben Sie also nach der Anweisung das Schlüsselwort COLUMN und dann den Namen der Spalte, die Sie erstellen möchten.
Die Formel für diese Spalte ist dieselbe wie die IF-Syntax, aber anstelle von „Trendy“ und „Langweilig“ wird in dieser Spalte „1“ für „Trendy“ und „2“ für „Langweilig“ angezeigt.
Um diese Spalte in der Tabelle anzuzeigen, schreiben Sie sie mit der EVALUATE-Syntax.
Anschließend sehen Sie, dass der Tabelle mit den Nummern 1 und 2 eine neue Spalte „Produkttypsortierung“ hinzugefügt wird.
Um diese Spalte zu sortieren, schreiben Sie das Schlüsselwort ORDER BY nach der Syntax . Schreiben Sie dann nach dem Spaltennamen entweder ASC oder DESC, je nachdem, welche Sortierreihenfolge die Spalte haben soll.
Beispiel für eine DAX-Abfrage: START AT
Als nächstes lernen Sie das Schlüsselwort START AT .
START AT ist ein veraltetes Schlüsselwort. Die Verwendung wird für die meisten DAX-Abfragen nicht empfohlen. Möglicherweise finden Sie jedoch immer noch DAX-Code, der dies nutzt. Daher ist es immer noch wichtig zu wissen, was es ist und in welchen Fällen es verwendet werden kann.
Grundlegendes Beispiel
Schreiben Sie zunächst das Schlüsselwort EVALUATE. In diesem Beispiel wird die Tabelle „Products“ verwendet. Bevor Sie START AT schreiben, verwenden Sie zunächst ORDER BY und geben Sie dann die Spalten an, die Sie einschließen möchten.
Sie können dann START AT schreiben. Diese Syntax folgt der Reihenfolge, die der Reihenfolge ähnelt, in der Sie Ihre Spalten unter ORDER BY geschrieben haben. In diesem Beispiel beginnt die Spalte „Produktschlüssel“ bei „2“ und die Spalte „Marke“ bei „Contoso“.
Wenn Sie F5 drücken, können Sie in der Ergebnistabelle sehen, dass die angegebenen Spalten der Richtung der Abfrage folgen.
Sehen wir uns nun an, was passiert, wenn eine weitere Spalte hinzugefügt wird. In diesem Fall sollte die Spalte „Farbe“ bei „Silber“ beginnen.
Wenn Sie diese Abfrage ausführen, können Sie sehen, dass der erste Eintrag in der Spalte „Farbe“ „weiß“ ist. Bei Verwendung von START AT kann nicht garantiert werden, dass das Ergebnis immer allen Bedingungen entspricht.
In diesem Beispiel gibt es in der Produkttabelle keine Instanz, die 2, Contoso und Silver in derselben Zeile enthält. Stattdessen versucht die DAX-Engine, die beste Übereinstimmung mit der von Ihnen erstellten Abfrage zu erstellen.
Komplexes Beispiel
Schauen wir uns ein anderes Beispiel an:
Schreiben Sie nach EVALUATE das Schlüsselwort ORDER BY, gefolgt von den drei angegebenen Spalten. Schreiben Sie anschließend START AT. In diesem Fall sollte die Spalte „Farbe“ bei „Rot“ beginnen, die Spalte „Geschlecht“ sollte bei „M“ beginnen und die Spalte „Speicherschlüssel“ sollte bei „2“ beginnen.
Nachdem Sie die Abfrage ausgeführt haben, können Sie sehen, dass die DAX-Engine ihr Bestes gegeben hat, um die angegebenen Parameter zu erfüllen.
In den Ergebnissen können Sie sehen, dass zwei Spalten korrekt sind, während die Store Key-Spalte bei 199 statt bei 2 beginnt. Dies liegt daran, dass der Store Key 2 im Datenmodell dieses Beispiels nicht vorhanden ist.
Langsame DAX-Engine
Klicken Sie auf der Registerkarte „Startseite“ auf die Schaltfläche „Server-Timings“.
Unten erscheint eine neue Registerkarte. Klicken Sie im Dropdown-Pfeil „Ausführen“ auf die Schaltfläche „ Cache löschen und dann ausführen“ .
Sie können sehen, dass DAX Studio 142 ms benötigt, um die Abfrage auszuführen. Wenn Sie die START AT-Syntax entfernen und den Code erneut ausführen, sehen Sie, dass die Ausführung nur 11 ms dauert.
Die Ausführung der Abfrage dauert länger, wenn eine START AT-Syntax vorhanden ist, da sie ein Verhalten der DAX-Engine namens CallBackDataID aufruft .
START AT macht Ihren Code extrem langsam. Wenn die Verwendung nicht erforderlich ist, vermeiden Sie es besser.
Dies hat erhebliche Auswirkungen auf die Gesamtleistung des DAX-Codes, den Sie schreiben. Aus diesem Grund ist es am besten, andere ähnliche Funktionen zu verwenden.
Beispiel für eine DAX-Abfrage: TOPNSKIP-Funktion
Das nächste, was Sie in diesem Tutorial lernen werden, ist die TOPNSKIP- Funktion. Diese Funktion ähnelt , weist jedoch einen kleinen Unterschied und einen zusätzlichen Parameter auf. Um dies besser zu verstehen, schauen wir uns ein Beispiel an.
TOPN gegen TOPNSKIP
Schreiben Sie zunächst das Schlüsselwort EVALUATE. Schreiben Sie dann das TOPN-Argument unten, um die Top 100 Zeilen der Produkttabelle anzuzeigen.
Diese Tabelle wurde auch in aufsteigender Reihenfolge in Bezug auf die Spalte „Produktschlüssel“ sortiert.
Ersetzen Sie nun TOPN durch TOPNSKIP. Geben Sie im zweiten Argument die Anzahl der Zeilen an, die Sie überspringen möchten. In diesem Beispiel wird 10 angegeben.
Wenn Sie dies ausführen, werden Sie sehen, dass die Spalte „Produktschlüssel“ jetzt bei 11 beginnt und bei 110 endet. Beachten Sie, dass Sie die Funktion TOPNSKIP nicht innerhalb einer berechneten Tabelle oder in einem tabellarischen Datenmodell verwenden können.
Ein anderes Beispiel
In diesem nächsten Beispiel sehen wir uns die obersten 5.000 Zeilen in der Kundentabelle an. Diese Tabelle ist in aufsteigender Reihenfolge in Bezug auf die Spalte „Geschlecht“ sortiert.
Wenn Sie die Funktion TOPN verwenden, können Sie sehen, dass die Tabelle 9.518 Zeilen zurückgibt. Das bedeutet, dass einige Daten ungefiltert blieben, selbst wenn Sie angegeben haben, nur die obersten 5.000 Zeilen anzuzeigen.
Wenn Sie jedoch die Funktion TOPNSKIP verwenden, können Sie sehen, dass die Tabelle nur die ersten 5.000 Zeilen in der Spalte „Geschlecht“ zurückgibt.
Selbst wenn die Spalte „Geschlecht des Kunden“ mehrere Regeln für ein bestimmtes Geschlecht enthält, gibt die Funktion TOPNSKIP nur die ersten 5.000 Zeilen zurück. Dieses Ergebnis kann bei Verwendung der TOPN-Funktion nicht garantiert werden.
Beispiel für eine DAX-Abfrage: ADDMISSINGITEMS-Funktion
Schauen wir uns zum Schluss die Funktion ADDMISSINGITEMS in DAX Studio an.
Wenn Sie SUMMARIZECOLUMNS verwenden, wird standardmäßig versucht, leere Zeilen aus dem Ergebnis zu entfernen. Beispielsweise können wir eine Abfrage schreiben, die die Produktfarbe, die Produktmarke und das Geschlecht des Kunden zusammenfasst.
Wenn Sie F5 drücken, sehen Sie, dass die Tabelle drei Spalten zurückgibt. Die Spalte „Geschlecht“ besteht aus drei Geschlechtstypen: männlich, weiblich und leer. Blank vertritt das Unternehmen. Sie können auch sehen, dass 333 Zeilen zurückgegeben werden.
Wenn Sie jedoch eine Spalte „Gesamtumsatz“ erstellen, entfernt der SUMMARIZECOLUMNS-Filter die Zeilen, die leere Werte für den Gesamtumsatz enthalten. Statt 333 Zeilen enthält die Tabelle nur noch 323 Zeilen.
Es gibt zwei Möglichkeiten, diese Zeilen wiederherzustellen. Die erste Möglichkeit besteht darin , nach dem Gesamtumsatz eine Null hinzuzufügen . In den Ergebnissen können Sie sehen, dass 10 Zeilen einen Nullwert für den Gesamtumsatz zurückgeben.
Allerdings führt diese Option nicht immer zum besten Ergebnis. Stattdessen gibt es eine spezielle Funktion, mit der Sie dieses Problem lösen können: die ADDMISSINGITEMS-Funktion .
Um diese Funktion zu verwenden, platzieren Sie diese nach EVALUATE. Schreiben Sie im ersten Argument die Spalten. Sie müssen diese Spalten auch in den GroupBy-Parameter von SUMMARIZECOLUMNS einfügen.
Wenn Sie diese Abfrage ausführen, werden Sie feststellen, dass die Tabelle jetzt 333 Zeilen zurückgibt.
Wenn Sie die Spalten „Gesamtumsatz“ sortieren und die Null entfernen, gibt die Tabelle leere Werte unter der Spalte „Gesamtumsatz“ zurück.
Anstatt also eine Null zu melden, gibt die Tabelle ein Leerzeichen für Zeilen zurück, die von der SUMMARIZECOLUMNS-Funktion entfernt wurden.
Verwenden von ADDMISSINGITEMS und FILTER
Sie können die Funktion ADDMISSINGITEMS auch zusammen mit verwenden . Lassen Sie uns beispielsweise die Zeilen herausfiltern, die „Tailspin Toys“ enthalten. In der Abfrage heißt es, dass die Spalte „Marke“ nicht ( <> ) Tailspin Toys enthalten darf.
Wenn Sie F5 drücken, sehen Sie, dass die Tabelle jetzt nur noch 331 Zeilen zurückgibt. Daher wurden die beiden Zeilen mit der Marke „Tailspin Toys“ entfernt.
Abschluss
Die beiden Schlüsselwörter und zwei Funktionen, die in diesem Tutorial besprochen werden, sind Grundkenntnisse, die Sie beim Erstellen von Abfragen in DAX Studio benötigen. Diese werden sich bei der Bearbeitung komplexerer realer Anwendungen als nützlich erweisen.
DAX Studio ist ein leistungsstarkes Tool zum Ausführen und Analysieren von DAX-Abfragen. Es ist wichtig, die Programmiergrundlagen dieser Software zu erlernen, damit Sie in Zukunft leichter mit anspruchsvollen Abfragen umgehen können.
LuckyTemplates-Experten
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