[英]How to make power bi work with many to many?
我有以下 model,其中关系表像往常一样创建多对多关系。
|Table car | |relation car worker|
|Id car |1----*|id car |
|car things| |id worker |*-----
|
|
|table worker | /
|id worker |1----------/
|worker things | \
\_______________
\
|table building | |relation worker building| |
|id building |1----*|id building | |
|building things| |id worker |*---------
当我在 Power Bi 中加载此 model 时,它可以构建包含以下内容之一的表格可视化(和其他):
但是当我尝试从 model 的边缘放入表格可视化时,它完全失败了:
这是错误:
这里发生了什么? 为什么会出错?
基本上我需要看看哪些汽车访问了哪些建筑物(并做一两个总结)
据我所知,您的 model .. 您需要将交叉过滤器方向设置为两个而不是单个,以便它可以过滤备份表
这是一个可以帮助您理解的示例
例如,对于来自tableA
的 1 ,它可以关联来自tableB
的 1 或 2 ,因为来自 Table B 的 1 也可以关联来自tableC
的 1 或 2 ,所以对于来自tableA
的 1 ,它无法确定来自tableC
的 1 还是 2参考
*----------------------------*
|Table A Table B Table C |
*----------------------------*
| 1 1 1,2 |
| 1 2 1,2 |
*----------------------------*
您可以使用公式创建一个新表
tableName = CROSSJOIN(tableA,tableB,tableC....tableZ)
我必须创建一个新表,就好像我在 SQL 中进行内部联接(按预期工作)。
单击“建模”、“创建表”。
对于公式:
NewTable = NATURALINNERJOIN(tb_cars,
NATURALINNERJOIN(tb_rel_car_worker,
NATURALINNERJOIN(tb_workers,
NATURALINNERJOIN(tb_rel_worker_building, tb_buildings))))
然后我开始使用这张桌子上的所有东西而不是其他东西。
为了创建包含按其中一个边缘表分组的零计数的指标,我不得不将此表分开:
Partial Table= NATURALINNERJOIN(tb_rel_car_worker,
NATURALINNERJOIN(tb_workers,
NATURALINNERJOIN(tb_rel_worker_building, tb_buildings))))
然后在关系编辑器中,我添加了Partial Table[id_car]
和tb_cars[id_car]
之间的关系。
现在,按汽车分组的指标可以使用在 DAX 公式中添加+0
的技术来显示图表中指标总和为零的汽车。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.