【DAX权威指南】12 理解关系中的方向

  • 时间:2019-08-31 18:31
  • 作者:澳门网投
  • 来源:澳门网投赌场
  • 点击:

  正如我们在上一节中所说,每个关系可以有一个或两个过滤方向。过滤总是从关系的一端指向多端。如果关系是双向的(也就是说,它上面有两个箭头),那么过滤也会从多端指向一端。

  通过一个示例可能会帮助您更好地理解此行为。如果你创建一个基于前面图1-1所示的数据模型的数据透视表,行区域中是年份,值区域中是Sum ofSalesAmount和Count of ProductName,您将看到如图1-2 所示的结果。

  行标签包含年份:即Date表中的列。Date表位于与Sales表关系的一端。因此,当您将Sum of SalesAmount放在数据透视表中时,引擎会根据年份过滤Sales表。Sales和Product表之间的关系是双向的; 当您将Count of ProductName放在数据透视表中时,您将获得每年销售的产品数量。换句话说,年份上的过滤器通过一系列关系传递到Product表。

  如果现在通过将颜色放在行上并在值区域中添加Count of FullDateLabel来修改数据透视表,结果将有点难以理解,如图1-3所示。

  行上的过滤器是Product表中的Color列。由于Product在与Sales关系的一端,因此正确过滤了Sum of SalesAmount,显然,Count of ProductName也会被过滤,因为它在同一个表中的行上。错误的数字是Count of FullDateLabel。实际上,它总是为所有行显示相同的值——顺便说一下,这个数字是Date表中的总行数。

  来自Color列的过滤器未传递到Date的原因是Date和Sales之间的关系是单向的,即从Date指向Sales。因此,即使Sales上有活动过滤器,过滤器也无法传递到Date,因为单一方向的关系类型会阻止从多端到一端的过滤。

  如果更改Date和Sales之间的关系以启用双向过滤,则结果将如图1-4所示。

  如您所见,现在数字不同,反映出至少有一种特定颜色的产品销售的天数。乍一看,似乎应该将所有关系定义为双向关系,以便让过滤器在任何方向上传递并始终返回有意义的结果。

  正如您将在本书中学到的,这并不总是设计数据模型的正确方法。实际上,您需要根据您的工作场景,选择正确的数据传递关系。

  受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

  Excel里很麻烦的事:提取最左/右两侧不同且有重复分隔符之间的文本?Power Query帮你快速搞定!

  批量汇总多Excel文件数据系列文章12篇,助你变成老司机,轻松躲坑666!

  看到您的努力,我决定放弃原则——留言赠书活动名单公布,获赠人数由3人增加至4人!

  重要!很重要!非常重要!理解PQ里的数据结构(四、根据内容定位及筛选行)

  留言赠书第1波  以“去掉重复项再合并”为例,探讨PQ问题的解决思路是怎么形成的!

澳门网投
上一篇:如何给冰箱自制一个干燥过滤器 下一篇:佛山高压天然气过滤器滤芯