DAX 中的双向关系及其歧义


本文翻译自国际Power BI大师Alberto Ferrari的文章——《Bidirectional relationships and ambiguity in DAX》,文中探讨了使用双向筛选器时可能出现的歧义类型。

在表格数据模型中激活双向筛选器可能会在关系链中创建不明确的路径,导致创建出数据变得难以预测的模型。本文对使用双向关系时可能出现的歧义类型进行了深入的阐释。

关系可设置为单向(默认)和双向。单向关系中,上下文筛选器可从单侧传递到多侧,但不能反向传递。换句话说,在下图中,Customer表上的筛选器会自动传递至Sales表,然而,Sales表上的筛选器不会传递到Product表上,更不会传递到Customer表或者Date表上。

file

这种情况普遍存在于大多数报表,在实际场景中,报告通常根据Customer或Product的属性划分销售额,根据销售额筛选Customer或Product是很少见的。
因此,启用双向筛选器最普遍的原因便是同步切片器。
下图的报告中有两个切片器,一个用于Customer 中的Name,另一个用于Product中的Color,右侧矩阵提供了Sales的详细信息:

file

这份报告可正常运行并能显示Amanda的采购情况,然而,Color切片器并没有筛选Amanda购买的几种颜色。通过在报告中输入颜色词条可以很轻易地看出她购买了哪种颜色,但是切片器难以向用户提供简单的反馈。原因在于Customer表上的筛选器已经传递到了Sales表,因此,它仅筛选所选用户的销售情况,但是筛选器不会自动从Sales表流向Product表,因为这两者之间已被默认设置为单向关系。
对于这个问题,有一个简单的解决方法:将Product表和Sales表之间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值