CROSSJOIN
傳回資料表,包含引數中所有資料表所有資料列的笛卡兒乘積。 新資料表中資料行是所有引數資料表中的所有資料行。
語法
CROSSJOIN(<table>, <table>[, <table>]…)
參數
詞彙 | [定義] |
---|---|
table | 傳回資料表的任何 DAX 運算式。 |
傳回值
資料表,包含引數中所有資料表所有資料列的笛卡兒乘積。
備註
所有資料表中 table 引數的資料行名稱必須全不相同,否則會傳回錯誤。
CROSSJOIN() 傳回的資料列總數,等於引數中所有資料表的資料列數目乘積;此外,結果資料表中資料行總數就是所有資料表中資料行數的總和。 例如,如果 TableA 有 rA 個資料列和 cA 個資料行、TableB 有 rB 個資料列和 cB 個資料行,而 TableC 有 rC 個資料列和 cC 個資料行;則結果資料表有 rA × rb × rC 個資料列和 cA + cB + cC 個資料行。
在計算結果欄或資料列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
範例
下列範例會顯示將 CROSSJOIN() 套用至 Colors 和 Stationery 這兩個資料表的結果。
資料表 Colors 包含色彩和模式:
色彩 | 模式 |
---|---|
紅 | 橫條紋 |
綠 | 直條紋 |
藍色 | 菱格紋 |
資料表 Stationery 包含字型和呈現方式:
Font | 呈現方式 |
---|---|
serif | 浮雕 |
sans-serif | 蝕刻 |
產生交叉聯結的運算式如下所示:
CROSSJOIN( Colors, Stationery)
在應有資料表運算式的任何位置使用上述運算式時,運算式的結果如下:
色彩 | 模式 | Font | 呈現方式 |
---|---|---|---|
紅 | 橫條紋 | serif | 浮雕 |
綠 | 直條紋 | serif | 浮雕 |
藍色 | 菱格紋 | serif | 浮雕 |
紅 | 橫條紋 | sans-serif | 蝕刻 |
綠 | 直條紋 | sans-serif | 蝕刻 |
藍色 | 菱格紋 | sans-serif | 蝕刻 |