首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从一个例子来看Power Pivot中关系及上下文

从一个例子来看Power Pivot中关系及上下文

作者头像
逍遥之
发布2020-03-24 15:52:31
发布2020-03-24 15:52:31
70900
代码可运行
举报
文章被收录于专栏:数据技巧数据技巧
运行总次数:0
代码可运行

销售表

客户表

目标要求写出每个客户的平均折扣价的度量值

模型关系

度量值书写

代码语言:javascript
代码运行次数:0
运行
复制
平均折扣价 :=
AverageaX (
    '客户表',
    AverageaX (
        RelatedTable ( '销售表' ),
        SumX ( RelatedTable ( '销售表' ), '销售表'[金额] * '客户表'[折扣] )
    )
)

解释:

1. 求出客户对应折扣销售金额

代码语言:javascript
代码运行次数:0
运行
复制
Sumx ( RelatedTable ( '销售表' ),
       '销售表'[金额] * '客户表'[折扣]
      )

这里SumX里表达式里是2个不同表的数据,所以通过关联表,先把对应客户的销售都筛选出来,例如A客户

筛选出关联表后,进行迭代计算,用销售表的金额*客户表的折扣

2. 计算每个客户的平均销售金额

代码语言:javascript
代码运行次数:0
运行
复制
AverageX (RelatedTable ( '销售表' ),折扣销售金额合计)

通过关联表可以计算出每个客户对应的平均折扣销售金额

3. 转换度量值书写

代码语言:javascript
代码运行次数:0
运行
复制
AverageX ('客户表',每个客户平均折扣销售金额)

通过AverageX函数再次把添加列的书写方式转换成度量值的书写方式。

因为涉及到上下文,所以如果直接使用var变量赋值的话,会有差异。

另外我们来看另一种写法

代码语言:javascript
代码运行次数:0
运行
复制
AverageX('销售表','销售表'[金额]*Related('客户表'[折扣]))

我们仔细看总计这一栏会有差异。这个差异是什么原因导致的呢?折扣后总金额为924。

  • 第一种计算方法是以客户表为基础计算的平均价格,最终返回的是3个客户的平均价格的平均值,也就是390/3得到的结果是130。
  • 第二种计算方法是以销售表为基础计算的平均价格,最终返回的是924除以销售表的行数也就是7,得到的结果是132。

如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据技巧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 求出客户对应折扣销售金额
  • 2. 计算每个客户的平均销售金额
  • 3. 转换度量值书写
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档