マルチファクト関係データ モデルについて

マルチファクト関係を使用すると、複数の基底テーブルを持つデータ ソースを構築できます。データ モデルで複数の基底テーブルを使用すると、Tableau でマルチファクト分析を実行できます。

基底テーブルをルートとするテーブルのツリーを確立することで、異なる概念ドメインを持つデータ構造をモデル化し、それらの共有特性を使用してデータを接続することができます。このタイプの分析は、多くの場合、マルチファクト分析、適合ディメンション、または共有ディメンションと呼ばれます。Tableau では、関係を使用してモデルを構築することから、これをマルチファクト関係データ モデルと呼びます。マルチファクト関係データ モデルには、常に複数の基底テーブルが含まれます。基底テーブルは、データ モデル内にある一番左のテーブルです。基底テーブルとして使用するテーブルを決定する方法については、「マルチファクト関係モデルを使用するとき」を参照してください。

1 つのツリーが強調表示された複数の基底テーブル モデル

1 つの基底テーブルのツリーが強調表示された複数の基底テーブル データ モデル

関連性のレベル

複数の基底テーブルを持つデータ モデルでは、データの断片を互いにどのように関連付けられるか (または関連付けないようにするか) についての柔軟性が高くなります。

: 関連性の適用範囲はどのレベルにおいても、複数の基底テーブルを持つデータ モデルのみです。マルチファクト関係データ モデルが登場する前は、すべてが関連している (単一のデータ ソース内) か、何も関連していない (複数のデータ ソースにまたがってブレンドしている) かのいずれかでした。

データ モデルにおける関連性

テーブルは、データ モデルの構造に基づいて、関連があったり、関連がなかったり、共有されたりします。データ ソースでは、テーブルの関連性は一定です。簡単な概要は次のとおりです。 

  • 関連テーブルは同じツリー内にあります。
    • 2024.2 より前は、すべてのデータ ソースが単一のツリーで構成される単一の基底テーブル データ ソースであり、単一の基底テーブル データ ソースではすべてのテーブルが関連していました。
  • 関連のないテーブルは異なるツリー内にあります。基底テーブルは常に互いに関連していません。また、ただ 1 つの基底テーブルのダウンストリームにあるテーブルも、他のツリー内のテーブルとは関連していません。
  • 共有テーブルは複数の入力関係を持ち、複数のツリーに属します。
    • 複数の入力関係を持つテーブルのダウンストリームにあるテーブルも共有テーブルと見なされます。

分析中の関連性

フィールドは、関連していたり、まだ関連していなかったり、あいまいに関連していたりすることがあり、さらに、つなぎ合わせるフィールドとして機能することもあります。フィールドのグループ間の関連性は、データ モデルの構造や、どのフィールドがアクティブに使用されているか (つまり、ピルとしてシェルフに並んでいるか)、およびそれらのフィールドがディメンションであるかメジャーであるかに基づいて、シートごとに決定されます。

関連のない 2 つのフィールド (行と列にそれぞれ 1 つずつ) と、関連のないツールヒントを表示するシンプルなビジュアライゼーション

複数のテーブルのフィールドを使用してビジュアライゼーションを作成するには、Tableau はバックグラウンドで結合を実行して値を計算する必要があります。使用する結合のタイプは、フィールドの関連性によって異なります。簡単な概要は次のとおりです。 

  • Viz で関連フィールドが使用されている場合、ディメンションは内部結合され、メジャー バリューはディメンションごとに分類されます。
    • 実際はもう少し複雑であり、メジャー バリューがドロップされないようにするために、バックグラウンドでの追加の結合が必要になる場合があります。しかし、ディメンションのみの Viz では、関連するディメンションが内部結合されており、それがここでの主な概念となります。
    • これは、単一基底テーブル モデルと同じ動作です。
  • Viz で関連のないフィールドが使用されている場合、ディメンションはクロス結合されます。メジャー バリューはテーブル スコープ (つまり、テーブル全体の単一の値にローカルに集計) され、繰り返されます。
    • また、フィールドがまだ関連付けられていないか、あいまいに関連している可能性もあります。つまり、アクティブなフィールドの組み合わせでは、テーブル間の関係を解決する方法が複数あるということです。Tableau は不明瞭なフィールドに遭遇すると、それらを関連のないフィールドとして処理します。
  • フィールドが共有フィールドに基づいてつなぎ合わされる場合、ディメンションは外部結合されます。メジャー バリューは、ディメンションごとの分類レベルで集計され、繰り返される場合があります。
    • ディメンションのつなぎ合わせは、データ ブレンドにおけるフィールドのリンクに似ています。関連するフィールドのペアごとに結果が計算され、関連のない値は、それらの間で共有されるディメンションの共有値全体でつなぎ合わされます。

これらの概念と定義については、このトピックの後半で詳しく説明します。

ディメンションとメジャー関する補足説明

Tableau では、メジャー集計であり、ビュー内のディメンションによって設定される粒度まで集計されます。したがって、メジャーの値はディメンションのコンテキストによって異なります。たとえば、「シリアルの箱の数」は、在庫総数を意味するのか、ブランドごとの箱数を意味するのかによって異なります。

ディメンションは通常、国やブランドなどのカテゴリ フィールドです。Tableau では、ディメンションによってビューの粒度、つまり詳細レベルが設定されます。通常、いくつかのカテゴリの組み合わせごとにマークを使用してデータをグループ化します。ビューを構築するために使用するディメンションによって、マークの数が決まります。

メジャーがディメンションなしで使用される場合、それは、テーブル スコープと呼ばれます。つまり、その値はテーブル全体の完全な集計値ということです。Viz でブランドなどのディメンションを使用するとすぐに、メジャーがより細かく分類されます。シリアルの箱の総数がブランドごとに表示されるようになります。

集計は、データがどのように組み合わせられているかを指すものです。Tableau の規定の集計は SUM です。集計は、平均値、中央値、個体数、最小値など、さまざまなオプションに変更できます。粒度は、メジャーがどの程度細かく分類されているかを指し、ディメンションによって制御されます。メジャーの粒度が行レベル (つまり非集計) でない限り、その値を集計する必要があります。

シリアルの箱の数を、5 つのブランドと 3 つの箱のサイズ別にまとめた表

「シリアルの箱の数」の値は何ですか?

この値は、集計タイプと、ディメンションによって設定される粒度によって異なります。

  • 集計:
    • Sum (合計)
    • Average
  • 粒度:
    • テーブルスコープ/完全集計 (図の例では青いバー)
    • ブランド ディメンションごとに分類 (図の例では色付きのバー)

4 つの Viz を含むダッシュボード。1 つはボックス数 (54) の合計テーブル スコープで、もう 1 つはボックス数 (6) の平均テーブル スコープ。これらの 2 つのバージョンを 5 つのブランドごとに分類したもの。

フィールド レベルの関連性指標

分析で使用しているフィールドの関連性の程度を理解しやすくするための視覚的な手がかりがいくつかあります。

ワークシート上の関連性指標

  • 関連のないアイコン: Tableau は関連のないアイコン 関連のないアイコン を使用して、ビュー内のすべてが関連しているわけではないことを示します。ビューまたはデータ ペイン内のピルに関連のないアイコンが表示されている場合は、アイコンの上にカーソルを合わせると、詳細情報が表示されます
    • 関連ありアイコン は、フィールドが関連のないフィールドとつなぎ合わされていることを示します。
  • 薄い灰色のフィールド名: フィールド名がシェルフで使用されているフィールドと関連していない場合、[データ ペイン] に薄い灰色のテキストで表示されます。これらのフィールドは引き続きその Viz の分析に使用できますが、分析では、関連のないフィールドは関連するフィールドとは異なる方法で評価されます。また、これらのフィールドにカーソルを合わせると、関連のないアイコンが表示されます。

データ ペイン。1 つのテーブル全体がグレー表示され、2 つのフィールドには非表示フィールドを表す斜線付きの目のアイコンが表示されます。

: Tableau の以前のバージョンでは、薄い灰色のフィールド名はフィールドが非表示で、[非表示フィールドの表示] が選択されていることを示していました。非表示のフィールドは、クリック可能な目のアイコンとともに表示されるようになりました非表示フィールドのアイコン

関連性に関する警告ダイアログ ボックス

関連のないフィールドが Viz 内で一緒に使用されている場合、Tableau はフィールドが関連していないことを知らせる警告ダイアログ ボックスを表示します。この警告は、パフォーマンスに影響を与える可能性のある偶発的なクロス結合を防ぐために、関連のないフィールドが追加されるたびに表示されます。

  • 関連のないフィールドをつなぎ合わせずに使用する場合は、[追加] をクリックして Viz へのフィールドの追加を続行します。
  • 関連のないフィールドをつなぎ合わせる場合は、ベスト プラクティスとして、つなぎ合わせるフィールドを関連のないフィールドの前に配置します。つなぎ合わせるフィールドがすでに使用されている場合、ダイアログは表示されません。つなぎ合わせによってクロス結合を防止する方法については、「関連性の各レベルにおける結合の使用方法」をご覧ください。

関連のないディメンションに対する警告を表示する関連性に関する警告ダイアログ ボックス

複数のフィールドが追加されている場合、またはそれらが既にビューに存在する場合は、ダイアログに [詳細] 領域が表示されます。これを展開すると、使用中のすべてのフィールドの関連性に関する詳細情報が表示され、関連がないという問題がどこで発生しているかを特定することができます。

関連のないディメンションとメジャーの両方に関するメッセージと詳細領域が展開された関連性に関する警告ダイアログ ボックス

警告メッセージが表示されないようにするには、[これを次から表示しない] オプションを選択します。これらの警告メッセージは、次の手順に従って再度オンにすることで、いつでも有効にすることができます。

  • Tableau Desktop で、[ヘルプ] メニュー > [設定とパフォーマンス] > [無視したメッセージをリセット] の順にクリックします。
  • ブラウザーでキャッシュされたデータを消去します。たとえば Chromeでは、3 つの点が縦に並んでいるアイコンをクリックし、[閲覧履歴データを削除]> [キャッシュされた画像とファイル] > [データを削除] の順にクリックします。

データ モデルにおけるテーブル レベルの関連性

複数の基底テーブルを持つデータ モデルでは、各基底テーブルは関連しているテーブルのセットを正義し、概念ツリーを形成します。全体のデータ ソースが単一のエンティティになるように、これらのツリーを少なくとも 1 つの共有テーブルによって接続する必要があります。

これにより、以前はリンク フィールドを使用してブレンドすることができた 2 つのデータ ソースが、これらの共通フィールドを含む共有テーブルによって接続される、2 つのツリーを持つ単一のデータ ソースになります。

2 つのデータ モデル。1 つは 2 つの異なるデータ ソースで構成され、そのうち 1 つのデータ ソースは、共通のテーブルに重ね合わせて 1 つのデータ ソースを形成する。

ヒント: データ モデル内でテーブルがどのように関連付けられるかは、分析でフィールドがどのように関連付けられるかに影響します。分析中にデータ ソース タブを参照して、テーブルが全体的なデータ モデルにどのように適合するかを確認すると便利です。

このサンプル データ ソースを使用して、どのテーブルが関連しているか、または関連していないか、あるいは共有されているかを確認してみましょう。2 つのツリーがあり、1 つは基底テーブル A によって確立され、もう 1 つは基底テーブル B によって確立されています。

関連のないテーブル

各基底テーブルは基本的に関連していません。同様に、単一のツリーにのみ存在するテーブルは、他のツリー内のテーブルとは関連していません。

テーブル A とテーブル X は関連していません

テーブル B とテーブル X は関連していません

基底テーブル A と X に独自のアウトラインがあるデータ モデル。関係は薄いグレーで表示されます。基底テーブル A とそのダウンストリーム テーブル B がアウトラインを共有するデータ モデル。基底テーブル X には独自のアウトラインがあります。関係は薄いグレーで表示されます。

関連テーブル

同じツリー内のテーブルは関連していると見なされます。

テーブル A とテーブル S は関連しています

テーブル B とテーブル S は (テーブル A を介して) 関連しています

基底テーブル A とダウンストリーム テーブルの関係を強調したデータ モデルテーブル B と別のテーブルの関係が、同じ基底テーブル A との関係によって強調されるデータ モデル

共有テーブル

各共有テーブルには複数の入力関係があります。これらのテーブルは複数のツリーに属しており、そのツリー間で共有されます。

テーブル S とテーブル T は共有されます。

テーブル S と T の両方に複数の入力関係があるデータ モデル。どちらも、基底テーブル A のツリーと基底テーブル X のツリーに属します。

分析におけるフィールド レベルの関連性

フィールド間の関連性は、データ モデルの構造や、どのフィールドがアクティブに使用されているか (つまり、どのフィールドがシェルフ上のピルとして Viz に表示されているか)、およびそれらのフィールドがディメンションであるかメジャーであるかに基づいて、シートごとに決定されます。フィールドの関連性が Viz の結果にどのように影響するかについては、次のセクションで説明します。

同じサンプル データ ソースを使用していくつかのシナリオを見てみましょう。各フィールドの名前は、テーブル B の FieldB のように、どのテーブルからのフィールドであるかを示します。特に明記されていない限り、フィールドはディメンションまたはメジャーになります。

関連フィールド

大まかに言えば、Tableau が単一のツリー内の関係パスに基づいてフィールドをまとめて評価する方法を明確に決定できる場合、それらのフィールドは互いに関連しています。

たとえば、FieldB (テーブル B から) と FieldS (テーブル S から) は関連しています。

フィールド B とフィールド S は関連している

関連のないフィールド

大まかに言えば、関連がなければ、フィールドは互いに関連していません。これは、2 つの基底テーブルのフィールドを使用しているなど、フィールドが関連のないテーブルからのものであることが原因である可能性があります。この場合、異なる基底テーブルのフィールドは基本的に関連していません。

たとえば、FieldA と FieldX は関連していません。

FieldA と FieldX は関連していない

または、あいまいに関連している場合や、まだ関連付けられていない場合など、ある時点においてフィールドが関連がないものとして扱われることもあります。ほとんどの場合、関連性指標を使用すると、Viz のコンテキストでフィールドが関連していない場合に警告が表示されます。

ディメンションのつなぎ合わせ

つなぎ合わせは、Tableau が分析中にマルチファクト データ モデル内の関連のないテーブルのフィールドを評価できるようにするためのものです。Viz で共有テーブルのディメンションを使用すると、関連のないフィールドがつなぎ合わされ、同じ Viz で同時に評価できるようになります。これは、共有するディメンジョンに基づいて 2 つのツリーの結果が並置されるということです。

たとえば、FieldA と FieldX を使用して Viz が構築されている場合、これら 2 つのフィールドには関連がありません。DimensionS を追加すると、つなぎ合わせるフィールドが導入されます。

  • FieldA と DimensionS は一緒に評価されます。
  • FieldX と DimensionS は一緒に評価されます。
  • これらの中間結果は、DimensionS の値に基づいてまとめられます。
  • FieldA と FieldX がつなぎ合わされました。

関連のない基底テーブル A と X が共有テーブル S によってつなぎ合わされている

ヒント: ベスト プラクティスは、関連のないフィールドを表示する前に、Viz でつなぎ合わせるフィールドを使用することです。たとえば、FieldA、FieldX、DimensionS の順にドラッグするのではなく、DimensionS を最初にドラッグするか、FieldA、DimensionS、FieldX の順にドラッグします。最初につなぎ合わせるフィールドを追加すると、Tableau は常に関係の評価方法を認識するようになるため、関連のないディメンションがクロス結合によってまとめて評価されることで起こりうるパフォーマンスの問題を回避することができます。

つなぎ合わせを行うには、共有テーブルのディメンションが Viz でアクティブになっている必要があります。フィルター シェルフまたはマーク カードのツールヒント プロパティに配置されたフィールドは、つなぎ合わせを行う際にはアクティブとは見なされません。

まだ関連付けられていないフィールド

フィールドに複数の関係が存在する可能性があるものの、まだ関連付けられていないという場合もあります。これは、2 つの共有テーブル (またはダウンストリームの共有テーブル) 間に複数の関係が存在する場合に発生します。

FieldS と FieldT について考えてみましょう。両者のテーブルは、基底テーブル A によって定義されたツリーと、基底テーブル X によって定義されたツリーの両方を通じて相互に関連付けられています。

FieldS と FieldT だけが示されている Viz では、それらを関連付けるためにどのツリーを使用すべきかについての情報がありません。追加情報がなければ、Tableau はこれらのフィールドを基底テーブル A のツリーを介して関連付けるか、あるいは基底テーブル B のツリーを介して関連付けるかを評価することができません。

複数の潜在的な関係が存在しているものの、FieldS と FieldT は関連のないフィールドとして扱われます。

関連性の低い曖昧なフィールド S と T

関係が存在する可能性があるものの、まだ関連付けられていないフィールドは、Tableau が関係パスを明確に判断できないため、関連のないフィールドとして評価されます。つなぎ合わせが可能なまったく関連のないフィールドとは異なり、まだ関連付けられていないフィールドは解決可能であり、フィールドを直接関連付けることができます。

あいまいに関連しているフィールド

フィールドはあいまいに関連していることもあります。これは、共有テーブル (またはダウンストリームの共有テーブル) 間にアクティブな関係が複数存在する場合に発生します。まだ関連付けられていないフィールドは、関連性が低い、または関連性が不足していると考えられるのに対し、あいまいに関連するフィールドは、関連性が高い、または関連性が過剰であると考えられます。

FieldS と FieldT について考えてみましょう。両者のテーブルは、基底テーブル A によって定義されたツリーと、基底テーブル X によって定義されたツリーの両方を通じて相互に関連付けられています。

FieldA、FieldX、FieldS、FieldT が示されている Viz では、情報が多すぎるため、フィールドを関連付けるためにどのツリーを使用すべきかを判断することができません。情報をトリミングしなければ、Tableau はこれらのフィールドを基底テーブル A のツリーと基底テーブル B のツリーのどちらを介して関連付けるべきかを評価することができません。

複数のアクティブな関係が存在していても、FieldS と FieldT は関連のないフィールドとして扱われます。

これらのあいまいに関連するフィールドは、Tableau が関係パスを明確に判断できないため、関連のないフィールドとして評価されます。つなぎ合わせが可能なまったく関連のないフィールドとは異なり、あいまいに関連するフィールドは解決可能であり、フィールドを直接関連付けることができます。

共有テーブルからのメジャー

共有テーブルからディメンションが使用されると、関連のないアップストリーム テーブルからフィールドがつなぎ合わされます。ただし、メジャーをつなぎ合わせることはできないため、メジャーの値は関連するディメンションによって決まります。

DimensionA と DimensionX を含む Viz では、これら 2 つのディメンションには関連がありません。MeasureS がテーブル S から使用される場合、DimensionA と DimensionX の組み合わせとは関連がありません。どちらか一方に独立して関連付けることはできますが、同じ Viz 内で両方に同時に関連付けることはできません。

関連のない基底テーブル A と X が共有テーブル S によってつなぎ合わされている

共有メジャーは、あいまいに関連するもの、または過剰に関連するものとしてみなされ、同じように解決されます。

フィールド間の不明確な関係を解決する

フィールドを関連付ける方法が不明瞭である場合は、Tableau は恣意的な決定を下さずに、それらを関連のないフィールドとして扱います。多くの場合、どのツリーを使用するかに関して不明瞭な点を明確にしてから、これらのフィールドを関連付ける方が適切です。

まだ関連付けられていないフィールドを解決するには、使用するツリーを確立するためのフィールドを追加します。あいまいに関連しているフィールドを解決するには、どのツリーを使用するかを確定できるようにフィールドを削除します。

例:

まだ関連付けられていないフィールドを解決する: フィールドを追加

  • FieldS と FieldT の Viz で、テーブル A、B、または C のフィールドを Viz に追加すると、基底テーブル A のツリーがアクティブになり、FieldS と FieldT 間の目的のパスが解決されます。
  • あるいは、テーブル X のフィールドを使用すると、基底テーブル X のツリーに対する FieldS と FieldT 間の目的のパスが解決されます。

曖昧な関係を解決する: フィールドを削除

  • FieldA、FieldX、FieldS、および FieldT の Viz で、FieldX を削除すると、基底テーブル A のツリーのみがアクティブになり、FieldS と FieldT 間の目的のパスが解決されます。
  • あるいは、FieldA を削除すると、Base Table X のツリーを介して FieldS と FieldT 間の目的のパスが解決されます。

共有メジャーを解決する: フィールドを削除

  • DimensionA、DimensionX、MeasureS が示されている Viz で、DimensionX を削除すると、基底テーブル A のツリーのみがアクティブになり、DimensionA と MeasureS 間の目的のパスが解決されます。
  • あるいは、DimensionA を削除すると、基底テーブル X のツリーを介して DimensionX と MeasureS 間の目的のパスが解決されます。
まだ関連付けられていないあいまいな関連性関連性が一本のツリーに解決される
基底テーブル A を介して関連付け基底テーブル X を介して関連付け
関連性が低いA を介して関連付けX を介して関連付け

不明瞭さを解決することは、FIXED 詳細レベル (LOD) の式を使用することと似ています。FIXED LOD 式では、ディメンション宣言を定義して、どの詳細レベルに集計するかを Tableau に指示します。不明瞭さは、Viz の構造を変更して 1 つのツリーのみをアクティブにすることで解決され、分析を実行するために考慮できる関係パスが Tableau に伝えられます。

つなぎ合わせ vs 不明瞭さの解決

つなぎ合わせと不明瞭さの解決はどちらも無関連性に対処する方法ですが、結果はそれぞれ異なります。

つなぎ合わせ

不明瞭さの解決

A と X を S でつなぎ合わせる

関連のない FieldA と FieldX が DimensionS によってつなぎ合わされる

S と T を A で解決する

FieldS と FieldT は基底テーブル A で定義されたツリーを介して評価される

共通の属性に基づいて関連のないフィールドを並置する複数のオプションがある場合 (あいまいさや共有メジャーがある場合) は使用する関係パスを絞り込み、関係パスが存在しない (まだ関連付けられていない) 場合は関係パスを確立します。

複数の基底テーブル ロジックを使用して結果を計算する

単一の基底テーブル ロジックを使用して結果を計算する

分析に関連のないテーブルが含まれる分析に共有テーブルが含まれる

関連性の各レベルにおける結合の使用方法

フィールド レベルの関連性が決定されたら、Tableau は結果を評価して実際のビジュアライゼーションを作成する必要があります。Viz に表示される値を計算するために使用されるクエリは結合に依存します。フィールドが関連しているか、関連していないか、またはつなぎ合わされているかによって、どの結合を実行するかへの影響が異なります。このコンテキストでは、あいまいに関連するフィールドとまだ関連付けられていないフィールドは、関連のないフィールドとして扱われることに注意してください。

関連性と結合を説明するために、このセクションではテーブルとそのフィールド、およびそれらのフィールドの値について説明します。2 つの基底テーブル (「クラス」と「クラブ」) と共有テーブル (「生徒」) を含む次のデータ モデルを検討してください。

2 つの基底テーブル「クラス」と「クラブ」、および共有テーブル「生徒」を持つデータ モデル

クラス

クラブ

生徒

「クラス」テーブルのデータを表示し、3 つのフィールドの値を表示する「クラブ」テーブルのデータを表示し、3 つのフィールドの値を表示する「生徒」テーブルのデータを表示し、3 つのフィールドの値を表示する

フィールド:

  • クラス: 「巣作りの基本」、「高度な歌」、「ひな鳥の飛行」、「警戒音101」の値を持つディメンション
  • 長さ - メジャー
  • 生徒: 「生徒」テーブルに関連付けるために使用されるディメンション

フィールド:

  • クラブ: 「写真」、「旅行」、「ジャグリング」、「美術」、「応急処置」の値を持つディメンション
  • 会費: メジャー
  • 生徒: 「生徒」テーブルに関連付けるために使用されるディメンション

フィールド:

  • バス利用者: 「はい」または「いいえ」の値を持つディメンション
  • 生徒: 「スズメ」、「コウカンチョウ」、「ヒメドリ」、「コマドリ」、「カラス」 の値を持つディメンション。他の 2 つのテーブルと関連付けるために使用される
  • 年齢: メジャー

この非常に単純なモデルは、マルチファクト関係データ モデルに対して大まかなの結合ロジックがどのように計算されるかを示しています。関係に基づいて構築された単一の基底テーブル データ モデルで使用される結合の基本については、「関係を使用する複数テーブルのデータ ソースでの分析動作」を参照してください。

この例は、複数の基底テーブルを持つデータ モデルである必要がありますか?

この 3 つのテーブルのデータ モデルの場合、「クラス」-「生徒」-「クラブ」、または「クラブ」-「生徒」-「クラス」として、または「生徒」を基底テーブルとして、単一の基底テーブル モデルを設定したいと思うかもしれません。原則として、マルチファクト関係データ モデルは、特定の種類のデータ スキーマまたは分析シナリオを対象としています。データ モデルにマルチファクト関係データ モデルに最適な特性がある場合は、そのように設定して、基底テーブルを概念的に関連のない状態に保ちます。ただし、データにこのタイプの構造が必要ない場合は、単一の基底テーブル モデルを使用する方が簡単です。

「クラス」-「クラブ」-「生徒」のサンプル モデルの代替データ モデル構造

これらの 3 つのテーブルに対して構築できるモデル: (1) 「クラス」と「クラブ」を基底テーブルとして、「生徒」を共有テーブルとして使用するモデル、(2) 「クラス」または「クラブ」のいずれかから線形に開始するモデル、(3) 「生徒」を単一の基底テーブルとして、「クラス」と「クラブ」をダウンストリーム テーブルとして使用するモデル。

この特定の例では、これらのテーブル、データ、またはモデルには、実際に複数の基底テーブルを必要とするものは何もありません。このモデルは、結合ロジックに重点を置くことができるようシンプルにまとめた例として使用しています。あるいは、議論が複雑になりすぎないようにするために単に除外していた、別の関連テーブル「教室」があると考えることもできます。

「クラス」-「クラブ」-「生徒」モデルのバージョンで、共有テーブル「教室」を追加する

ただし、ベスト プラクティスとして、データに必要な場合にのみマルチファクト関係モデルを使用してください。

関連ディメンションで内部結合を使用する

関連するディメンションは内部結合されます。内部結合では、両方のテーブル間で共有されていないディメンション値がすべてドロップされます。

  • Tableau は、メジャー バリューが失われないようにするために追加のロジックを使用します。このセクションでは、ディメンションのみを使用して、Tableau が関連するディメンションに内部結合を適用する方法の基本を説明します。

次の例は、関連するディメンションがデータ内に存在する行のみを返す方法を示しています。「警戒音101」クラスには生徒がいないため、結果には表示されません。「コウカンチョウ」と「カラス」はどのクラスにも所属していないため、結果には表示されません。

「クラス」と「生徒」の内部結合を示す Viz。 「スズメ」(「高度な歌」、「巣作りの基本」) の行が 2 つ、「コマドリ」(「ひな鳥の飛行」、「巣作りの基本」) の行が 2 つ、「ヒメドリ」(「高度な歌」、「巣作りの基本」) の行が 2 つ表示されている。

関連のないディメンションでクロス結合を使用する

関連のないディメンション (つなぎ合わせるディメンションなしで単独で存在するディメンション) は、クロス結合されます。

クロス結合では、結果の組み合わせがデータ内に実際に存在しない場合でも、1 つのディメンションのすべての値が他のディメンションのすべての値と結合されます。この例では、クロス結合により、Class と Club の可能な組み合わせごとに行が追加されます。

「クラス」と「クラブ」のクロス結合を示す Viz。行には「高度な歌」「警戒音 101」「ひな鳥の飛行」「巣作りの基礎」と「美術」「応急処置」「ジャグリング」「写真」のすべての組み合わせが表示されています。行シェルフの両方のディメンション ピルに、関連のないアイコンが表示される

分析中にクロス結合が発生しているかどうかを認識することが重要です。クロス結合の結果テーブルには「高度な歌 + 応急処置」の行がありますが、実際にこのアクティビティの組み合わせに参加している生徒はいません (次のセクションのつなぎ合わせの例でこの事実を確認します)。

すべてのクロス結合結果がデータに基づいているわけではないことを認識するのが重要なのはなぜでしょうか? クラスやクラブ活動のスケジュールを、生徒のスケジュールとぶつからないように作成しようとしていると想像してください。「高度な歌」と「応急処置」には生徒がいないので、この結果を無視して、そのクラスとクラブを同時にスケジュールすることができます。クロス結合は、データ内に実際に存在する値の組み合わせを表すものではありません。

さらに、カーディナリティが高い場合 (一意の値の数が多い場合) のクロス結合はパフォーマンスに影響を与える可能性があります。連絡先にあるすべての電話番号とすべてのメール アドレスをクロス結合することを想像してみてください。組み合わせが爆発的に増え、操作にかかるコストも上昇します。

つなぎ合わされたディメンションで外部結合を使用する

つなぎ合わせるディメンションが存在する場合、関連のないディメンションは外部結合されます。

この例では、「クラス」テーブルと「クラブ」テーブルの両方が共有「生徒」テーブルに関連付けられていますが、相互に関連付けられていないため、「クラス」フィールドと「クラブ」フィールドには関連がありません。「生徒」ディメンションを追加すると、Tableau は分析で「クラス」のどの値と「クラブ」のどの値を並置する必要があるかを認識することができます。この外部結合の動作を「つなぎ合わせ」と呼びます。

「生徒」と「クラス」の内部結合と「生徒」と「クラブ」の内部結合の外部結合の結果を示す Viz。行シェルフの「クラス」と「クラブ」のピルに、関連のないアイコンがあります。「生徒」のピルはマーク カードの [色] プロパティにあり、関連のないアイコンはありません。「クラス」と「クラブ」のすべての組み合わせが表されているわけではなく、「クラス」のない「生徒」や「クラブ」の行もあります。

つなぎ合わせは、全体的な結果を得るための中間的な結果があるという点で、データ ブレンドに似ています。ただし、ブレンドとは異なり、つなぎ合わせは左結合ではなく外部結合であり、どちらの側からも値がドロップされることはありません。すべてが 1 つのデータ ソースである場合、プライマリ データ ソースまたはセカンダリ データ ソースの概念はないため、関連のない両方のフィールドに同等の優先順位が付けられます。

中間結果が外部結合される

つなぎ合わされたフィールドの外部結合には何が含まれますか? 関連のないフィールドとつなぎ合わせるフィールドのそれぞれに対して即時内部結合が順番に計算され、それらの中間結果はつなぎ合わせるディメンションの値に基づいて外部結合されます。

「生徒」と「クラス」の内部結合...

「生徒」の 3 つの値と「クラス」の 3 つの値の結果テーブル

...「生徒」と「クラブ」の内部結合...

「生徒」の 4 つの値と「クラブ」の 5 つの値の結果テーブル

...「生徒」で外部結合されます。

「生徒」の 4 つの値、「クラス」の 3 つの値、「クラブ」の 5 つの値の結果テーブル

メジャーを保持するための追加の結合

ディメンションの結合ロジックに加えて、メジャーでは追加の結合を導入できます。Tableau で関係が初めて導入されたとき、中核となる原則の 1 つは、メジャー バリューが失われないことでした。これは、マルチファクト関係データ モデルでも維持されます。

重要な詳細は次のとおりです。

  • メジャー バリューは関連するディメンションによってのみ分類されます。
  • 関連のないディメンションのメジャー バリューは繰り返されます。
  • ディメンションのみの Viz では削除されるディメンション値は、関連するメジャー バリューが関連付けられている場合は返されることがあります。

: メジャーは集計であり、Viz 内のディメンションの組み合わせによって設定された詳細レベル (粒度) で計算されることに注意してください。これは、メジャーがディメンションごとに分類されることを意味します。メジャーがディメンションなしで使用される場合、それはテーブル スコープであると言われます。つまり、メジャーの値は完全に集計された値になります。Viz でディメンションを使用するとすぐに、メジャーはディメンション値に基づいてより細かく分類されます。したがって、分析におけるメジャーの値は、ディメンションのコンテキストによって異なります。

関連するメジャー

関連するディメンション「生徒」「クラス」の内部結合に対して返されるディメンション値のサブセットを検討します。「生徒」の値には「スズメ」、「ヒメドリ」、「コマドリ」の 3 つがあり、「クラス」の値には「高度な歌」、「巣作りの基本」、「ひな鳥の飛行」の 3 つがあります。

「生徒」と「クラス」の内部結合の結果テーブル

「クラス」テーブルから「長さ」メジャーを追加すると、4 つのクラスすべてが表示され、「生徒」には NULL 値があることがわかります。各クラスの「長さ」 は、「クラス」のレベルで表示されます。

ディメンションが内部結合されているにもかかわらず、「生徒」に NULL 値が表示される

代わりに、「生徒」テーブルから「年齢」メジャーを追加すると、5 人の生徒全員が表示され、「クラス」に 2 つの NULl 値があることがわかります。結果には、クラスにいない生徒も含め、すべての生徒が保存されます。各生徒の「年齢」が、「生徒」レベルで表示されます。

ディメンションが内部結合されているにもかかわらず、「クラス」に NULL 値が表示される

関連のないメジャー

関連のないディメンション値に対してメジャー バリューが繰り返されます。

「クラス」テーブルの「長さ」メジャーおよび関連のない「クラブ」ディメンションを見ると、メジャーがテーブル スコープになっており、「クラブ」のすべてのディメンション値全体で繰り返されています。

関連のないディメンション値全体で繰り返されるテーブル スコープのメジャー

つなぎ合わせるディメンションが存在する場合、メジャーを分類したり繰り返したりすることができます。

この「年齢」というメジャーは「生徒」テーブルからのもので、生徒のレベルまで分類されます。「クラス」「クラブ」のディメンションに基づいて生徒が繰り返されるたびに、「年齢」の値が繰り返されます。

トラブルシューティング

マルチファクト関係データ モデルを扱う際の考慮事項

テーブルごとの抽出フィルター

マルチファクト関係データ モデル抽出のすべての抽出フィルターはテーブルごとに行われます (全体的ではありません)。このため、ライブ接続と抽出接続ではフィルタリング結果が異なる場合があります。

行レベルの計算

行レベルの計算では、同じアップストリームの基底テーブルを共有するフィールドのみを参照できます。つまり、行レベルの計算をツリー全体で実行することはできません。

組み合わせフィールド

組み合わせフィールド内のすべてのフィールドは、アップストリーム テーブルを共有する必要があります。つまり、異なるツリーにあるフィールドを使用して組み合わせフィールドを作成することはできません。

セット

セットは、同じアップストリームの基底テーブルを共有するフィールドを含む定義を使用する場合にのみ作成できます。ただし、Viz では、セットの定義に使用されるフィールドとは関連のないフィールドによってマークが定義されている場合、そのマークから [セットに追加] オプションを使用できる場合があります。[セットに追加] を選択すると、Tableau は関連するフィールドのみをセット定義に追加します。これは、単一の基底テーブル データ ソースでの [セットに追加] の動作とは異なります。この [セットに追加] では、マークを定義するすべてのものが追加されます。

INCLUDE 詳細レベルの式の検証

関連のないフィールド間では、INCLUDE LOD 式を評価することはできません。フィールド間の関連性はシートごとに評価されるため、データ ペインまたは計算エディターでは有効な LOD 式であっても、特定の Viz のコンテキストでは無効になる可能性があります (関連のないディメンションが存在する場合)。これが起こると、LOD ピルが赤くなります。LOD 式を更新して、関連のないフィールドの競合を削除するか、Viz の構造を変更するか、あるいは Viz から LOD 式を削除することができます。

パブリッシュされたデータ ソースの更新

ベスト プラクティスとして、接続されているすべてのワークブックで新しいデータ モデルが必要であるわけではない場合に、既存のパブリッシュされたデータ ソースをマルチファクト関係データ モデルに変更する予定があるときは、既存のパスリッシュされたデータ ソースのコピーを作成します。すべてのワークブックに新しいテーブルが必要となる場合以外は、データ ソースの既存のバージョンを更新しないでください。変更したデータ ソースを新しいデータ ソースとしてパブリッシュし、そこから新しいワークブックを作成します。これにより、既存のワークブックが必要としていないときに、データ サーバーの代わりに VDS を使用するように変換されることがなくなり、パフォーマンスが低下する可能性を防ぐことができます。

解決された問題

解決された問題修正日

抽出

ローカル データ ソース (ワークブック内): マルチファクト関係データ ソースを抽出しようとすると、「そのようなテーブルはありません」というエラーが表示されます。

パブリッシュされたデータ ソース: パブリッシュされたマルチファクト関係 データ ソースの抽出は成功したように見えますが、フィールド値が入れ替わっている可能性があります。

  • Tableau Cloud: 7 月中旬のアップデートで解決済みこれは、public.tableau.com にも適用されます。
  • Tableau Desktop: 2024 年 7 月 24 日リリースのメンテナンス リリース 2024.2.1 で解決済み
  • Tableau Server: 2024 年 7 月 24 日リリースのメンテナンス リリース 2024.2.1 で解決済み

これらの問題が Tableau Desktop または Tableau Server で引き続き発生する場合は、2024 年 7 月 24 日以降のバージョンにアップグレードしてください。

EXCLUDE 詳細レベル表現

関連のないフィールドが存在する場合は、INCLUDE LOD のみを検証する必要があります。ただし、EXCLUDE LOD も同じ条件下で誤って「無効」とマークされる可能性もあります。

ネストされたユーザー計算

ネストされたユーザー計算は、マルチファクト関係データ モデルを持つパブリッシュされたデータ ソースでは使用できません。

2024.2 での既知の問題

複数のマーク カードによる関連性指標

行シェルフまたは列シェルフに複数のメジャーを含む Viz が構築されている場合、各メジャーには独自のマーク カードが割り当てられます。どのマーク カードが開いているかによって、関連性指標 (関連のないアイコン、ツールヒントのテキスト、関連性に関する警告ダイアログ ボックス) を決定するために使用されるロジックから期待どおりの結果が得られない場合があります。ただし、Viz 自体は、各フィールドのペアの関連性に基づいて正しく計算されます。この動作については修正が予定されています。

BatchQueryProcessor

マルチファクト関係データ モデルをサポートするには、BatchQueryProcessor を有効にする必要があります。これは予想される動作であり、現在修正は予定されていません。

Tableau Pulse

Pulse は、マルチファクト関係データ モデルでは動作しない可能性があります。メトリクス定義を作成できなかったり、作成されたメトリクスが空白になったりする場合があります。これは予期される動作ではありませんが、現時点では修正の予定はありません。

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