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, wie die Funktion in DAX mithilfe des Server-Timings-Bereichs und seines Abfrageplans funktioniert.
Mit der CROSSJOIN-Funktion kann ein kartesisches Produkt zweier Tabellen erstellt werden. Ein kartesisches Produkt ist eine Menge aller möglichen Zeilenkombinationen aus zwei oder mehr Tabellen.
Der folgende DAX-Code wird in diesem Tutorial verwendet.
Sie können sehen, dass die CROSSJOIN-Funktion zu einer Kombination aus Marke und Farbe des Produkts führt, auch wenn einige dieser Kombinationen nicht in der Faktentabelle vorhanden sind . Daraus ergibt sich eine Tabelle mit insgesamt 176 Zeilen.
Auf der Registerkarte „Server-Timings“ ruft die erste Abfrage die Marke aus der Produkttabelle ab, während die zweite Abfrage die Farbe abruft.
Im Logical Query Plan gibt die erste Zeile das Ergebnis in Form einer Tabelle zurück. Die zweite und dritte Zeile in der Produkttabelle scannen jeweils die Farbe und die Marke.
Sobald die Daten empfangen wurden, durchläuft die Formel-Engine die Tabelle und erstellt eine Kombination beider Spalten. Das CrossApply in Zeile 2 entspricht der CROSSJOIN-Funktion.
Inhaltsverzeichnis
CROSSJOIN-Ergebnisse im DAX filtern
Funktion können Sie die Ergebnisse eines CROSSJOIN filtern. Sie können es beispielsweise verwenden, um nur Produkte anzuzeigen, die rot sind.
Bedenken Sie jedoch, dass Sie eine CROSSJOIN-Funktion nicht in ein FILTER-Argument einfügen können .
Wenn Sie nun diesen Code ausführen und die Registerkarte „Server-Timings“ überprüfen, werden Sie feststellen, dass der Filterkontext nicht als WHERE-Klausel in der Abfrage angezeigt wird.
Die CROSSJOIN-Funktion kann nur von der Formel-Engine aufgelöst werden . liegt, bei denen es sich um Funktionen handelt, die nur von der Storage Engine aufgelöst werden können . Daher führte CROSSJOIN dazu, dass die Schleife zwischen diesen beiden Funktionen unterbrochen wurde.
Daher müssen Sie die FILTER-Funktion innerhalb des CROSSJOIN-Arguments platzieren, damit der Filter funktioniert.
Wenn Sie nun diesen Code ausführen und die Registerkarte „Server-Timings“ überprüfen, werden Sie feststellen, dass die FILTER-Funktion jetzt durch die WHERE-Klausel dargestellt wird.
Im logischen Abfrageplan können Sie sehen, dass anstelle des Filteroperators der Filter VertiPaq verwendet wird.
Dies liegt daran, dass die neue Filterbedingung im Code an die Storage Engine weitergegeben werden kann. Nachdem das Ergebnis zurückgegeben wurde, wird das CROSSJOIN-Argument innerhalb der Formel-Engine ausgeführt.
Der IN-Operator
Sie können in einem FILTER-Argument auch den Operator anstelle des Gleichheitszeichens verwenden.
Der IN-Operator kann im Ausdrucksargument der FILTER-Funktion verwendet werden, um eine Tabelle danach zu filtern, ob ein Wert in einer Werteliste oder in einer Tabelle enthalten ist.
Wenn Sie die Kombination FILTER – IN verwenden , muss die DAX-Engine einen IsEmpty- Filter durchführen, der bestätigt, ob die Produktfarbe Rot oder Schwarz ist.
Spalte „Gesamtumsatz“ im CROSSJOIN DAX-Ergebnis hinzufügen
Zusammen mit CROSSJOIN können auch andere Funktionen genutzt werden.
Sie können die Funktion verwenden , um Ihrer Tabelle eine weitere Spalte hinzuzufügen und dann das Argument der Informationen zu schreiben, die Sie anzeigen möchten.
In diesem Beispiel fügen wir eine Spalte „Gesamtumsatz“ hinzu.
Wenn Sie den Code ausführen, werden als Ergebnisse immer noch 176 Zeilen zurückgegeben. Bei einigen Kombinationen sind jedoch leere Werte in der Spalte „Gesamtumsatz“ enthalten. Dies liegt daran, dass diese Kombinationen keine entsprechende Zeile in der Tabelle „Sales“ haben.
Auf der Registerkarte „Server-Timings“ wählt der Code zunächst die Marke und die Farbe aus. Anschließend wird das Produkt aus Menge und Nettoverkaufspreis summiert.
In diesem Fall ruft die DAX-Engine zunächst alle Kombinationen aus Marke und Farbe ab, die in der Tabelle „Products“ vorhanden sind, zusammen mit denen mit einer entsprechenden Zeile in der Tabelle „Sales“. Anschließend werden die Marken- und Farbspalten separat abgerufen.
Im physischen Abfrageplan können Sie zwei Datencaches sehen; eine für die Marke und eine für die Farbe. Wenn Sie die Gesamtzahl der Datensätze multiplizieren, erhalten Sie 176 Zeilen.
Anschließend wird eine Suche in diesen 176 Zeilen durchgeführt, um zu sehen, ob sie einen entsprechenden Wert in der Tabelle „Sales“ haben. Sie sehen, dass nur 111 Zeilen Werte haben. Die anderen 65 Zeilen geben Leerzeichen zurück.
Wenn Sie außerdem weitere Spalten im CROSSJOIN-Argument hinzufügen, gibt das Ergebnis auch mehr Zeilen zurück.
Abschluss
Die DAX CROSSJOIN-Funktion generiert eine neue Tabelle, indem sie Zeilen aus einer Tabelle mit den Zeilen aus einer anderen kombiniert. Diese Funktion ähnelt der CROSS JOIN-Klausel in SQL und kann zum Erstellen komplexerer Abfragen in Ihrem Datenmodell verwendet werden.
Es kann eine Liste aller möglichen Wertekombinationen aus zwei oder mehr Tabellen generieren. Es kann auch verwendet werden, um schnell eine neue Tabelle mit einer großen Anzahl von Zeilen zu erstellen, was für Datenanalysen, Tests oder Leistungsbenchmarking nützlich sein kann.
Insgesamt ist die CROSSJOIN-Funktion ein praktisches Werkzeug in Szenarien, in denen Sie Daten aus mehreren Tabellen kombinieren oder eine Liste aller möglichen Kombinationen erstellen müssen.
Alles Gute,
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