shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Queryの初歩】簡単な事例説明(起こりそうなエラーと対応の事例)

Power Query(パワークエリ)の初心者の方が知っておくとよいエラーと対応の事例。簡単な事例ですが、通常の編集作業で起こりそうなエラーと対応方法の備忘録。Power Queryでのエラー対応の基本として紹介。

次の事例は、クエリの結果を変更したいケースで、編集画面でステップを挿入すると、後の工程でエラーが発生するというものです。通常の編集作業でよくあることで、エラーメッセージを確認すれば、対応可能だと思います。

なお、すぐに慣れると思いますが、エラー対応の基本は次のとおり。

  1. エラーメッセージと、発生しているステップを確認する
  2. エラーが発生しているステップと、その前のステップのプレビューを比較
  3. エラーに応じて、「エラーが発生しているステップ」を修正か、その前にあるステップを修正する(ステップの追加挿入を含む)。

以下、具体的な事例として、ステップ挿入で起こりそうなエラーと対応です。

内容:

 

ステップ挿入のエラーと対応の事例

エラー発生前の状態

元データの列の順序を並び替えるだけのクエリ。

エラー発生前の状態
列の削除

アウトプットにある余分な列を削除したいので、「列の削除」ステップを挿入。

事例では、「変更された型」のステップの後に挿入するため、「変更された型」をクリック、削除したい「年代」「住所」の列を選択後、右クリックで「列の削除」としている。

列の削除を中間でステップ挿入

列の削除
確認メッセージが表示されるので「挿入」をクリック

ステップの挿入により、後続のステップに影響し、エラーとなる可能性を確認するメッセージが表示される。エラーにならないようにする多少のコツはあるが、Power Queryの編集で、中間ステップの挿入は必要な作業。後続のステップに影響することを理解するだけの画面。

挿入をクリック

確認メッセージが表示

「挿入」をクリックすると、ステップが挿入される。事例では次のとおり、列が削除される。なお、この段階ではエラーは発生していない。

この段階ではエラーが発生していない

列の削除のステップ挿入
次のステップをクリック

次のステップをクリック。事例では、「並び替えられた列」をクリックすると、次のエラーが発生。

エラーの発生

Expression.Error: テーブルの列 '〇〇' が見つかりませんでした。

事例では、「テーブルの列 '年代' が見つかりませんでした。」ということで、列のエラーであることの想像はつく。

エラーが発生したステップの数式を確認すると、

= Table.ReorderColumns(削除された列,{"商品ID", "日付", "顧客ID", "年代", "住所"})

となっている。エラーの原因は、前のステップで削除した列が数式内に残っているためであることが分かる。

そのため、前のステップで存在している列だけを残して、

= Table.ReorderColumns(削除された列,{"商品ID", "日付", "顧客ID"})

と修正する。直接数式の箇所を編集する(下図は修正後)。

存在しない列名を削除

数式の修正後

以上で、クエリのエラーは解消した。

このように、編集画面でステップを挿入すると、後の工程でエラーが発生することもありますが、エラーメッセージを確認すれば対応可能だと思います。エラーの原因は、データの状態変化などが多いと考えられますが、通常の編集作業で発生することで、すぐに慣れると思います。

問題のなかったクエリが編集作業でエラーとなり、どうしてもエラー解消ができない場合は、編集を「破棄して閉じる」ことで元には戻せます。PowerQueryに慣れるための最初のポイントについては、以下に記載しました。

shikumika.org

 

データソースのエラーと対応例

shikumika.org

 

クエリ編集におけるポイント

編集におけるエラー発生を少なくするためのコツなどです。

shikumika.org

 

以上、Power Query(パワークエリ)の初心者の方が知っておくとよいエラーと対応方法の備忘録でした。