Power Query でのエラーの処理
Power Query では、2 種類のエラーが発生する可能性があります。
- ステップ レベルのエラー
- セル レベルのエラー
この記事では、各レベルで発生する可能性のある最も一般的なエラーの解決方法に関する推奨事項を示し、それぞれのエラーの理由、メッセージ、詳細について説明します。
ステップ レベルのエラー
ステップ レベルのエラーがあると、クエリが読み込まれず、エラーのあるコンポーネントが黄色のペインに表示されます。

- エラーの理由: コロンの前の最初のセクション。 上の例では、エラーの理由は Expression.Error です。
- エラー メッセージ: 理由の直後にあるセクション。 上の例では、エラー メッセージは "テーブルの列 'Column' が見つかりませんでした" です。
- エラーの詳細: [詳細:] という文字列の直後のセクション。 上の例では、エラーの詳細は [列] です。
一般的なステップ レベルのエラー
どのような場合でも、エラーの理由、エラー メッセージ、エラーの詳細をよく見て、エラーの原因を把握することをお勧めします。 [エラーへ移動] ボタンが表示されている場合、それを選ぶと、エラーが発生した最初のステップが表示されます。
![[エラーへ移動] ボタン [エラーへ移動] ボタン。](images/me-working-with-errors-go-to-error.png)
ソースが見つからない - DataSource.Error
このエラーは、一般に、ユーザーがデータ ソースにアクセスできない場合、データ ソースにアクセスするための正しい資格情報をユーザーが持っていない場合、またはソースが別の場所に移動された場合に発生します。
例: ユーザー A によって作成された、ドライブ D にあるテキスト タイルのクエリがあります。ユーザー A はユーザー B とクエリを共有していますが、ユーザー B はドライブ D にアクセスできません。このユーザーがクエリを実行しようとすると、環境にドライブ D がないため、DataSource.Error が発生します。

考えられる解決方法: テキスト ファイルのパスを、両方のユーザーがアクセスできるパスに変更できます。 ユーザー B は、ファイル パスを同じテキスト ファイルのローカル コピーに変更できます。 [設定の編集] ボタンがエラー ペインに表示されている場合は、それを選んで、ファイルのパスを変更できます。
テーブルの列が見つからなかった
このエラーは、通常、クエリに存在しない列名をステップで直接参照した場合に発生します。
例: 列名の 1 つが Column であるテキスト ファイルのクエリがあります。 クエリには、その列の名前を Date に変更するステップがあります。 しかし、元のテキスト ファイルでその列の名前が手動で Date に変更されたため、Column という名前の列見出しはなくなっています。 Power Query は Column という名前の列見出しを見つけることができないため、列の名前を変更できません。 次の画像のようなエラーが表示されます。

考えられる解決方法: このケースには複数の解決策がありますが、すべてはユーザーの意向次第です。 この例では、正しい Date 列ヘッダーが既にテキスト ファイルから取得されているため、列の名前を変更するステップを削除するだけで済みます。 これにより、このエラーが発生することなくクエリを実行できるようになります。
その他のステップ レベルのエラー
複数のデータ ソース間でデータを結合またはマージするときに、次の画像に示すような Formula.Firewall エラーが発生することがあります。

このエラーは、データ ソース間のデータ プライバシー レベルや、これらのデータ ソースの結合またはマージ方法など、さまざまな理由によって発生する可能性があります。 この問題を診断する方法について詳しくは、データ プライバシー ファイアウォールに関するページをご覧ください。
セル レベルのエラー
セル レベルのエラーによってクエリの読み込みが妨げられることはありませんが、エラー値がセルに [エラー] と表示されます。 セルの空白部分を選ぶと、データ プレビューの下にエラー ペインが表示されます。

注意
データ プロファイル ツールを使用すると、列の品質機能でセル レベルのエラーをより簡単に識別できます。 詳細情報: データ プロファイル ツール
セル レベルのエラーの処理
セル レベルのエラーが発生したときは、エラーを削除、置換、または保持することによってそれらを処理する一連の機能が Power Query によって提供されています。
次のセクションの例では、開始点として同じサンプル クエリを使用します。 このクエリでは、1 つのセルで変換エラーが発生する Sales 列があります。 そのセルの値は NA ですが、その列を整数に変換すると、Power Query では NA を数値に変換できないため、次のエラーが表示されます。

エラーを削除する
Power Query でエラーのある行を削除するには、まず、エラーが含まれる列を選びます。 [ホーム] タブで、 [行の削減] グループの [行の削除] を選びます。 ドロップダウン メニューから、 [エラーの削除] を選びます。
![[ホーム] タブの [エラーの削除] ボタン [ホーム] タブの [エラーの削除] ボタン。](images/me-working-with-errors-remove-errors.png)
その操作の結果、探しているテーブルが得られます。

エラーを置換する
エラーのある行を削除するのではなく、エラーを固定値に置き換えたい場合は、それを行うこともできます。 エラーのある行を置き換えるには、最初に、エラーが含まれる列を選びます。 [変換] タブの [任意の列] グループで、 [値の置換] を選びます。 ドロップダウン メニューから、 [エラーの置換] を選びます。
![[変換] タブの [エラーの置換] ボタン [変換] タブの [エラーの置換] ボタン。](images/me-working-with-errors-replace-errors.png)
すべてのエラーを値 10 に置き換えたいので、 [エラーの置換] ダイアログ ボックスで値「10」を入力します。
![[エラーの置換] ダイアログ ボックス [エラーの置換] ダイアログ ボックス。](images/me-working-with-errors-replace-errors-window.png)
その操作の結果、探しているテーブルが得られます。

エラーを保持する
Power Query は、エラーを修正しなくても、エラーのある行を識別するための適切な監査ツールとして機能します。 この場合、 [エラーの保持] が役に立ちます。 エラーのある行を保持するには、最初に、エラーが含まれる列を選びます。 [ホーム] タブで、 [行の削減] グループの [行の保持] を選びます。 ドロップダウン メニューから、 [エラーの保持] を選びます。
![[ホーム] タブの [エラーの保持] ボタン [ホーム] タブの [エラーの保持] ボタン。](images/me-working-with-errors-keep-errors.png)
その操作の結果、探しているテーブルが得られます。

セル レベルの一般的なエラー
ステップ レベルのエラーと同様に、セル レベルで提供されるエラーの理由、メッセージ、詳細をよく見て、エラーの原因を把握することをお勧めします。 以下のセクションでは、Power Query で最もよく発生するセル レベルのエラーについて説明します。
データ型変換エラー
一般に、テーブルの列のデータ型を変更するときに発生します。 列の一部の値を目的のデータ型に変換できませんでした。
例: Sales という名前の列を含むクエリがあります。 その列の 1 つのセルの値は NA ですが、残りのセルの値は整数です。 列のデータ型をテキストから整数に変換することにしましたが、値が NA のセルではエラーが発生します。

考えられる解決方法: エラーのある行を特定した後、NA ではなく正しい値を反映するようにデータ ソースを変更するか、エラーの置換 操作を適用してエラーの原因になった NA 値の値を指定することができます。
操作エラー
テキスト値を数値で乗算するなど、サポートされていない操作を適用しようとすると、エラーが発生します。
例: "Total sales:" という語句と Sales 列の値を連結したものが含まれるテキスト文字列を作成することによって、クエリ用のカスタム列を作成します。 連結操作ではテキスト列のみがサポートされ、数値はサポートされないため、エラーが発生します。
![テキストと Sales 列の数値に And 演算子を適用しようとしたことで発生した、[エラー] ペインの式エラー テキストと Sales 列の数値に And 演算子を適用しようとしたことで発生した、[エラー] ペインの式エラー。](images/me-working-with-errors-operation-errors.png)
考えられる解決方法: このカスタム列を作成する前に、Sales 列のデータ型をテキストに変更します。
