前言:
眼前咱们对“如何让柱状图显示数据”都比较关心,我们都想要学习一些“如何让柱状图显示数据”的相关文章。那么小编在网上汇集了一些关于“如何让柱状图显示数据””的相关文章,希望各位老铁们能喜欢,大家一起来学习一下吧!近有几个伙伴都问到如何在一个图表中,将年度和月份数据同时展现出来,比如在柱状图中,既展示本年每月的数据,也同时展示出之前每年的年度数据。
这种需求仅靠柱形图的格式设置无法实现,也不是写一个度量值就能做到的,因为坐标轴同时展示年度和月份两种粒度,需要先构造出带有两种粒度的字段。
以PowerBI星球案例数据为例,先构造一个带有年度和年度月份的辅助表,通过UNION函数将日期表的年度和年度月份合并到一张表中的同一列上:
辅助表 =
UNION(
VALUES('日期表'[年]),
VALUES('日期表'[年度月份])
)
这个辅助表无需和其他表建立关系,用它的字段放到柱形图的X轴上。
对于有规律的数据,可以这样来构造,如果没有什么规律,只能手工来做辅助表了,关于制作辅助表的方式可以参考:Power BI 辅助表制作方式汇总
为了能任意选择一个年度,让柱形图展现该年所在的月份,以及之前的年度,所以再建一个年度的辅助表:
这个辅助表也不需要与模型中的其他表建立关系,用它的字段来制作切片器。
然后写一个度量值:
数据 = VAR A=MAX('年度辅助表'[年]) //获取切片器所选的年度VAR B=MAX('年月辅助表'[年]) //获取X轴坐标点的年度/年度月份VAR C=LEN(B) //计算X轴坐标轴的长度,年度文本长度是4,年度月份文本长度是6VAR D=VALUE(LEFT(B,4)) //计算X轴坐标点的前4位,也就是年度RETURN IF( OR( C=4&&D<A, //如果X轴坐标点是年度并且小于切片器所选年度 C=6&&D=A //如果X轴坐标点是年度月份并且所属年度和切片器所选年度一致 ), //上面条件满足其一,计算下面的表达式 CALCULATE([销售额],TREATAS('年月辅助表','日期表'[年]))+ CALCULATE([销售额],TREATAS('年月辅助表','日期表'[年度月份]))) //利用TREATAS来计算坐标点年度/年度月份的数据
这个度量值的主要逻辑是判断X轴每个坐标点与切片器所选年度的关系,具体细节已在注释中说明。
把这个度量值放到柱形图的Y轴中,当切片器选择2021年时,显示2020年度数据和2021年的月份数据:
当切片器选择2022年时,图表显示2020、2021年度数据和2022年的月份数据:
这样就是实现了希望的结果。
当你想要图表的坐标轴(或者矩阵的行/列标题)展示的分类,超越了模型中现有某个字段中所涵盖的范围,就需要先构造数据结构,并结合DAX才能实现,之前关于矩阵的特殊做法,也是同样的思路和步骤:
如何用Power BI设计复杂结构的表格?
PowerBI矩阵可视化技巧:总计显示在左侧+动态显示列
「PowerBI星球」内容合集(2023版)
标签: #如何让柱状图显示数据