今回はPowerBIやPowerQueryで更新時などにエラーが発生した場合の対処方法を紹介します。
【こんな方におすすめ!】
・OLE DB 、ODBC などのよくわからないエラーが発生した
・どんな対処をしてもエラー文が消えない
【本記事でできること】
・PowerQuery内のエラー対処方法
・OLE DB 、Number変換などのエラー対策
・セルの「Error」を根本対策/置換し対策
PowerBIもPowerQuery(パワークエリ)も同様ですので、
同じ現象で悩まれている方のご参考になればと思います!
PowerQuery OLE DBまたはODBC エラーの対策
PowerBIやPowerQueryを更新すると、下記のような
なんのこっちゃ分からないエラー文が出て対策に困る場面があります。
【エラー文】
データフォルダ
サーバーに対する変更の保存に失敗しました。返されたエラー: ‘OLE DB または ODBC エラー: [DataFormat.Error] Number に変換できませんでした。。 ‘。
これは、「Number に変換できませんでした。。 」
とあるので数値型への変換時に失敗してエラーが出ています。
クエリ内の型変換ステップを見直しましょう!!
PowerQuery内で10進数や整数への型変換ステップに、
数値以外のデータがありエラーとなっていないか確認しましょう。
行などを消去するステップの前に型変換をしてしまうと、
まだ数値以外のデータが残っていることでのエラー発生につながります。
【対策】
いろいろとステップを進めた後に、
数値だけになったのを確認して型変換するようにしましょう!
処理速度を速くする観点からも、
型変換のステップは最後のほうにもっていったほうが良いです。
下記で処理速度が重い場合の対策方法でも記載しています!
▶PowerBI/PowerQueryの重い処理を軽く/速くする方法
【結論】
エラーの主な原因は型変換!
ステップの最後で型変換の処理をする!
PowerQuery セルのエラー対策、エラーの置換
続いてPowerQuery内のセルエラーが発生した時の対策方法を紹介します。
下記のように、セル内に「Error」と表示され、
列名の下に赤ラインでエラーが一部あるよ!と伝えてくれます。
この「Error」をクリックすると、詳細を教えてくれます。
この場合もNumberエラーなので数値型への変換に失敗しています。
生データが数値ではなく、「***」があるよ!と教えてくれています。
【エラー文】
DataFormat.Error] Number に変換できませんでした。
【対策】
セル内のエラーの対処方法は2パターンです。
①元データのエラー箇所を修正する
②クエリ内でエラーセルを無視する(null)に変換する
本質的には、根本対策となる①が推奨です。
ただ、どうしても元データを修正できない場合や、
エラー数が数件で全体に対してさほど影響しない場合は
クエリ内でエラー文を置換することが可能です。
①元データのエラー箇所を修正する
エラーがどの行で発生しているかをクエリ内で確認して元のデータを修正すればOKです。今回でいうと、生データの「***」が入っているセルの修正をすればOKです。
②クエリ内でエラーセルを無視する(null)に変換する
列を選択して「変換」→「値の置換のプルダウン」→「エラーの置換」をクリックします。
次に、値に「null」と入力して置換します。
エラーがnullに変換できました!
nullに置換しておけば、型変換で数値型などに変換してもエラーが出ません。
【参考記事】
▶パワークエリでエラーの置換
【結論】
セルのエラーは「元データを修正する」もしくは「エラーをnullに置換する」
PowerQuery その他のエラーの対策
その他のエラーとして、
・Expression.Error
・DateSource.Error
などがあります。
ExpressionエラーはExcelなどの読み込んでいるデータソースとPowerBI内のクエリ間で差異がある場合に発生します。DateSourceエラーはデータソースのファイル場所が変わった場合などに発生します。それぞれ詳しく説明していきます。
Expression.Error 元データ変更時に発生するエラー
Excelなどの読み込んでいるデータソースとPowerBI内のクエリ間で違いがある場合に発生します。
具体的には、 下記のようなエラーメッセージが表示されます。
【エラー文】
Expression.Error: テーブルの列 ‘日付’ が見つかりませんでした。 詳細:日付
こちらはPowerクエリの更新時に発生し、
「クエリ内には日付という列があったけど、生データからなくなってるよ!」
というエラーになります。
何かの理由で元データの列名変更や列が無くなったなど、
データにクエリとの差異が発生したことが原因です。
【対策】
こちらは比較的エラーの問題点もわかりやすいので、
どこのステップでエラーが発生したかを確認し、
その対象ステップを修正すればOKです!
【結論】
元のデータの列名変更や列消去がされた場合はクエリ内のステップを修正する
DateSource.Error データ場所の変更時に発生するエラー
続いてデータソースのフォルダの場所(パス)が変わった場合などに発生するエラーです。
具体的には、下記のエラー文が表示されます。
【エラー文】
DataSource.Error: ファイル ‘C:\Users\Desktop\購入リストデータ.xlsx’ が見つかりませんでした。
これは、データソースの場所がクエリで指定した場所と違うことが原因です。
【対策】
データ元のフォルダ場所の変更で解決します!
ステップのソースから変更か、下記図のように
ホームタブ→「データソースの設定変換」→「ソースの変更」→「参照」で新しいデータの場所を指定すればOKです。
【結論】
ファイルの場所が変わった場合はデータソースを変更する
PowerQuery / PowerBI エラーの対策方法まとめ
今回はPowerQueryのエラー発生時として、
・OLE DB または ODBC エラー
・Number に変換などの型変換エラー
・PowerQueryでセルのエラー
・取り込み時のエラー(Expression.Error)
・データソースエラー(DateSource.Error)
の対策方法を説明しました。
よくあるエラー文の対策方法ですので、発生時は試してみてください!
下記でパワークエリ、パワーピポット、PowerBIの使い方やDAX関数をまとめていますので、ぜひご参考下さい。
よかったら、下記☟のクリック応援もよろしくお願いします!
最後まで読んでいただきありがとうございました!!
コメント