路易三十六
于 2019-08-11 22:40:41 发布
7512
收藏 15
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
我们想统计图书分类对应的销售数量
原始数据:两张表(销售记录和图书分类)
为了解决多对多关系,我们创建一个辅助表,使之变为多对一、一对多关系
辅助表如下(图书编号 - 书名),把表格添加到模型,建立关系
我们之间介绍过 SUMX 加FILTER实现无关系的数据获取,我们看看这个方法可不可行
计算列:
\=sumx(FILTER(‘销售记录’,’图书分类’[图书编号]=’销售记录’[图书编号]),’销售记录’[数量])
生成数据透视表(总计那里不正确,我们一共指销售了 173 本书)
所以上面这个方法不可行
一端调用多端是可以直接调用的,多端想调用一端可以使用 RELATEDTABLE 函数
多对多关系方法一:
方法一:=SUMX(FILTER(‘销售记录’,COUNTROWS(RELATEDTABLE(‘销售记录’))>0),’销售记录’[数量])
多对多关系方法二:
由于 SUMX 是迭代函数没有 CALCULATE 性能好
方法二:=CALCULATE(‘销售记录’[销售数量],FILTER(‘销售记录’,COUNTROWS(RELATEDTABLE(‘图书分类’))>0))
多对多关系方法三:
方法三:=CALCULATE(‘销售记录’[销售数量],’图书分类’)