ssas - DAX - 计算多对多映射?
问题描述
我正在尝试构建一个计算表,其中包含不同数据集之间的映射。我用来进行查找的键可以重复,我想生成所有可能组合的列表。在 SQL 中,这将是一个会生成额外行的连接。我希望在 DAX 中使用计算表做同样的事情,但是 LOOKUPVALUE 只能返回一行,如果找到多个匹配项,则会出错。
提供了一个包含多个值的表,其中需要一个值
我觉得总结列和虚拟关系可能是可能的,但是在尝试这个时,我也得到一个错误
=SUMMARIZECOLUMNS (
Label[LabelText],
User[Dim_CustomerUser_Skey],
Computer[Dim_Computer_Skey]
,FILTER ( Computer, Label[Device] = Computer[Device name])
, FILTER ( User, Label[UserName] =User[UserName])
)
但这也给出了:
计算表“CalculatedTable 1”:无法确定表“标签”中“设备”列的单个值。当度量公式引用包含许多值但未指定聚合(例如 min、max、count 或 sum)以获得单个结果的列时,可能会发生这种情况
如何为多对多生成计算表?
解决方案
在 SQL 中,有 Join。幸运的是,DAX 提供了表之间的连接。
但首先,要使用什么功能?这里是:
- 左外:GENERATEALL、NATURALLEFTOUTERJOIN
- 右外:GENERATEALL、NATURALLEFTOUTERJOIN
- 全外:交叉连接、生成、生成
- 内部:GENERATE、NATURALINNERJOIN
- 左反:除了
- 右反:除了
访问:https ://www.sqlbi.com/articles/from-sql-to-dax-joining-tables/
推荐阅读
- ios - TableViewCell 中的 Swift UITextField
- c - 每次选择后是否有一种简单的方法可以让用户返回菜单?
- php - 构建云引擎 yaml 处理程序
- node.js - 如何在没有 sudo 的情况下在 WSL 上运行“npm”?
- javascript - 可以在不创建函数的情况下使用 javascript 从 Google 地图中删除控件吗?
- python - 在 PySpark 脚本中找不到 moveToHDFS 文件
- django - Django:删除或清空UpdateView中一行的内容
- javascript - 桶文件、webpack 和 jest
- reactjs - (反应)PNG图像将导入,但不会显示
- javascript - 固定位置在模态窗口上不起作用