Power Query(パワークエリ)の初心者の方が知っておくとよいエラーと対応の事例。簡単な事例ですが、通常の編集作業で起こりそうなエラーと対応方法の備忘録。Power Queryでのエラー対応の基本として紹介。
次の事例は、クエリの結果を変更したいケースで、編集画面でステップを挿入すると、後の工程でエラーが発生するというものです。通常の編集作業でよくあることで、エラーメッセージを確認すれば、対応可能だと思います。
なお、すぐに慣れると思いますが、エラー対応の基本は次のとおり。
- エラーメッセージと、発生しているステップを確認する
- エラーが発生しているステップと、その前のステップのプレビューを比較
- エラーに応じて、「エラーが発生しているステップ」を修正か、その前にあるステップを修正する(ステップの追加挿入を含む)。
以下、具体的な事例として、ステップ挿入で起こりそうなエラーと対応です。
内容:
ステップ挿入のエラーと対応の事例
エラー発生前の状態
元データの列の順序を並び替えるだけのクエリ。
列の削除
アウトプットにある余分な列を削除したいので、「列の削除」ステップを挿入。
事例では、「変更された型」のステップの後に挿入するため、「変更された型」をクリック、削除したい「年代」「住所」の列を選択後、右クリックで「列の削除」としている。
確認メッセージが表示されるので「挿入」をクリック
ステップの挿入により、後続のステップに影響し、エラーとなる可能性を確認するメッセージが表示される。エラーにならないようにする多少のコツはあるが、Power Queryの編集で、中間ステップの挿入は必要な作業。後続のステップに影響することを理解するだけの画面。
「挿入」をクリックすると、ステップが挿入される。事例では次のとおり、列が削除される。なお、この段階ではエラーは発生していない。
次のステップをクリック
次のステップをクリック。事例では、「並び替えられた列」をクリックすると、次のエラーが発生。
事例では、「テーブルの列 '年代' が見つかりませんでした。」ということで、列のエラーであることの想像はつく。
エラーが発生したステップの数式を確認すると、
= Table.ReorderColumns(削除された列,{"商品ID", "日付", "顧客ID", "年代", "住所"})
となっている。エラーの原因は、前のステップで削除した列が数式内に残っているためであることが分かる。
そのため、前のステップで存在している列だけを残して、
= Table.ReorderColumns(削除された列,{"商品ID", "日付", "顧客ID"})
と修正する。直接数式の箇所を編集する(下図は修正後)。
以上で、クエリのエラーは解消した。
このように、編集画面でステップを挿入すると、後の工程でエラーが発生することもありますが、エラーメッセージを確認すれば対応可能だと思います。エラーの原因は、データの状態変化などが多いと考えられますが、通常の編集作業で発生することで、すぐに慣れると思います。
問題のなかったクエリが編集作業でエラーとなり、どうしてもエラー解消ができない場合は、編集を「破棄して閉じる」ことで元には戻せます。PowerQueryに慣れるための最初のポイントについては、以下に記載しました。
データソースのエラーと対応例
クエリ編集におけるポイント
編集におけるエラー発生を少なくするためのコツなどです。
以上、Power Query(パワークエリ)の初心者の方が知っておくとよいエラーと対応方法の備忘録でした。