An Excel表格作为数据源可能包含错误值(#NA,#DIV/0),这可能会在Power Query的转换过程中干扰后续步骤。根据以下步骤,我们可能会得到无输出但有错误的情况。那么如何处理这些情况呢?
我在Power Query中找到了两个标准步骤来捕捉它们: 对我来说,第一种可能性不是一个解决方案,因为我想保留行并只替换错误值。
在我的情况下,我的数据表会随时间变化,这意味着列名可能会改变(例如年份),或者新列会出现。因此,第二种可能性太静态了,因为我不想每次都更改脚本。
因此,我尝试找到一种动态的方法来清理所有列,独立于列名(和列数)。它用空值替换错误。
这里是加入两个新列(带有错误)到源数据后的三个不同查询消息:
如果有人有其他解决数据清理问题的方法,请在此处发布您的帖子。
我在Power Query中找到了两个标准步骤来捕捉它们: 对我来说,第一种可能性不是一个解决方案,因为我想保留行并只替换错误值。
在我的情况下,我的数据表会随时间变化,这意味着列名可能会改变(例如年份),或者新列会出现。因此,第二种可能性太静态了,因为我不想每次都更改脚本。
因此,我尝试找到一种动态的方法来清理所有列,独立于列名(和列数)。它用空值替换错误。
let
Source = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
//Remove errors of all columns of the data source. ColumnName doesn't play any role
Cols = Table.ColumnNames(Source),
ColumnListWithParameter = Table.FromColumns({Cols, List.Repeat({""}, List.Count(Cols))}, {"ColName" as text, "ErrorHandling" as text}),
ParameterList = Table.ToRows(ColumnListWithParameter ),
ReplaceErrorSource = Table.ReplaceErrorValues(Source, ParameterList)
in
ReplaceErrorSource
这里是加入两个新列(带有错误)到源数据后的三个不同查询消息:
![](https://istack.dev59.com/F0nIC.webp)