ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1135|回复: 8

[求助] Power BI Desktop双向筛选器的工作原理是什么呢?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-10-10 15:41 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

请问图片蓝色圈起来的数字是如何计算出来的呢?想了一下午也不知道是什么原理。Sales和Product表之间是用ProductKey建立关系的,Sales和Date表是用Order Date建立关系的,但Product和Date表之间并没有任何Date相关的关系,为什么还可以通过Calendar Year筛选到Product Name呢? 谢谢!
F 01 02 Q.JPG

F 01 02 - Q.zip

1.24 MB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2020-10-10 17:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 libo5563 于 2020-10-10 17:54 编辑

你的原文件是图1,产品表和销售表是双向筛选关系,(注意看关系线里的箭头方向),所以从时间表可以筛选出产品表的相关数据,如果是单向关系,用图2的办法,产品表和销售表没关系时,用图3
1.jpg
2.jpg
3.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-12 09:05 | 显示全部楼层
本帖最后由 AZA 于 2020-10-12 09:42 编辑
libo5563 发表于 2020-10-10 17:43
你的原文件是图1,产品表和销售表是双向筛选关系,(注意看关系线里的箭头方向),所以从时间表可以筛选出 ...

谢谢回复,我对关系的理解目前也是处于箭头的水平,至于箭头后面的原理就不太明白了,因此想借这个例子来学习。切入点是蓝色圆圈里面的数字是怎么计算出来的。如果兄台有时间的话,望不吝赐教哈。那么是否可以这样理解关系呢?1. 首先Date和Sales表是1对*的关系,键分别是Date和Order Date,
F 01 02 Relationship.JPG
因此,直接用Date表中的Calendar Year就可以汇总Sales中的Quantity。但是对于Sales和Product表,建立关系的键都是ProductKey, 那么对Product中的ProductName按Calendar Year计数,背后是什么原理呢? (可能是我对关系的理解不够,也有可能是我给Excel“害了”)我的理解是先建立双向筛选关系,然后Date表中的Calendar Year就可以通过Sales表来筛选Product表中的ProductName了,那么摊开讲的话,先建立Sales和Product的双向筛选关系,然后Date表中的Calandar Year通过Date对应过去Sales表中Order Date筛选ProductKey, 之后通过ProductKey筛选Product表的ProductName并计数。如果这个理解没错的话,那么结果就不对了,因为Sales表中的ProductKey缺了282个。由于数据太大了,无法上传,可以从我上一帖的PBI文件中导到Excel分析,我这里贴的图是部分的,因此无论如何结果都不会是Product的所有行,即2517。那么这是为什么呢?
F 01 02 ProductKey.JPG

TA的精华主题

TA的得分主题

发表于 2020-10-12 10:28 | 显示全部楼层
Date表筛选了Sales表,Sales表又通过双向关系筛选了Product

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-12 11:46 | 显示全部楼层
wdx223 发表于 2020-10-12 10:28
Date表筛选了Sales表,Sales表又通过双向关系筛选了Product

道理都懂,具体怎么弄的就不太懂了

TA的精华主题

TA的得分主题

发表于 2020-10-12 14:47 | 显示全部楼层
本帖最后由 libo5563 于 2020-10-12 15:08 编辑

估计你对2517如何来的不理解,,上面3行的统计好理解,因为有双向筛选关系存在,就是当年有销售的产品品种有几个,总计行合计对不上是吧,在当前的透视表中,总计行筛选上下文是日期表里所有的年字段,先对销售表筛选,就是整个销售表,然后销售表的对应prouduckey字段通过双向链接关系再对产品表筛选,所以返回的是产品表的所有行计数。直白点,总计行在每个筛选环节都是返回的整个字段,所以没有筛选。有个基本概念要注意,总计行也有上下文。2517是所有的产品品种数,2235的得数是每年卖了几个品种的合计,没有意义,因为产品每年都有可能销售,也有可能没销售。
1.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-12 16:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

[已解决]Power BI Desktop双向筛选器的工作原理是什么呢?

libo5563 发表于 2020-10-12 14:47
估计你对2517如何来的不理解,,上面3行的统计好理解,因为有双向筛选关系存在,就是当年有销售的产品品种 ...

谢谢回复。为了验证我之前的想法,我在Sales表中用Related函数把Product Name从Product表取了过去,然后加入表,统计结果如下:-
F 01 02 Q2.JPG

也就是上图的第四列,此时我才意识到我之前对计数理解错误了,这里的计数其实是非重复数。第三列也是。同时也记住并理解了“有个基本概念要注意,总计行也有上下文。”,谢谢啦。

TA的精华主题

TA的得分主题

发表于 2020-10-12 16:42 | 显示全部楼层
AZA 发表于 2020-10-12 09:05
谢谢回复,我对关系的理解目前也是处于箭头的水平,至于箭头后面的原理就不太明白了,因此想借这个例子来 ...

因为DAX的是一整套非常精妙的体系,任何一个表达式的计算都离不开“估值上下文(EVALUATION CONTEXT)”以及“(表之间的筛选)关系”,如果还太熟悉的话,建议先找一些资料学习,初步建立一个整体框架,然后再通过练习和分析问题,逐步加深对基础概念的理解。这也是个量变到质变的过程,问题一一想明白后,你会有种豁然开朗、融会贯通、打通任督二脉的感觉。DAX的思维体系也完全不同于EXCEL和基于行的关系型数据库(侧重于OLTP),但是能对这二者有一定理解的话,对DAX学习不无裨益。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-12 17:19 | 显示全部楼层
ThxAlot 发表于 2020-10-12 16:42
因为DAX的是一整套非常精妙的体系,任何一个表达式的计算都离不开“估值上下文(EVALUATION CONTEXT)” ...

谢谢~请问有什么学习资料推荐呢?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 14:52 , Processed in 0.038018 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表