Power BI日期轴格式设置:需以YYYY-MM显示且保留日期属性用于动态计算
解决Power BI日期轴显示YYYY-M格式且保留DAX动态计算的方案
方案1:手动构建自定义日期层级(推荐)
该方案既保留日期类型以支持DAX的YOY/MOM动态计算,又能自定义X轴显示格式:
- 在数据视图中打开日期表,添加两个计算列(无则生成):
- 年份列:
Year = YEAR('Date'[Date])(整数类型,作为层级第一级) - 年月显示列:
YearMonth_Display = FORMAT('Date'[Date], "YYYY-M")(文本类型,仅用于显示,DAX计算不依赖此列) - 核心:保留原始
Date列(Date类型),所有YOY、MOM等DAX度量值均基于此列计算
- 年份列:
- 构建自定义层级:
- 切换到报表视图,在字段面板中选中
Year列,按住Ctrl选中YearMonth_Display列 - 右键任意选中字段,选择「创建层级」,命名为「自定义年月层级」
- 切换到报表视图,在字段面板中选中
- 将该自定义层级拖入图表X轴,即可显示
2023->2023-1的层级结构,完全符合需求
方案2:修改自动日期层级的月份格式
若不想手动构建层级,可尝试修改自动生成的日期层级显示:
- 在数据视图中选中日期表的
Date列 - 点击顶部「建模」选项卡,在「格式」下拉框中选择「自定义」,输入
YYYY-M - 返回报表视图,删除原X轴的日期层级,重新拖入
Date列的层级 - 若仍显示
Jan格式,右键X轴的月份标签,选择「格式」,在「标签」->「格式」中选择「自定义」并输入YYYY-M- 部分图表类型需单独设置轴标签格式,此操作可覆盖自动层级的默认显示
方案3:使用DAX计算列作为日期代理(兼容全图表类型)
若以上方法无效,创建保留日期属性的计算列:
- 在日期表中添加计算列:
该列为Date类型,代表每月第一天Date_Proxy = DATE(YEAR('Date'[Date]), MONTH('Date'[Date]), 1) - 选中
Date_Proxy列,右键设置格式为YYYY-M - 将
Date_Proxy的层级拖入X轴,DAX度量值可基于Date_Proxy或原始Date列计算,因两者均为Date类型,不会影响YOY/MOM的动态计算
核心注意点:所有方案都需保留用于DAX计算的Date类型字段,仅修改显示用的字段或格式,避免将日期转为整数导致动态计算失效。
内容的提问来源于stack exchange,提问作者QQ help me
相关产品推荐
相关产品推荐

