如何修正Power BI误识别为日期的Excel自定义格式列?
解决Power BI误将「4位代码/1位数字」识别为日期的问题
以下是几种可行的解决方案,按操作优先级排序:
1. 导入阶段强制指定文本格式(最直接)
- 打开Power BI导入Excel文件时,在「导航器」界面找到目标表格,点击表格右侧的齿轮图标(编辑导入参数)
- 在弹出的对话框中,取消勾选「自动检测列类型」,找到目标列,手动将其类型设置为「文本」,确认后再加载数据
- 如果已完成导入,可删除现有数据连接,重新按上述步骤导入
2. 修复Excel源文件的底层格式
- 在Excel中选中目标列,右键选择「设置单元格格式」→切换到「文本」标签,点击确定
- 对已输入的单元格,逐个按
F2进入编辑模式再回车,强制让Excel将内容以文本形式存储(仅修改格式不会改变已输入内容的底层存储类型) - 保存Excel文件后,重新在Power BI中导入
3. 用M语言还原已误识别的内容
如果数据已经被误识别为日期,可在Power Query编辑器中通过M代码还原:
- 进入Power Query,选中已被误识别的日期列,添加自定义列
- 输入以下M代码,先将日期类型转回原始字符串:
Text.From([你的日期列名], "en-US") - 再通过拆分重组得到正确格式,完整代码示例:
let 原始日期字符串 = Text.From([你的日期列名], "en-US"), 拆分内容 = Text.Split(原始日期字符串, "/"), 代码部分 = 拆分内容{2}, 数字部分 = 拆分内容{1} in 代码部分 & "/" & 数字部分 - 生成自定义列后,删除原误识别的日期列即可
4. 拆分后再合并规避识别
- 在Power Query编辑器中,选中目标列,点击「拆分列」→「按分隔符」,选择「/」作为分隔符,将列拆分为两列(分别对应4位代码和1位数字)
- 添加自定义列,用以下代码合并两列:
[代码列名] & "/" & [数字列名] - 合并后的列会保持纯文本格式,不会被误识别为日期
内容的提问来源于stack exchange,提问作者LUCAS
相关产品推荐
相关产品推荐

