[已解决] pivot初学者,求助个CALCULATE和topn问题

  [复制链接]
查看109528 | 回复119 | 2021-2-19 00:41:15 | 显示全部楼层 |阅读模式
我刚学pivot,参考书籍写CALCULATE和topn的公式,为什么总是没法按图片公式写出相似的数据,总提示所求数据的表不存在,我就想写出求前几名数量的和,但是总是失败,想请网友们帮忙,在我的示例文件上写出一个正确的公式样本,想找找是自己哪里有问题。我怀疑自己是表达定义或关联上哪里有不对的地方,是否必要要有个辅助表做下关系连接,然后才能顺利使用CALCULATE和topn的公式。
我想求的数据是:每个产品中,每个包内3个最大投标金额的合计值。
CALCULATE和topn应该能提取出我需要的数据,但是我尝试写的公式都错了,最近一个月有大量数据需要这个公式,所以想向大家求助下。
11172112038001.png



基础数据表,详情见附件
11172112038002.png
11172112038003.rar (1.12 MB, 下载次数: 0)
回复

使用道具 举报

sini | 2021-2-19 00:47:15 | 显示全部楼层
=CALCULATE(sum('JP柜'[投标金额]),topn(3,'JP柜','JP柜'[投标金额]))
11172112038004.rar (373 KB, 下载次数: 0)
回复

使用道具 举报

2046 | 2021-2-19 00:53:15 | 显示全部楼层
没有用公式,直接上透视表。

11172112038005.zip (377.52 KB, 下载次数: 0)
回复

使用道具 举报

lizhongjie | 2021-2-19 00:58:15 | 显示全部楼层
=CALCULATE(sum('JP柜'[投标金额]),topn(3,'JP柜','JP柜'[投标金额]))


谢谢大神,刚刚自己又翻了一遍书,大概明白自己哪里错了,也尝试下怎么写公式,发现自己在引用度量值和列时,引用的不对,现在刚好能得出自己想要的结果了。
我是把公式拆成两部分实现,没有你这么简洁。
万分的感谢啊!!!
回复

使用道具 举报

咖菲猫 | 2021-2-19 01:05:16 | 显示全部楼层
书上截图中ALL(门店信息)为啥要加个ALL呢?不理解
回复

使用道具 举报

chayiyu | 2021-2-19 01:08:16 | 显示全部楼层
书上截图中ALL(门店信息)为啥要加个ALL呢?不理解


在所有门店中计算排名,忽略外部上下文
回复

使用道具 举报

木瓜 | 2021-2-19 01:14:16 | 显示全部楼层
在所有门店中计算排名,忽略外部上下文



如果说忽略外部上下文的话,门店信息表是不重复的表,ALL是清除所有外部筛选条件,以门店为筛选条件的话排名不都一样了吗?
回复

使用道具 举报

水中金 | 2021-2-19 01:17:16 | 显示全部楼层
如果说忽略外部上下文的话,门店信息表是不重复的表,ALL是清除所有外部筛选条件,以门店为筛选条件的 ...


"门店信息表是不重复的表,ALL是清除所有外部筛选条件",截止到这里表述是正确的,用于排名的度量值(topn第三参数)的筛选条件除了门店还有外部上下文
回复

使用道具 举报

dgfjn | 2021-2-19 01:23:17 | 显示全部楼层
"门店信息表是不重复的表,ALL是清除所有外部筛选条件",截止到这里表述是正确的,用于排名的度量值(topn ...


真有点难理解呀,TOPN第三参数按书的是[1销售量],这个本身就自带隐藏的CALAULATE的,就是把行上下文转化为筛选上下文的,按我的理解,已经转换了么,门店信息表还加什么ALL呢
回复

使用道具 举报

木头 | 2021-2-19 01:30:17 | 显示全部楼层
真有点难理解呀,TOPN第三参数按书的是[1销售量],这个本身就自带隐藏的CALAULATE的,就是把行上下文转化 ...


加all的目的是为了避免第二参数被外部上下文筛选,否在可能出现只针对部分门店计算排名的情况
回复

使用道具 举报

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

本版积分规则