【问题标题】:Excel Power Query ErrorsExcel 电源查询错误
【发布时间】:2014-09-08 20:08:14
【问题描述】:

在 Excel Power Query 中,我正在尝试将一列 (Table.AddColumn) 添加到查询中,其中每行的值检查整行以查看是否有任何字段具有“错误”记录,但我在我怎么能做到这一点不知所措。我知道如何使用“try ... else”检查各个字段,但我不确定如何输入整行。基本上我的目标是有一个字段来指示记录中的任何其他字段(即一行)是否有错误,而无需将每一列硬键入一个检查每一列是否有错误的函数。

感谢任何帮助!

【问题讨论】:

  • 等等,查询?您是否正在寻找查询的解决方案?如果是这样,请用更合适的标签标记您的问题。此外,扩展您的问题也可能有效。
  • 我无法添加“Power Query”标签,但由于它是 Excel 插件,我认为这是最合适的标签。
  • 好问题!我创建了标签。

标签: excel powerquery


【解决方案1】:

我相信你可以通过加入 Table.SelectRowsWithErrors 来做一些棘手的事情。

不幸的是,我现在没有时间确切地弄清楚它会是什么样子,但希望我可以在以后回来更新它,或者其他人会弄清楚并提供更好的答案。

【讨论】:

    【解决方案2】:

    添加到 Jeff 的方法中。如果您需要所有带有一些指示列的行,例如“errored”“Fine”

    创建一个返回最后一步之前的表的函数,并引用它 在两个单独的查询中。 在一个查询中只保留错误并添加自定义列“错误” 在第二个查询中删除错误并添加自定义列“Fine”

    附加以上 2 个查询以获得最终结果。

    如果您只需要错误记录,您可以修改原始查询并保留错误记录。

    【讨论】:

      【解决方案3】:

      如果你真的想有这样一个专栏,你可以做以下步骤:

      let
          Source = Table.ExpandListColumn(Table.FromRecords({[Name= {"Bob", "Jim", "Paul"}, Discount = .15] }), "Name"),
          AddedErrClmn = Table.AddColumn(Source, "ErrClmn", each if [Name] = "Jim" then [Name]-[Discount] else [Discount]),
          AddedIndexClmn = Table.AddIndexColumn(AddedErrClmn, "Index", 1, 1),
          ErrorlessIndexes = Table.RemoveRowsWithErrors(AddedIndexClmn)[Index],
          AddedCheckClmn = Table.AddColumn(AddedIndexClmn, "Validation", each if List.Contains(ErrorlessIndexes, [Index]) then "ok" else "Error")
      in
         AddedCheckClmn
      

      所以你添加索引,清理错误表并将结果索引保存在列表中ErrorlessIndexes。 然后用公式添加列:在该列表中搜索每一行的索引。如果找到,行是好的。如果不是,则包含错误。

      【讨论】:

        【解决方案4】:

        考虑一下

        let
            Source = #table({"a","b","c"},{{1,2,3},{2,[3],4},{3,4,5}}),
            #"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1),
            Nested = Table.AddColumn(#"Added Index", "Has Error", each Table.RowCount(Table.SelectRowsWithErrors(Record.ToTable(#"Added Index"{[Index]})))>0)
        in
            Nested
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-08-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多