Freigeben über


CROSSJOIN-Funktion (DAX)

Gibt eine Tabelle zurück, die das kartesische Produkt aller Zeilen aus allen Tabellen in den Argumenten enthält. Die Spalten in der neuen Tabelle sind alle Spalten in allen Argumenttabellen.

Syntax

CROSSJOIN(<table>, <table>[, <table>]…)

Parameter

  • table
    Ein DAX-Ausdruck, der eine Tabelle mit Daten zurückgibt.

Rückgabewert

Eine Tabelle, die das kartesische Produkt aller Zeilen aus allen Tabellen in den Argumenten enthält.

Hinweise

  • Alle Spaltennamen aus table-Argumenten müssen in allen Tabellen unterschiedlich sein, oder es wird ein Fehler zurückgegeben.

  • Die Gesamtzahl der Zeilen, die von CROSSJOIN() zurückgegeben wurde, ist gleich dem Produkt der Anzahl von Zeilen aus allen Tabellen in den Argumenten; außerdem ist die Gesamtzahl von Spalten in der Ergebnistabelle die Summe der Anzahl von Spalten in allen Tabellen. Wenn z .B TableA rA Zeilen und cA Spalten, TableB rB Zeilen und cB Spalten und TableC rC Zeilen und cC Spalten enthält, dann enthält die resultierende Tabelle rA × rb × rC Zeilen und cA + cB + cC Spalten.

Beispiel

Das folgende Beispiel zeigt die Ergebnisse des Anwendens von CROSSJOIN() auf zwei Tabellen: Colors und Stationery.

Die Tabelle Colors enthält Farben und Muster:

Farbe

Muster

Red

Horizontal Stripe

Green

Vertical Stripe

Blue

Crosshatch

Die Tabelle Stationery enthält Schriftarten und Präsentation:

Schriftart

Präsentation

serif

embossed

sans-serif

engraved

Der Ausdruck zum Generieren des Cross Join wird nachfolgend dargestellt:

CROSSJOIN( Colors, Stationery)

Wenn der oben genannte Ausdruck dort verwendet wird, wo ein Tabellenausdruck erwartet wird, sind die Ergebnisse des Ausdrucks wie folgt:

Red

Horizontal Stripe

serif

embossed

Green

Vertical Stripe

serif

embossed

Blue

Crosshatch

serif

embossed

Red

Horizontal Stripe

sans-serif

engraved

Green

Vertical Stripe

sans-serif

engraved

Blue

Crosshatch

sans-serif

engraved