PowerQuery エラーの種類と対処方法|M言語修正・置換・削除

PowerQuery(パワークエリ)でテーブルに含まれるエラーの処理方法について紹介します。

エラーの抽出(表示)による確認方法とエラーの削除や置換による処理方法を解説します。

目次

エラーの種類

パワークエリのエラーの種類には主に2つあります。それぞれについて説明します。

  • ステップレベルエラー
  • セルレベルエラー

ステップレベルエラー

ステップレベルエラーは「パワークエリの処理が止まってしまうエラー」です。

画面上部に下図のようなエラー表示がされている場合はステップレベルエラーです。この場合、クエリの全体の処理が停止してしまいます。

以下がよくあるステップレベルエラーの種類で後述で対処方法をご紹介します。

よくあるステップレベルエラー
  • データソースエラー:元データのファイル名や保存場所が変更になったことによるエラー
  • 列名エラー:参照していた列の削除または列名変更によるエラー
  • クエリエラー:参照していたクエリの削除またはクエリ名変更によるエラー

セルレベルエラー

セルレベルエラーは「パワークエリの処理は止まらないが一部のデータが正しく読み込めないエラー」です。

下図のようにテーブル内のセルの値が「Error」となっているのがセルレベルエラーです。全体の処理は止まりませんがこのセルの値だけはデータ集計や計算が行えなくなります。

以下がよくあるセルレベルエラーの種類で後述で対処方法をご紹介します。

よくあるステップレベルエラー
  • データ型エラー:列のデータ型とセル値のデータ型が一致していないことによるエラー
  • null計算エラー:nullに対応していない関数に対してnullを処理させたことによるエラー

エラーの確認

まずは、エラーの箇所を確認する方法を紹介します。

ステップレベルエラーの確認

ステップレベルのエラー箇所の確認には、エラー表示の「エラーに移動する」を選択すればOKです。

これによりエラーが発生しているステップに移動することができます。エラー表示にはエラー原因を記載されていますのでそれを参考に修正を行いましょう。

セルレベルエラーの確認

エラーを確認するにはエラーが発生したときに「クエリと接続」のエラーのリンクをクリックすればOKです。

STEP
エラー箇所を表示する
  1. データタブのクエリと接続をクリックする。
  2. 対象クエリの横に表示してあるエラーへのリンクをクリックする。
STEP
エラーが発生しているクエリと列と行番号を確認する

リンクをクリックするとエラー箇所を表示した新しいクエリが表示されます。

このクエリからエラーが発生しているクエリ名、列名、行番号を確認します。ここではテーブルクエリの数値列の15行目でエラーが発生していることがわかります。

STEP
エラー原因を確認する
  1. エラーが発生しているクエリを選択する。
  2. Errorと表示されているセルをクリックする。

エラーを確認した結果、今回は数値データ列に「A」という文字列が含まれていることでエラーが発生していたことがわかりました。エラーを解消するためには元データを修正します。

クエリ作成中のエラー確認方法

クエリを作成している途中でエラーデータを確認したい場合はエラー抽出をして確認するのがオススメです。

エラー抽出には「エラーの保持」機能を使用します。

STEP
データ準備

エラー抽出の例として、下図の数値列のエラーを抽出します。下図のようにエラーが発生している列は列名の下側に赤色のマークが表示されます。

STEP
エラーを抽出する
  1. エラーが発生している列をクリックして選択する。複数列の場合はCtrlキーを押しながら選択する。
  2. ホームタブの「行の保持」の「エラーの保持」をクリックする。
STEP
エラー原因を確認する

以上でエラーの抽出は完了です。下図のようにエラー行のみが抽出されます。

エラーのセルをクリックするとエラー内容が確認でき、今回は今回は数値データ列に「A」という文字列が含まれていることでエラーが発生しています。エラーを解消するためには元データを修正します。

エラー抽出前のテーブルに戻したい場合

エラー内容を確認した後に元のテーブルに戻したい場合は、下記手順で「エラーの抽出」ステップを削除してください。

  1. 表示タブの「クエリの設定」をクリックする。
  2. エラー抽出のステップ「保存されたエラー」を✕マークをクリックして削除する。

ステップレベルエラーの対処

ステップレベルエラーの対処方法は、エラーが発生しているステップのM言語を修正することです。

例として下図のような列名においてエラーが発生している場合の修正方法を解説します。

記事作成中

セルレベルエラーの対処

セルレベルエラーの対処方法は主に以下の3つがあります。それぞれについて方法を紹介します。

  • 元データの修正
  • エラーデータの削除
  • エラーデータの置換

元データの修正

一番シンプルな対処方法は元データを修正することです。

前述のエラー確認方法によって特定したエラーデータを元ファイル上で修正・削除します。

下図のエラーの場合、元ファイルの数値列の5行目のデータをテキストデータから数値に修正すればOKです。

エラーデータの削除

次のエラーの修正方法はエラーデータの削除です。

エラー削除には行の削除の「エラーの削除」機能を使用します。

STEP
データ準備

エラー置換の例として、下図の数値列のエラーを削除します。

STEP
エラーを削除する
  1. エラーを削除したい列をクリックして選択する。複数列の場合はCtrlキーを押しながら選択する。
  2. 変換タブの「行の削除」の「エラーの削除」をクリックする。
STEP
エラー削除完了

以上でエラーの削除は完了です。

エラーデータの置換

最後のエラーの修正方法はエラーデータを別の値に置換してしまう方法です。

エラー置換には値の置換の「エラーの置換」機能を使用します。

STEP
データ準備

エラー置換の例として、下図の数値列のエラーを置換します。

下図のエラーは数値データ列に文字列が入り込んでいることで発生しているので、Errorを数値に置換してエラーを処理します。

STEP
エラーを置換する
  1. エラーを置換したい列をクリックして選択する。複数列の場合はCtrlキーを押しながら選択する。
  2. 変換タブの「値の置換」の「エラーの置換」をクリックする。
  1. 置換したい値を入力してOKをクリックする。ここでは数値の5を入力します。
STEP
エラー置換完了

以上でエラーの置換は完了です。下図のようにエラーが値に置換されてエラー解消できています。

Power Queryのおすすめ書籍

パワークエリの学習本についてはコチラの記事でまとめてますので参考にしてみてください。

初心者向けおすすめ学習本

初中級者向けおすすめ学習本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次