結合のトラブルシューティング
注: 結合でデータがミスカウントされている場合は、代わりに関係を使用する必要があることを示している可能性があります。関係の詳細については、データの関連付けを参照してください。Tableau でさまざまな詳細レベルのデータ (多対多の関係など) の組み合わせがどのように処理されるかについては、「カーディナリティと参照整合性」を参照してください。
オーバーカウント値または重複データ
複数のテーブルに接続して結合する場合は、データ ソースの非正規化バージョンを設定します。場合によっては、Tableau は複数のテーブルを 1 つのテーブルとして扱います。複数のテーブルを 1 つのテーブルとして扱う場合、テーブルが結合された後にすべてのテーブルがクエリされます。これにより、値がオーバーカウントされる可能性があります。
たとえば、2 つのテーブルがあるとします。最初のテーブルには、従業員 ID や給与などの従業員情報が含まれます。2 つめのテーブルには部門名などの組織情報が含まれます。
テーブル 1
| 表 2
|
従業員 ID でこれらのテーブルを結合すると、従業員が複数の部門と関連付けられているため、従業員の給与が 2 回以上カウントされます。
従業員 ID | 名前 | 給与 | 部門 | 雇用開始日 | 組織 |
20107 | Wilson, Henry | 61,000 | サポート | 7/28/2015 | 操作 |
20107 | Wilson, Henry | 61,000 | 売上 | 8/25/2016 | 操作 |
これは、一対多のカーディナリティの例です (テーブル 1 の 1 つの従業員 ID は、テーブル 2 の複数の結果に対応しています)。テーブル間のカーディナリティの詳細については、パフォーマンス オプションを使用してリレーションシップクエリを最適化するを参照してください。
この問題を解決するには、次のいずれかを実行できます。
データの関連付け: データが重複する可能性がある結合を作成する代わりに、関係を使用できます。詳細については、データの関連付けを参照してください。
集計の変更: 分析に応じて、MIN または AVG 集計を使用して二重計算を削除します。
たとえば、"Salary (給与)" の集計を "SUM (合計)" から "MIN (最小値)"、"SUM (合計)" から "AVG (平均値)" に変更する場合。
重複値を削除する計算フィールドを作成する:重複しているフィールドの合計を、重複を引き起こしているフィールドのインスタンスの数で除算する計算フィールドを作成できます。
たとえば、"Salary (給与)" の値は、Wilson、Henry の "Employee ID (従業員 ID)" のインスタンス数によって重複しています。この場合、ビューでは、Salary が次の式を使用する計算フィールドに置き換えられます。
SUM ([Salary])/ COUNT ([Employee ID])
.また、詳細レベルの式を使用して重複データを削除することもできます。詳細については、Tableau ナレッジ ベースの「LOD 計算を使用して重複データを削除する」(新しいウィンドウでリンクが開く)を参照してください。
カスタム SQL の使用: Tableau では、カスタム SQL を使用した、データ ソース内の複数のテーブルへの接続をサポートしています。GROUP BY 句で結合する前に、テーブルを事前に集計できます。このオプションでは、SQL クエリの記述に関するある程度の知識と、可能であれば、データベース専門家からのサポートが必要になります。Tableau からカスタム SQL クエリへの接続方法の詳細については、カスタム SQL クエリへの接続を参照してください。
壊れたテーブルの結合とクロスデータベース結合
同じデータ ソース内でまたはクロスデータベース結合を使用してテーブルを結合する前に、結合キーのデータ型が一致していることを確認します。結合キーのデータ型が一致していない場合、結合は壊れ、赤い感嘆符とエラー メッセージ「結合フィールドで型が一致していません」で示されます。壊れた結合を修正するには、次のいずれかの提案を実行します。
結合計算を作成することで結合キーを一致させるよう、結合ダイアログでフィールドの書式設定 (データ型を含む) を変更できます。結合計算は、組み合わせる 1 つ以上のテーブルで結合キーの書式設定を変更できる、計算のサブセットをサポートしています。結合計算を作成するには、壊れた結合を持つテーブルの間にある [結合] アイコンをクリックし、書式設定の変更が必要なフィールドをクリックしてから、[結合計算の作成] を選択します。詳細については、結合のトラブルシューティングを参照してください。
テキストまたは Excel ベースのデータの場合は、データ グリッド内のデータ型メニューを使用して、結合キー内のテキスト フィールドまたは Excel フィールドのいずれかのデータ型を変更します。
Tableau Desktop のみ:ほとんどの接続では、[カスタム SQL に変換] オプションで、CAST () などの関数を使用し、結合キーのいずれかのフィールドのデータ型を変更できます。[カスタム SQL に変換] オプションは、データ ソースに接続が 1 つだけ含まれている場合にのみ使用可能です。この場合は、2 番目の接続を削除してから、[データ] > [カスタム SQL に変換] を選択します。