CROSSJOIN
返回一个表,该表 contains 自参数中 all 表中 all 行的笛卡尔 product。 新表中的列 all 参数表中 all 列。
语法
CROSSJOIN(<table>, <table>[, <table>]…)
参数
术语 | 定义 |
---|---|
table |
返回数据表的任何 DAX 表达式 |
返回 value
一个表,该表 contains 自参数中 all 表中 all 行的笛卡尔 product。
言论
返回 errororall 表中,来自
table
参数的列名必须 all 不同。CROSSJOIN() 返回的行总数等于自变量中 all 表中的行数 product;此外,结果表中的列总数是 all 表中列数的 sum。 例如,
TableA 具有rA 行cA 列,Table B cB 列行, TableC 具有rC 行列;然后,生成的表 rA × rb × rC 行cA + cB + cC 列。在计算列 or 行级别安全性 (RLS) 规则中使用时,not 支持在 DirectQuery 模式下使用此函数。
例
以下示例显示了将 CROSSJOIN()应用于两个表的结果:颜色and信纸。
表 颜色contains 颜色 and 模式:
颜色 | 模式 |
---|---|
红 | 水平条带 |
绿 | 垂直条纹 |
蓝 | Crosshatch |
表格 文具contains 字体 and 演示文稿:
字体 | 介绍 |
---|---|
衬线 | 浮雕 |
sans-serif | 刻 |
要 generate 交叉联接的表达式如下所示:
CROSSJOIN( Colors, Stationery)
在预期表表达式的位置使用上述表达式时,表达式的结果如下所示:
颜色 | 模式 | 字体 | 介绍 |
---|---|---|---|
红 | 水平条带 | 衬线 | 浮雕 |
绿 | 垂直条纹 | 衬线 | 浮雕 |
蓝 | Crosshatch | 衬线 | 浮雕 |
红 | 水平条带 | sans-serif | 刻 |
绿 | 垂直条纹 | sans-serif | 刻 |
蓝 | Crosshatch | sans-serif | 刻 |