CROSSJOIN

适用于:计算列计算表度量值视觉计算

返回一个表,其中包含参数中所有表的所有行的笛卡尔乘积。 新表中的列是所有参数表中的所有列。

语法

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

parameters

术语 定义
任何返回数据表的 DAX 表达式

返回值

一个表,其中包含参数中所有表的所有行的笛卡尔乘积。

备注

  • 表参数中的列名在所有表中必须不同,否则返回错误。

  • CROSSJOIN() 返回的总行数等于参数中所有表的行数的乘积;此外,结果表中的总列数是所有表中的列数之和。 例如,如果 TableA 有 rA 行和 cA 列,TableB 有 rB 行和 cB 列,TableC 有 rC 行和 cC 列;那么,生成的表则有 rA × rb x rC 行和 cA + cB + cC 列

  • 在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。

示例

以下示例显示两个表应用 CROSSJOIN() 的结果:“颜色”和“信笺” 。

表“颜色”包含颜色和图案

颜色 模式
Red 横条纹
绿色 竖条纹
蓝色 交叉线

表“信笺”包含字体和表示形式

字体 呈现
衬线字体 浮凸
无衬线字体 镌刻

生成交叉联接的表达式如下所示:

CROSSJOIN( Colors, Stationery)  

在需要表表达式的任何位置使用上述表达式时,表达式结果如下:

颜色 模式 字体 呈现
Red 横条纹 衬线字体 浮凸
绿色 竖条纹 衬线字体 浮凸
蓝色 交叉线 衬线字体 浮凸
Red 横条纹 无衬线字体 镌刻
绿色 竖条纹 无衬线字体 镌刻
蓝色 交叉线 无衬线字体 镌刻