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の使い方やデータ分析のノウハウを伝えております。
データを使って世の中やビジネスを可視化したり、データ分析基盤作りの支援をしています。
過去ソフトウェア企業でBI構築に携わっていました。現在は小売企業でデータ分析や基盤構築に携わっています。

サービス・メニュー

ソフゾウでは、Power BIを効率的に実装しビジネスで活用できるようサービスも提供しています!
実践的なデータ活用を目指し、初心者向けの基礎講座から、ダッシュボードの設計・運用支援まで幅広く対応させて頂きます。
レポートの事例も紹介しておりますので、ご興味ありましたら、ご相談下さい。 

 

 

twitteryoutubemail

コメントを残す

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

CAPTCHA


Scroll to Top