2

Excel Power Query で、列 (Table.AddColumn) をクエリに追加しようとしています。このクエリでは、各行の値が行全体をチェックして、フィールドに「エラー」レコードがあるかどうかを確認しますが、途方に暮れていますどのように私はこれを行うことができます。「try ... そうでなければ」を使用して個々のフィールドをチェックする方法は知っていますが、行全体を入力する方法がわかりません。基本的に私の目標は、レコード内の他のフィールド (つまり、行) にエラーがあるかどうかを示すフィールドを作成することです。各列にエラーがないかどうかをチェックする関数にハード キーを設定する必要はありません。

どんな助けでも大歓迎です!

4

4 に答える 4

0

そのような列が厳密に必要な場合は、次の手順を実行できます。

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に保存します。次に、式を含む列を追加します。各行のインデックスのリストを検索します。見つかった場合、行は OK です。そうでない場合は、エラーが含まれています。

于 2016-07-07T18:02:03.803 に答える
0

ジェフのアプローチに追加します。「エラー」「正常」などのインジケータ列を含むすべての行が必要な場合

最後のステップの前にテーブルを返す関数を作成し、それを 2 つの個別のクエリで参照します。1 つのクエリでエラーのみを保持し、カスタム列 "Errored" を追加します 2 番目のクエリでエラーを削除し、カスタム列 "Fine" を追加します

上記の 2 つのクエリを追加して、最終結果を取得します。

エラー レコードのみが必要な場合は、元のクエリを変更して、エラー レコードのみを保持できます。

于 2016-01-27T00:52:10.097 に答える
0

このことを考慮

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

ここに画像の説明を入力

于 2019-08-30T17:39:28.873 に答える
0

に戻って参加することで、いくつかのトリッキーを実行できると確信していますTable.SelectRowsWithErrors

残念ながら、今はそれがどのようになるかを正確に把握する時間はありませんが、後日戻ってきてこれを更新できることを願っています。

于 2014-10-30T22:38:58.767 に答える