結合の参照整合性を仮定する

ある場合には、[参照整合性の仮定] オプションを [データ] メニューから選択し、結合でクエリのパフォーマンスを向上させることができます。このオプションを使用すると、ビュー内のフィールドによって具体的に参照される場合、Tableau はクエリ内の結合された表を含めます。

データに参照整合性 (下の定義を参照) があるが、データベースが参照整合性を強制していない、または強制できないことがわかっている場合は、この設定を使用するのが適切です。データベース内の参照整合性を構成するオプションがある場合は、データベースと Tableau の両方でパフォーマンスを向上させることができるので、この設定を使用するより適切なオプションです。Tableau の [参照整合性を仮定] オプションは、Tableau 側のパフォーマンスにのみ影響を与える可能性があります。データに参照整合性がない場合、この設定をオンにすると、クエリの結果が信頼できない可能性があります。

参照整合性を理解するには、2 つの表がある売上データへの接続を想像しください。売上および製品カタログ。これら 2 つの表を以下に示します。

売上

製品 ID (外部キー)売上高取引日
11002012 年 10 月 1日
120002012 年 10 月 2 日
2502012 年 9 月 30 日
3102012 年 8 月 21 日

製品カタログ

製品 ID (主キー)製品名
110 インチ タブレット
2スマートフォン
3電気スタンド
4メモリ スティック

販売されるすべての製品は製品カタログ内のリストに記載されている必要があるため、売上表のすべての行には製品カタログ表と一致する行があります。これら 2 つの表が製品 ID 上で結合される際、最終的には次のように表示されます。

製品 ID製品名製品 ID売上高取引日
110 インチ タブレット11002012 年 10 月 1日
110 インチ タブレット120002012 年 10 月 2 日
2スマートフォン2502012 年 9 月 30 日
3電気スタンド3102012 年 8 月 21 日

では、地域ごとに売上高を確認するビューを構築するとしましょう。既定では、売上高フィールドをビューにドラッグすると次のようなクエリを作成することができます。

SELECT SUM([Sales Amount]) FROM [Sales] S INNER JOIN [Product Catalog] P ON S.ProductID = P.ProductID

[照整合性を仮定する] オプションを選択することで、Tableau は結合された表に参照整合性があると認識します。言い換えると、売上表には常に製品カタログの表に一致する行があります。これは true なので、Tableau はこれらの結果を返すために製品カタログの表からの情報を必要としません。[売上高] フィールドをビューにドラッグすると、Tableau ではクエリを次のように簡素化できます。

SELECT SUM([Sales Amount]) FROM [Sales]

結合の演算子が削除されているため、この簡素化されたクエリはより速く頻繁に結果を返すことができます。このオプションは内部結合にのみ影響を与え、1 つの表を持つデータ ソースには影響を及ぼしません。

 

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!