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()应用于两个表的结果:颜色信纸

颜色 包含颜色和图案:

颜色 模式
水平条带
绿 垂直条纹
Crosshatch

表格 文具 包含字体和演示文稿:

字体 介绍
衬线 浮雕
sans-serif

下面显示了生成交叉联接的表达式:

CROSSJOIN( Colors, Stationery)

在预期表表达式的位置使用上述表达式时,表达式的结果如下所示:

颜色 模式 字体 介绍
水平条带 衬线 浮雕
绿 垂直条纹 衬线 浮雕
Crosshatch 衬线 浮雕
水平条带 sans-serif
绿 垂直条纹 sans-serif
Crosshatch sans-serif