前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Power Pivot中in的使用

Power Pivot中in的使用

作者头像
逍遥之
发布2020-03-24 15:53:02
1.1K0
发布2020-03-24 15:53:02
举报
文章被收录于专栏:数据技巧数据技巧

有几个表,南美洲表,亚洲表以及洲数据表。

还有一个国家表。

要求:根据国家来计算对应洲的数据。这几个表不存在任何的关系。

1. 添加列代码书写

代码语言:javascript
复制
Switch(true(),
       '国家'[国家] in Values('亚洲'), Calculate(Values('洲数据'[数据]),'洲数据'[国家]="亚洲"),
       '国家'[国家] in Values('南美洲'), Calculate(Values('洲数据'[数据]),'洲数据'[国家]="南美洲"),
       Blank()
      )

解释:先判断国家是否属于对应的洲表格,提取对应洲的数据。

2. 度量值书写

代码语言:javascript
复制
Sumx('国家',
     Switch(true(),
            '国家'[国家] in Values('亚洲'), Calculate(Values('洲数据'[数据]),'洲数据'[国家]="亚洲"),
            '国家'[国家] in Values('南美洲'), Calculate(Values('洲数据'[数据]),'洲数据'[国家]="南美洲"),
            Blank()
           )
     )

度量值的写法,只需要在列的基础上,加上一个聚合函数即可。

3. 结果

4. 总结

In的效果相当于判断是否包含行,等同于ContainsRow 例如之前的例子

代码语言:javascript
复制
'国家'[国家] in values('亚洲')

等同于

代码语言:javascript
复制
ContainsRow(Values('亚洲'[国家]),'国家'[国家])

所以如果我们把代码改成这样,也是得到相同的结果。

代码语言:javascript
复制
SumX('国家',
     Switch(true(),
            ContainsRow(Values('亚洲'[国家]),'国家'[国家]), CALCULATE(VALUES('洲数据'[数据]),'洲数据'[国家]="亚洲"),
            '国家'[国家] in SelectColumns('南美洲',"南美",'南美洲'[国家]), Calculate(Values(('洲数据'[数据]),'洲数据'[国家]="南美洲"),
            Blank()
           )
    )

解释:这里使用了ContainsRow替代in的写法,以及用SelectColumns替代了Values的写法。 

最近有朋友私聊我说有没有课程,目前暂时没有课程,如果需要课程的话,这里可以给大家推荐一个课程,大海的课程从Power Query到Power Pivot都有,内容非常的不错,视频质量也很好,基础内容都涵盖到了,特别适合上手的课程,而且内容也绝不单调。

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 添加列代码书写
  • 2. 度量值书写
  • 3. 结果
  • 4. 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档