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

マルチファクト関係を使用すると、複数の基底テーブルを持つデータ ソースを構築できます。データ モデルで複数の基底テーブルを使用すると、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 に追加し続けます。メッセージを再度表示したくない場合は、[Don't show this again (次回から表示しない)] オプションを選択します。これらの警告メッセージは、いつでもオンに戻して再度表示することができます。[ヘルプ] メニューを開き、[設定とパフォーマンス] > [Reset Ignored Messages (無視したメッセージをリセット)] の順にクリックします。

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

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

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

複数の基底テーブルを持つデータ モデルでは、各基底テーブルは関連しているテーブルのセットを正義し、概念ツリーを形成します。全体のデータ ソースが単一のエンティティになるように、これらのツリーを少なくとも 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 つの共有テーブル (または共有テーブルのダウンストリームのテーブル) 間に複数の関係が存在する可能性があり、Viz のコンテキストではまだ関連がないと考えられる場合に発生します。

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

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

FieldS と FieldT はあいまいに関連しているため、複数の潜在的な関係が存在します。

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

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

あいまいさの解決

あいまいさを解決するには、使用するツリーを確立するためのフィールドを追加します。

例:

  • FieldS と FieldT の Viz で、テーブル A、B、または C のフィールドを Viz に追加すると、基底テーブル A のツリーがアクティブになり、FieldS と FieldT 間のあいまいさが解決されます。
  • あるいは、テーブル X のフィールドを使用すると、基底テーブル X のツリーに対する FieldS と FieldT 間のあいまいさが解決されます。
あいまいな関連性あいまいさが一本のツリーに解決される
基底テーブル 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 を使用するように変換されることがなくなり、パフォーマンスが低下する可能性を防ぐことができます。

2024.2 での既知の問題

抽出

警告: マルチファクト関係を持つデータ ソースは、抽出ではなくライブ接続である必要があります。

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

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

この動作については修正が予定されています。

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

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

EXCLUDE 詳細レベル表現

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

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

ネストされたユーザー計算は、マルチファクト関係データ モデルを持つパブリッシュされたデータ ソースでは使用できません。この動作については修正が予定されています。

BatchQueryProcessor

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

Tableau Pulse

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

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