You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中如何将年月格式文本转换为十进制数值?

Power BI将"Xy Ym"格式文本转为十进制年份的方法

方法一:Power Query编辑器(适合批量预处理数据)

  • 导入数据后,选中目标文本列,点击转换选项卡 → 拆分列 → 按分隔符,选择「空格」作为分隔符,将列拆分为「年份段」和「月份段」两列。
  • 处理年份列:选中「年份段」列,点击转换 → 提取 → 提取文本之前,输入y,得到纯数字的年份值,再把列类型改为小数。
  • 处理月份列:选中「月份段」列,同样操作,提取m之前的文本,得到纯数字的月份值,列类型改为小数。
  • 添加计算列:点击添加列 → 自定义列,输入公式:[年份段] + [月份段]/12,生成十进制年份列。
  • 最后可删除拆分出的临时列,关闭并应用修改到数据模型。

方法二:DAX计算列(适合直接在数据模型中生成)

在数据视图中,点击建模 → 新建列,替换[你的目标列名]后粘贴以下公式:

十进制年份 = 
VAR 年份值 = VALUE(LEFT([你的目标列名], FIND("y", [你的目标列名])-1))
VAR 月份值 = VALUE(MID([你的目标列名], FIND(" ", [你的目标列名])+1, FIND("m", [你的目标列名])-FIND(" ", [你的目标列名])-1))
RETURN 年份值 + 月份值/12

如果存在格式异常的单元格(比如缺年份/月份),可以用IFERROR处理错误值:

十进制年份 = 
VAR 年份值 = IFERROR(VALUE(LEFT([你的目标列名], FIND("y", [你的目标列名])-1)), 0)
VAR 月份值 = IFERROR(VALUE(MID([你的目标列名], FIND(" ", [你的目标列名])+1, FIND("m", [你的目标列名])-FIND(" ", [你的目标列名])-1)), 0)
RETURN 年份值 + 月份值/12

内容的提问来源于stack exchange,提问作者Satyam Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:40:28