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

You Tubeの最新動画!!

Power BI・データ分析を学習しよう!!

Power BIレポートのショーケースも一部公開しております。

Power BIショーケースサイト

ココナラ

またPower BIの入門記事・記事をピックアップしましたので、こちらも参考にしてみて下さい

▶Power BIとは? 記事版 / 動画版(Power BIの概要を3分で解説!)

▶Power BIのメリット・デメリット 記事版 / 動画版

Power BI初級者向けに対面・オンライン形式でのハンズオントレーニング始めました!
これからPower BIを学び始めたい方、ご検討下さい。

住所情報の可視化やジオコーディング(緯度経度、拠点間距離算出等)のトレーニングも開催しています。
下記よりご確認下さい。

 

 

twitteryoutubemail

コメントを残す

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

CAPTCHA


Scroll to Top