销售表
销售表客户表
客户表模型关系
模型关系目标要求写出每个客户的平均折扣价的度量值
透视表度量值书写
平均折扣价:=AverageX ('客户表',
AverageX (RelatedTable ( '销售表' ),
Sumx ( RelatedTable ( '销售表' ),
'销售表'[金额] * '客户表'[折扣]
)
)
)
解释:
1. 求出客户对应折扣销售金额
Sumx ( RelatedTable ( '销售表' ),
'销售表'[金额] * '客户表'[折扣]
)
这里SumX里表达式里是2个不同表的数据,所以通过关联表,先把对应客户的销售都筛选出来,例如A客户
筛选关联客户筛选出关联表后,进行迭代计算,用销售表的金额*客户表的折扣
2. 计算每个客户的平均销售金额
AverageX (RelatedTable ( '销售表' ),折扣销售金额合计)
通过关联表可以计算出每个客户对应的平均折扣销售金额
3. 转换度量值书写
AverageX ('客户表',每个客户平均折扣销售金额)
通过AverageX函数再次把添加列的书写方式转换成度量值的书写方式。
因为涉及到上下文,所以如果直接使用var变量赋值的话,会有差异。
另外我们来看另一种写法
AverageX('销售表','销售表'[金额]*Related('客户表'[折扣]))
透视表1
我们仔细看总计这一栏会有差异。这个差异是什么原因导致的呢?
折扣后总金额为924。
-
第一种计算方法是以客户表为基础计算的平均价格,最终返回的是3个客户的平均价格的平均值,也就是390/3得到的结果是130。
-
第二种计算方法是以销售表为基础计算的平均价格,最终返回的是924除以销售表的行数也就是7,得到的结果是132;
网友评论