前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >切片器相互控制,从容应对同比环比任意月份对比

切片器相互控制,从容应对同比环比任意月份对比

作者头像
陈学谦
发布2023-12-05 17:27:04
2660
发布2023-12-05 17:27:04
举报
文章被收录于专栏:学谦数据运营学谦数据运营

假设有10个计算字段都要进行同比、环比和任意月份的对比,那么常规做法就是将这10个度量值分别再写10×3=30个度量值。

当然,计算组可以是一个简化的选择,尤其是最近一次更新,powerbi支持原生书写计算组带来了很大的便捷。不过,计算组目前仅仅适用于矩阵表,而且只能一次性选择全部。

即以下的形态:

想要只选取其中的某个字段进行进行分析或是卡片图、饼图展示,计算组就无法实现了。

我们想要的恐怕是这样的:

想看同比、环比的时候直接点击选择,想看特定月份对比的可以选择“任意月份对比”后,在对比月份那里选择月份。

想要实现这样的切片器效果并不难。

对于同环比选择切片器我们可以创建一个单独的表:

至于度量值的写法,我们可以从简单的入手,同比:

代码语言:javascript
复制
SALES LY= CALCULATE([sales],DATEADD('日期表'[Date],-1,YEAR))

也可以写作:

代码语言:javascript
复制
SALES LM= CALCULATE([sales],DATEADD('日期表'[Date],-12,MONTH))

环比:

代码语言:javascript
复制
SALES LM= CALCULATE([sales],DATEADD('日期表'[Date],-1,MONTH))

对于任意月份,我们可以设置两个日期表,年度月份带有编号,再作差得到月份差额:

代码语言:javascript
复制
月份差额 = 
SWITCH(
    SELECTEDVALUE('同环比选择'[同环比选择]),
    "同比",-12,
    "环比",-1,
    "任意月份对比",
    var a=max('日期表'[年月编号])
    var b=max('日期表2'[年月编号])
    return b-a
)

对比以上代码我们可以发现,无论是同比还是环比,实际上都是将月份向前推1个月或则12个月,任意月份就向前推月份差额个月即可。

所以将以上度量值合并:

代码语言:javascript
复制
SALES C= CALCULATE([sales],DATEADD('日期表'[Date],月份差额,MONTH))

至于切片器的显示,正常情况下,一个切片器的变化不会引起另一个切片器值的变化,因此这里使用了一个小把戏。

由于“同环比选择”切片器在选择同比或环比时,并不需要调整“对比月份”切片器,只有选择“任意月份对比”时才需要调整,所以才能以假乱真。

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

本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档