销售表
客户表
目标要求写出每个客户的平均折扣价的度量值
模型关系
度量值书写
平均折扣价 :=
AverageaX (
'客户表',
AverageaX (
RelatedTable ( '销售表' ),
SumX ( RelatedTable ( '销售表' ), '销售表'[金额] * '客户表'[折扣] )
)
)
解释:
Sumx ( RelatedTable ( '销售表' ),
'销售表'[金额] * '客户表'[折扣]
)
这里SumX里表达式里是2个不同表的数据,所以通过关联表,先把对应客户的销售都筛选出来,例如A客户
筛选出关联表后,进行迭代计算,用销售表的金额*客户表的折扣
AverageX (RelatedTable ( '销售表' ),折扣销售金额合计)
通过关联表可以计算出每个客户对应的平均折扣销售金额
AverageX ('客户表',每个客户平均折扣销售金额)
通过AverageX函数再次把添加列的书写方式转换成度量值的书写方式。
因为涉及到上下文,所以如果直接使用var变量赋值的话,会有差异。
另外我们来看另一种写法
AverageX('销售表','销售表'[金额]*Related('客户表'[折扣]))
我们仔细看总计这一栏会有差异。这个差异是什么原因导致的呢?折扣后总金额为924。
如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。