如何实现Power BI图表与Power Pivot一致的日期分组轴功能?
在Power BI中实现按年+月分组的轴显示(替代Power Pivot的操作)
嘿,我之前也纠结过这个问题!其实Power BI里完全可以实现和Power Pivot一样的按年、月分组显示轴的效果,给你分享几个实用的方法:
方法1:利用Power BI自动生成的日期子字段
Power BI拖入日期字段后自动拆分的年、月字段,其实就是用来干这个的,操作步骤很简单:
- 先把你的日期字段拖到图表的轴区域,此时默认可能显示的是完整日期或者聚合后的层级
- 在右侧字段列表里找到这个日期字段,点击它旁边的小箭头展开,就能看到自动生成的「年」「月」「日」等子字段
- 把「年」拖到轴区域,接着把「月」拖到轴区域(放在「年」的下方/右侧,图表会自动按年分组,每个年份下展示对应的月份)
- 如果你想调整分组顺序或者显示格式,右键轴上的字段就能修改显示名称、排序方式啦
方法2:创建自定义「年月」合并列
如果觉得自动拆分的层级不够灵活,也可以自己做一个合并了年和月的列,用DAX或者Power Query都可以:
用DAX创建(数据视图里操作)
在数据视图中,点击「新建列」,输入公式:
年月 = FORMAT('你的表名'[日期字段], "yyyy-MM")
或者想显示成「2024年05月」这种格式的话,用:
年月 = YEAR('你的表名'[日期字段]) & "年" & FORMAT(MONTH('你的表名'[日期字段]), "00") & "月"
然后把这个新建的「年月」列拖到轴区域,就能直接按年+月分组显示了
用Power Query创建(编辑查询里操作)
进入Power Query编辑器,添加自定义列,输入:
Text.From(Date.Year([日期字段])) & "-" & Text.PadStart(Text.From(Date.Month([日期字段])), 2, "0")
加载回数据模型后,同样把这个列拖到轴区域即可
方法3:自定义日期层次结构
如果需要更灵活的展开/折叠功能(和Power Pivot的层次结构类似),可以自己建一个层次结构:
- 在字段列表里右键点击你的日期字段,选择「新建层次结构」
- 把展开后的「年」「月」拖到这个新建的层次结构里(顺序按年在前、月在后)
- 把这个层次结构拖到轴区域,点击轴上的+/-按钮就能展开或折叠年份,查看对应月份的数据
这几种方法都能实现你要的效果,选最适合你习惯的就行~
内容的提问来源于stack exchange,提问作者Ludie Bitner
相关产品推荐
相关产品推荐

