Power BIで出てくる「キーがテーブルのどの行とも一致しませんでした」の原因と解決策

こんにちは。

 

今回はPower BIではよく出てくる下記のエラーメッセージの原因についてです。

『OLE DB または ODBC エラー: [Expression.Error] キーがテーブルのどの行とも一致しませんでした。』

 

これよく出てくるんですよね~。

しかもPower BIでもよく使う機能に関連したエラーなので、まだPower BI始めたばかりの初級レベルの頃に出てきます。。。

確か自分も1時間くらい格闘した記憶が。。。

 

こちらの原因と解決策を紹介していきます。

動画版も作ったので動画がいい人はこちらを見てください。

 

 

ということで、下図がMicrosoft Power BI公式ページのエラー原因の解説です。

URL:https://learn.microsoft.com/ja-jp/power-query/common-issues

 

自分の経験則では95%一番上の色塗り部分が原因のことが多いです。

「テーブル名(たとえば、データソース自体)で変更された」という理由です。

 

 

このように活字で書かれるとわかりずらいですが、

簡単に言うとデータのシート名やフィールド名が正しくないですよ~という警告です。

 

例えば下図のようなExcelのデータソースをPower BIに取り込むとします。

Power BIではすでにPower Queryを使ってデータを加工したり、

DAXで計算式を作ってしまっています。

 

 

データソースのシート名を変えてみます。

 

Excelは複数の人で使うケースもあるのでこういうことはよくあります。

 

Power BIは、元のデータのシート名を使うことが前提にありますので、

シート名が変わったりしてしまうとエラーになってしまうのですね。

 

或いは、複数のデータをフォルダでインポートするケースでも出てきます。

フォルダでのインポートは便利ですが、その全てのシート名は同じものである必要があります。

1つでも違うシート名が存在していると、エラーになります。

これもエラーとしては頻繁に起きますね。。。

ちょっとわかりずらいですが、下図のようにエラー対象のテーブルが表示されます。

 

 

 

Expression_Errorの解決策!!

 

1.データソースを統一する

ということで、解決策としては、

一番手っ取り早いのがデータソースを元に戻す、あるいは統一すること。

 

後はPower Query等の式の引数にデータソース名を指定している場合は、

その式を直せば解消されますね。

 

 

2.シート名を指定せずIndexで指定する

もう1つのやり方が、

Power BIのNavigationでシート名をIndexで登録すること。

上図のように、インポートするシートをシート名ではなく、

Indexで指定すれば例えシート名が変わったとしても問題ナッシングですね。

 

それでもうまくいかん!という方は、Power Queryで全てのシートをインポートするよう設定をすることなのです。

これも例えばフォルダから一括でデータをインポートするケースなんかではよくあるのですが、、、

ここら辺のやり方は、別記事にまとめて別途共有していこうかなと思います。

 

本サイト運営:ソフゾウ

本サイト運営:ソフゾウ

Power BIを中心にデータのビジネスへの活用方法やノウハウを伝えております。
データに基づいてビジネスを可視化したり、データ分析基盤作りの支援をしています。

Power BIのトレーニング/構築支援やってます

Power BIの初級者向けトレーニングやPower BIを活用したデータ分析ダッシュボードの構築・運用支援も行っています。
ご興味をお持ちの方はご相談ください。
またPower BIに必要な外部データ(人口データ・天気データ・日付データ・緯度経度)もご提供可能です。
>>>お問い合わせはこちらから

 

 

twitteryoutubemail

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Scroll to Top