如何在Power BI中正确格式化日期并拆分AnioMes列为年月新列
原始列格式参考
- SQL Server存储过程返回的
AnioMes列格式:
- 加载到Power BI后的原始格式:

你可以通过以下两种方法实现需求,优先推荐在Power Query数据清洗阶段处理:
方案1:Power Query 处理(推荐)
- 进入Power Query编辑器,选中目标表的
AnioMes列,将该列类型更改为文本,对应M公式参考:
= Table.TransformColumns(上一步操作名称, {{"AnioMes", Text.From, type text}})
- 新建年份自定义列,公式如下:
= Text.Start([AnioMes], 4)
可将该列类型设置为整数型
- 新建月份自定义列,公式如下:
= Text.End([AnioMes], 2)
可将该列类型设置为整数型
- 如果需要将
AnioMes转为标准日期格式(默认取每月1日),可新增自定义列,公式如下:
= #date(Number.From(Text.Start([AnioMes],4)), Number.From(Text.End([AnioMes],2)), 1)
后续可直接在Power BI中为该日期列设置你需要的显示格式。
方案2:DAX 计算列处理
如果不需要修改数据源结构,可直接在Power BI数据视图新增计算列:
- 年份列公式:
年份 = LEFT(FORMAT([AnioMes],"0"),4) - 月份列公式:
月份 = RIGHT(FORMAT([AnioMes],"0"),2) - 标准月度日期列公式:
月度日期 = DATE(LEFT(FORMAT([AnioMes],"0"),4), RIGHT(FORMAT([AnioMes],"0"),2), 1)
注:如果
AnioMes本身已经是文本类型,可去掉公式中的FORMAT转换函数直接取值。
内容的提问来源于stack exchange,提问作者user15500092
相关产品推荐
相关产品推荐

