[已解决] 分别计算增加数和减少数的度量值

  [复制链接]
查看125840 | 回复128 | 2020-11-6 00:10:47 | 显示全部楼层 |阅读模式
各位老师:
不好意思,深夜打扰。请下载附件。
10680102340131.png
F11、G11的合计数出错,希望得到实际数55和146
度量值该如何写?请老师指点迷津,不胜感激,万分感谢!

10680102340133.zip (132.89 KB, 下载次数: 0)
回复

使用道具 举报

六只翅膀 | 2020-11-6 00:17:47 | 显示全部楼层
这里牵涉到DAX语言中一个 最基本 也是 最最最... 重要的概念:估值上下文。这个Power Pivottable里的“合计”,并不是简单的将列数值简单的累计,而是独立的在现有筛选上下文中进行计算。以“净增加”列的“合计”为例:
在'日期'[年月]列上无筛选,沿着'日期'表和'增'表,也就无任何筛选,此时度量值[加数量] = COUNTROWS('增')的结果就是156;同样的,度量值[少数量] = COUNTROWS('减')也是在没有任何筛选上下文存在情况下计算得到247,度量值[净增加] = IF([增加数量]>[减少数量],[增加数量]-[减少数量])的计算就应该是空值。


至于你所希望得到结果,可以“强行”的写为:
  1. 净增加 := SUMX ( VALUES ( '日期'[年月] ), IF ( [增加数量] > [减少数量], [增加数量] - [减少数量] ) )
复制代码
净减少 := SUMX ( VALUES ( '日期'[年月] ), IF ( [增加数量] < [减少数量], [减少数量] - [增加数量] ) )


为什么说是“强行”呢,因为这是为了配合以“年月”为颗粒度量身打造的度量值;当你把行标签换为“日期”时,每一天的计算结果的和与“合计”又会产生差异。有兴趣的话可以试一下。

题外话:如果有志于将自身EXCEL水平从复杂公式+VBA再提升到一个新境界的话,就必须要学习Power Query(M语言) + PowerPivot(DAX)。
回复

使用道具 举报

酷酷 | 2020-11-6 00:23:47 | 显示全部楼层
这里牵涉到DAX语言中一个 最基本 也是 最最最... 重要的概念:估值上下文。这个Power Pivottable里的“合计 ...


感谢老师,不光给出了准确的答案,还跟我讲解得这么透撤,小弟十分感谢。我最近是在学习孙兴华老师的DAX课程,就是还学艺不精,我要继续努力,感谢您的帮助。
回复

使用道具 举报

技安 | 2020-11-6 00:29:47 | 显示全部楼层
看着这样也行
10680102340132.jpg
回复

使用道具 举报

topboy2000 | 2020-11-6 00:33:48 | 显示全部楼层
看着这样也行


谢谢老师指点,你这个表达式有点深奥,我目前还看不懂,我好好研究一下。
回复

使用道具 举报

glluoya | 2020-11-6 00:38:48 | 显示全部楼层
看着这样也行


我这边的系统提示:“向 MAX 函数传递的参数太多。该函数的最大参数计数为 1。”

不知道是不明我的版本太低,目前我无法测试这条语句,老师能把你做的表发给我试试吗?
回复

使用道具 举报

aya1999 | 2021-8-2 08:17:53 | 显示全部楼层
谢谢,一直在学习云发教育课程!
回复

使用道具 举报

lucknow | 2021-10-3 06:41:37 来自手机 | 显示全部楼层
站位支持
回复

使用道具 举报

wzfwzf | 2021-10-9 11:48:48 | 显示全部楼层
一直在看
回复

使用道具 举报

石龙肥锋 | 2021-10-12 09:56:07 | 显示全部楼层
高手云集 果断围观
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则