[已解决] DAX公式问题请教

  [复制链接]
查看106305 | 回复118 | 2021-2-18 20:56:36 | 显示全部楼层 |阅读模式
请老师帮忙修改下附件透视表中的DAX公式,期望效果在附件描述。
问题描述如下:

    这时一张采购入库单列表(虚构的),现希望统计“代开票”的汇总数据期望的效果是,无论透视表中的切片器如何选择,都能得到代开票的完整汇总数值该完整代开票的数值需要按日期区分


原本是在POWER BI中做的多张关系表,为了方便问答,我虚构了这张EXCEL表格
请老师看下,谢谢!

10946111652351.rar (47.14 KB, 下载次数: 0)
回复

使用道具 举报

zhi | 2021-2-18 21:01:36 | 显示全部楼层
CALCULATE(SUM('表1'[数量]),'表1'[是否代开票]=1,ALLEXCEPT('表1','表1'[日期],'表1'[日期 (月)]))
回复

使用道具 举报

真少爷 | 2021-2-18 21:06:36 | 显示全部楼层
10946111652352.zip (95.62 KB, 下载次数: 0)
回复

使用道具 举报

石佛邓肯 | 2021-2-18 21:14:36 | 显示全部楼层
谢谢老师!厉害,基本解决我的问题

同时请教下老师写的公式:
    我测试了下filter(all('表1'),'表1'[是否代开票] = 1)并不等价于all(‘表1’),filter(‘表1’,'表1'[是否代开票] = 1),老师能否解释下VALUES( '日历'[Date] ),为什么可以起到分割日期的作用

烦请老师讲解下原理,谢谢。


也谢谢高飞老师的推荐
回复

使用道具 举报

szxrszxr | 2021-2-18 21:16:37 | 显示全部楼层
=CALCULATE(SUM('表1'[数量]),'表1'[是否代开票]=1,ALLEXCEPT('表1','表1'[日期 (月)]))
或者=CALCULATE(SUM('表1'[数量]),'表1'[是否代开票]=1,ALL('表1'[物料分类]),all('表1'[生产类型]))
回复

使用道具 举报

pic | 2021-2-18 21:22:37 | 显示全部楼层
谢谢老师!厉害,基本解决我的问题

同时请教下老师写的公式:


二楼是最简单也灵活的写法,三楼的答案稍微有点繁琐,但是可以按天计算。

1.第一种写法忽略所有外部上下文,第二种写法外部上下文可以通过filter第一参数影响最终结果
2.values传入日期列的外部上下文
回复

使用道具 举报

轻舞飞扬 | 2021-2-18 21:29:37 | 显示全部楼层
二楼是最简单也灵活的写法,三楼的答案稍微有点繁琐,但是可以按天计算。

1.第一种写法忽略所有外部上 ...


谢谢老师解答

我尝试了下各位老师的答案
3楼老师和5楼老师的第二个答案符合我的预期(仅受日期影响但不受其他筛选器影响)
但是5楼老师的答案,采取了枚举筛选的方法,扩展有点麻烦(实际应用中还有许多其他筛选器),如果增加不在公式中的筛选条件,会立即失效

anyway,非常谢谢各位的回复
回复

使用道具 举报

hanny | 2021-2-18 21:34:37 | 显示全部楼层
谢谢老师解答

我尝试了下各位老师的答案


扩展的情况,用allexcept可以只保留生效的列
回复

使用道具 举报

ヤ蹦^. | 2021-6-16 13:14:03 来自手机 | 显示全部楼层
我擦!我要沙发!
回复

使用道具 举报

dgcwd | 2021-6-26 23:04:32 | 显示全部楼层
楼猪V5啊
回复

使用道具 举报

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

本版积分规则