技巧分享 | 折线图的层级下钻
工作中我们经常会遇到一些较难需求。那么今天来和大家分享一个关于折线图层级下钻的案例。首先我们来看效果图:
当我们点击筛选器—“洲”下的“AP”时,折线图会展示AP洲对应其不同地区的值。以此类推,当我们点击筛选器—地区下的“CPA”时,折线图会展示CPA地区对应其不同国家的折线,当我们点击筛选器—国家下的“KR”时,会展现KR国家对应其不同产品的折线。
案例思考点:
- 折线图的横轴永远是时间季度。
- 筛选器的关系是层级关系。
一、数据准备
以上数据为不同季度下洲地区和国家对应的产品销量以及金额。
二、思考过程
1.创建包含洲、地区、国家和产品名的表。
表-层次结构=UNION(VALUES(sheet1[洲]),VALUES(sheet1[地区]),VALUES('sheet1'[国家]),VALUES('sheet1'[产品名]))
2.编写度量值,让结果值正确显示。
VALUES
VALUES()
返回由一列构成的一个表,该表包含来自指定列的非重复值。换言之,重复值将被删除,仅返回唯一值。
ISFILTERED
ISFILTERED()
当直接筛选 columnName 时,返回 TRUE。如果列没有筛选器,或由于正在筛选同一个表或相关表中的不同列而发生筛选,则函数返回 FALSE。
折线图下钻 =
var a=CALCULATE(sum('sheet1'[金额]),'sheet1'[产品名] in VALUES('表-层次结构'[新维度]))//产品的金额
var b=CALCULATE(sum('sheet1'[金额]),'sheet1'[地区]in VALUES('表-层次结构'[新维度]))//地区的金额
var c=CALCULATE(sum('sheet1'[金额]),'sheet1'[国家] in VALUES('表-层次结构'[新维度]))//国家的金额
RETURN
IF(
ISFILTERED(sheet1[国家]),//筛选器是否选择国家
a,
IF(
ISFILTERED(sheet1[地区]),//筛选器是否选择地区
c,
IF(
ISFILTERED(sheet1[洲]),//筛选器是否选择洲
b,
CALCULATE(sum('sheet1'[金额]),'sheet1'[洲] in VALUES('表-层次结构'[新维度]))//如果没有筛选的时候,默认展示洲的金额值
)
)
)
三、可视化展示
我们把时间放在折线图的轴上,把表-层次结构下的新维度列放在图例,把编写的度量值:折线图下钻放在值中,就可以得到我们想要的结果了。
方法不唯一,欢迎大家提供不同的思路。
-
PowerPivot工坊原创文章,转载请注明出处!
如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。
长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~
Power Pivot工坊
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)