2020-06-19
阅读量:
1097
指标类型
案例:基准比、均比、标准比
1、 计算平均值的陷阱
这种直接用average的写法来求,是错误的,因为直接用average算出来的是主键的平均,对于商机记录表来说,一条记录代表一条商机,这样算出来的是每条商机的平均额,所以是错误的。
所有城市总平均 = CALCULATE(average('商机记录'[商机金额(M)]),all('商机相关企业信息'[城市]))
正确的写法应该是:算出来商机金额的总额除以城市的个数
所有城市总平均 = CALCULATE( sum('商机记录'[商机金额(M)]),all('商机相关企业信息'[城市]))/calculate(DISTINCTCOUNT('商机相关企业信息'[城市]),all('商机相关企业信息'[城市]))
注:
当主键就是维度的时候,这种情况下可以直接用average直接求平均,其他情况都必须用合计值除以计数
distinctcount,不重复计数
2、rankx排名问题
方式一:正确( 行上下文计算)
金额排名 = rankx(all('商机相关企业信息'[城市]),[1金额合计])
方式二:正确(用calcaulate将筛选上下文转换为行上下文) 金额排名 =
rankx(all('商机相关企业信息'[城市]),CALCULATE(SUM('商机记录'[商机金额(M)])))
方式三:错误(直接引用聚合函数进行行上下文汇总) 金额排名 =
rankx(all('商机相关企业信息'[城市]),SUM('商机记录'[商机金额(M)]))
注:
直接在函数中嵌套使用已定义度量名的函数,属于行上下文筛选;
嵌套使用聚合函数时,需先定义度量名,再引用度量名;
不能将聚合函数(sum、max、min、count、avg)直接放到另一个函数中使用;
在聚合函数外层加上calculate(聚合函数),可以把筛选上下文改成行上下文,这样聚合函数就可以嵌套在函数中了
该函数以中国式排序进行排名:1,2,3,3,5...






评论(0)


暂无数据
推荐帖子
0条评论
0条评论