結合の参照整合性を仮定する
ある場合には、[参照整合性の仮定] オプションを [データ] メニューから選択し、結合でクエリのパフォーマンスを向上させることができます。このオプションを使用すると、ビュー内のフィールドによって具体的に参照される場合、Tableau はクエリ内の結合された表を含めます。
データに参照整合性 (下の定義を参照) があるが、データベースが参照整合性を強制していない、または強制できないことがわかっている場合は、この設定を使用するのが適切です。データベース内の参照整合性を構成するオプションがある場合は、データベースと Tableau の両方でパフォーマンスを向上させることができるので、この設定を使用するより適切なオプションです。Tableau の [参照整合性を仮定] オプションは、Tableau 側のパフォーマンスにのみ影響を与える可能性があります。データに参照整合性がない場合、この設定をオンにすると、クエリの結果が信頼できない可能性があります。
参照整合性を理解するには、2 つの表がある売上データへの接続を想像しください。売上および製品カタログ。これら 2 つの表を以下に示します。
売上
| 製品カタログ
|
販売されるすべての製品は製品カタログ内のリストに記載されている必要があるため、売上表のすべての行には製品カタログ表と一致する行があります。これら 2 つの表が製品 ID 上で結合される際、最終的には次のように表示されます。
製品 ID | 製品名 | 製品 ID | 売上高 | 取引日 |
1 | 10 インチ タブレット | 1 | 100 | 2012 年 10 月 1日 |
1 | 10 インチ タブレット | 1 | 2000 | 2012 年 10 月 2 日 |
2 | スマートフォン | 2 | 50 | 2012 年 9 月 30 日 |
3 | 電気スタンド | 3 | 10 | 2012 年 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 つの表を持つデータ ソースには影響を及ぼしません。