DataFormat.Error:我们无法转换为数字

这篇文章解释了如何修复'DataFormat.Error:我们无法转换为数字'。处理数据电源查询,无论是在Excel或者电力商业智能,可以简化分析和报告。然而,数据类型转换错误是许多用户面临的常见问题,尤其是在处理不一致的格式时。

无论是不匹配的分隔符、混合数据类型还是区域设置,这些问题都可能导致 Power Query 错误解释数据,从而导致转换错误:

DataFormat.Error:我们无法转换为数字。详细信息:[错误详细信息]

在这篇文章中,我们将探讨错误背后的根本原因,并提供实用的解决方案来解决问题。

修复 DataFormat.Error:我们无法转换为 Number

修复DataFormat.Error,我们无法转换为数字,当处理数据时电源查询,无论是在Excel或者电力商业智能使用这些解决方案:

  1. 删除自动“更改类型”步骤
  2. 过滤掉非数字值
  3. 在类型转换之前清理和标准化数据
  4. 手动设置分隔符和区域设置
  5. 正确的小数和千位分隔符

让我们详细看看这一点。

1]删除自动“更改类型”步骤

Power Query 通常会在加载数据后自动添加“更改类型”步骤,以尝试根据前 1,000 行将数据类型分配给列。如果您的数据包含不一致的类型,例如同一列中的数字与文本混合,则此自动步骤可能会导致“DataFormat.Error:我们无法转换为数字”。

要解决此问题,请转至数据选项卡(在 Excel 中),然后选择获取数据 > 启动 Power Query 编辑器(在 Power BI 中,单击转换数据)。

在 Power Query 编辑器窗口的右侧,您将看到应用步骤窗格。如果有一个步骤名为 '改变类型',Power Query 已自动分配数据类型。单击X旁边的步骤将其删除。这将阻止 Power Query 尝试自动转换。

删除“更改类型”步骤后,手动设置每列的数据类型以确保其正确。

2]过滤掉非数字值

同时包含文本和数值的列(例如“ABC 123”)可能会导致 Power Query 尝试将所有内容转换为数字,从而导致上述错误。您可以采取一些措施来解决此问题:

  • 将列的数据类型更改为“文本”,使用替换值选项来更正有问题的条目,然后将数据类型恢复为“十进制数”。
  • 使用拆分列特征为。然后将“数字”数据类型应用于数字列,将“文本”类型应用于其他列。
  • 在将列转换为数字数据类型之前,您还可以过滤掉包含非数字值(不应存在)的行。

过滤掉非数字值后,您可以安全地更改原始列的数据类型。

3]类型转换前清理和标准化数据

从网站或其他来源复制的数据可能包含不间断空格或“&”或“,”等符号,这些符号在尝试转换或合并列时会使 Power Query 感到困惑。

应用干净的或者修剪函数从转换菜单来删除这些字符(TRIM 功能从文本中删除多余的空格,在单词之间仅保留单个空格,CLEAN 功能删除所有不可打印的字符,对于清理从可能存在隐藏字符的外部源导入的数据特别有用)。

应用这些函数后,尝试再次设置列的数据类型。

4]手动设置分隔符和区域设置

如果您的数据涉及区域设置,请确保 Power Query 使用正确的分隔符和区域设置。例如,如果您正在处理欧洲数据,其中逗号用作小数分隔符,请通过转至手动设置数据的区域设置文件 > 选项 > 查询选项 > 区域设置并调整语言环境以匹配数据源。

如果是单列,则使用更改类型 > 使用区域设置选项以确保应用正确的区域设置进行正确的数据类型转换。

同样,对于 CSV 文件,检查数据是否使用逗号或分号作为分隔符,并在导入过程中手动调整。

5]正确的小数和千位分隔符

最后,如果 Power Query 由于小数点和千位分隔符不匹配而无法转换数字,请使用替换值选项交换错误的分隔符(例如,对于欧洲数据,将“.”更改为“,”)以匹配预期格式。

就这样!

读:

如何解决无法转换为数字的数据格式错误?

确保您正在使用的列的格式正确为“文本”或“数字”。当您遇到“DataFormat.Error:我们无法转换为数字”时,请查看错误消息的“详细信息”部分。这通常会突出显示 Power Query 无法将其解释为数字的值或特定字符。如果列同时包含文本和数字,请将其拆分为单独的列,然后将正确的数据类型应用于数字列。

为什么 Excel 不允许我转换为数字?

如果单元格格式为“文本”或包含不可见字符(例如不间断空格或特殊符号),Excel 可能不允许您将以文本形式存储的数字转换为数字。如果合并任何受影响的单元格,Excel 可能会限制某些操作,例如数字转换。在尝试转换之前取消合并单元格。

阅读下一篇:

Related Posts