导入数据后替换所有列的所有错误值(同时保留行)

时间:2016-09-02 19:14:39

标签: excel powerquery

作为数据源的Excel表格可能包含错误值(#NA,#DIV / 0),这可能会影响Power Query转换过程中的某些步骤。
根据以下步骤,我们可能没有输出但是错误。那么如何处理这种情况?

我在Power Query中发现了两个标准步骤来捕获它们:

  • Remove errors(用户界面:主页/删除行/删除错误) - >将删除所有有错误的行
  • Replace error values (用户界面:转换/替换错误) - >首先要选择列来执行此操作。

第一种可能性对我来说不是解决方案,因为我想保留行并只是替换错误值。

在我的情况下,我的数据表会随时间变化,意味着列名称可能会更改(例如年),或者出现新列。所以第二种可能性太静态了,因为我不想每次都改变脚本。

所以我试图以动态的方式清理所有列,独立于列名(和列数)。它用空值替换错误。

{{1}}

在我向源添加了两个新列(有错误)之后,这里有三个不同的查询消息:

如果有人有其他解决方案来进行此类数据清理,请在此处写下您的帖子。

1 个答案:

答案 0 :(得分:6)

let
    src = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    cols = Table.ColumnNames(src),
    replace = Table.ReplaceErrorValues(src, List.Transform(cols, each {_, "!"}))
in
    replace