データのユニオン

1 つの表から別の表へ値 (行) を付加することで、2 つ以上の表を組み合わせたデータのユニオンを作成することができます。Tableau データ ソースでデータのユニオンを作成するには、同じ接続の表を使用する必要があります。

サポートされるコネクタ

データ ソースでユニオンがサポートされている場合、データに接続するとデータ ソース ページの左ペインに [ユニオンの新規作成] オプションが表示されます。サポートされるコネクタは、Tableau DesktopTableau Server、および Tableau Cloud 間で異なる場合があります。

最善の結果を得るには、ユニオンを使用して組み合わせる表の構造が同じである必要があります。つまり、各表のフィールド数が同じであり、関連するフィールドのフィールド名とデータ型が一致している必要があります。

たとえば、次の顧客購入情報が 3 つの表に保存されており、月で区切られているものとします。表の名前は "May2016"、 "June2016"、および "July2016" です。

May2016

CustomerPurchasesタイプ
4Lane5クレジット
10Chris6クレジット
28Juan1クレジット

June2016

CustomerPurchasesタイプ
1Lisa3クレジット
28Isaac4現金
28Sam2クレジット

July2016

CustomerPurchasesタイプ
2Mario2クレジット
15Wei1現金
21Jim7現金

これらの表のユニオンにより、すべての表のすべての行を含む次のような 1 つの表が作成されます。

ユニオン

CustomerPurchasesタイプ
4Lane5クレジット
10Chris6クレジット
28Juan1クレジット
1Lisa3クレジット
28Isaac4現金
28Sam2クレジット
2Mario2クレジット
15Wei1現金
21Jim7現金

手動で表のユニオンを作成する

このメソッドを使用して、個別の表のユニオンを手動で作成します。この方法では、[データ ソース] ページの左ペインから個々の表を選択し、それを [ユニオン] ダイアログ ボックスにドラッグできます。

手動で表のユニオンを作成するには

  1. データ ソース ページで、[新しいユニオン] をダブルクリックして、ユニオンをセットアップします。

  2. 左ペインから [ユニオン] ダイアログ ボックスに表をドラッグします。

  3. 左ペインから別の表を選択し、最初の表の下に直接ドラッグします。

    ヒント:複数の表を 1 つのユニオンに同時に追加するには、左ペインで、Shift または Ctrl (Mac では Shift または Command) を押しながら、ユニオンの対象とする表を選択し、それらを最初の表の下に直接ドラッグします。

  4. [適用] または [OK] ボタンをクリックしてユニオンを行います。

ワイルドカード検索を使用してユニオン表を作成する (Tableau Desktop)

このメソッドを使用し、ユニオンに表を自動的に含めるための検索条件を設定します。ワイルドカード文字 (アスタリスク "*") を使用すると、Excel ワークブック/ワークシートの名前、Google スプレッド シート ワークブック/ワークシート名、テキスト ファイル名、JSON ファイル名、.pdf ファイル名、およびデータベースの表名内の文字のシーケンスやパターンを照合できます。

Excel、テキスト ファイル データ、JSON ファイル、および .pdf ファイル データを扱う場合は、このメソッドを使用してフォルダー全体でファイルのユニオンを作成したり、ワークブック全体でワークシートのユニオンを作成したりできます。検索範囲は選択した接続となります。接続、および接続で利用可能な表は、[データ ソース] ページの左ペインに表示されます。

ワイルドカード検索を使用して表のユニオンを作成するには

  1. データ ソース ページで、[新しいユニオン] をダブルクリックして、ユニオンをセットアップします。

  2. [ユニオン] ダイアログ ボックスで [ワイルドカード (自動)] をクリックします。

  3. ユニオンに含める表を検索するために、Tableau が使用する検索条件を入力します。

    たとえば、[次を含める] ボックスに「*2016」と入力し、名前の最後に "2016" を付けます。このような検索により、選択した接続から、May2016、June2016、July2016 表 (Excel ワークシート) のユニオンが作成されます。この場合、接続は "Sales (売上高)" と呼ばれ、必要なワークシートを含む Excel ワークブックに対する接続は "Sales (売上高)" ディレクトリの quarter_3 フォルダーにありました (例:Z:\sales\quarter_3)。

  4. [適用] または [OK] ボタンをクリックしてユニオンを行います。

より多くの Excel、テキスト、JSON および .pdf データを検索する拡張検索

ユニオンで最初に利用可能な表は、選択した接続を範囲としています。現在のフォルダー以外 (Excel、テキスト、JSON および .pdf ファイルの場合) または異なるワークブック (Excel ワークシートの場合) にある表のユニオンを行う場合は、[ユニオン] ダイアログ ボックスの 1 つまたは両方のチェック ボックスをオンにして、検索範囲を拡大します。

たとえば、ユニオンを行うとします。 すべて 現在のフォルダー内で、名前の最後に "2016" が付くすべての Excel ファイルを探します。上記の例では、初期接続は同じディレクトリ (Z:\sales\quarter_3) 内にある Excel ワークブックに対して行われます。

  • 次を含める:[次を含める] ボックスに「*2016」と入力し、ダイアログの残りの検索条件を現状のまま残すと、Tableau は現在のフォルダー内にあるすべての Excel ワークシートから、名前の最後に "2016" が付くものを探します。

    以下の図では、黄色にハイライトされたアイテムは現在の場所、つまり "quarter_3" で接続先を作成した Excel ワークブックを表します。緑のボックスは、この検索条件の結果としてユニオンされたワークブックとワークシートに所属する表を示します。

     

  • 次を含める + 検索対象をサブフォルダーに広げる:[次を含める] ボックスに「*2016」と入力し、[検索対象をサブフォルダーに広げる] チェック ボックスをオンにすると、Tableau は次の操作を実行します。

    • 現在のフォルダー内で、名前の最後に "2016" が付くすべての Excel ファイルを探します。

    • その他の Excel ワークシートで名前の最後に "2016" が付き、"quarter_3" フォルダーのサブフォルダーの Excel ワークブックにあるものを探します。

    以下の図では、黄色にハイライトされたアイテムは現在の場所、つまり "quarter_3" フォルダー内で接続先を作成した Excel ワークブックを表しています。緑のボックスは、この検索条件の結果としてユニオンされたワークブックとワークシートに所属する表を示します。

     

  • 次を含める + 検索対象を親フォルダーに広げる:[次を含める] ボックスに「*2016」と入力し、[検索対象を親フォルダーに広げる] チェック ボックスをオンにすると、Tableau は次の操作を実行します。

    • 名前の最後に "2016" が付くすべての Excel ファイルを現在のフォルダー ("quarter_3" 内) で探します。

    • その他の Excel ワークシートで名前の最後に "2016" が付き、"quarter_3" フォルダー内の並列フォルダー内にあるものを探します。この例では、"quarter_4" は並列フォルダーです。

    以下の図では、黄色にハイライトされたアイテムは現在の場所、つまり "quarter_3" フォルダー内で接続先を作成した Excel ワークブックを表しています。緑のボックスは、この検索条件の結果としてユニオンされたワークブックとワークシートに所属する表を示します。

 

  • 次を含める + 検索対象を親フォルダーに広げる + 検索対象を親フォルダーに広げる:[次を含める] ボックスに「*2016」と入力し、[検索対象をサブフォルダーに広げる] および [検索対象を親フォルダーに広げる] チェック ボックスをオンにすると、Tableau は次の操作を実行します。
    • 現在のフォルダー内で、名前の最後に "2016" が付くすべての Excel ファイルを現在のフォルダー ("quarter_3" 内) で探します。

    • その他の Excel ワークブックで、現在のフォルダー "quarter_3" のサブフォルダー内にあるものを探します。

    • その他の Excel ワークブックで、並列フォルダーおよび現在のフォルダー "quarter_3" フォルダーの並列フォルダーおよびサブフォルダー内にあるものを探します。この例では、"quarter_4" は並列フォルダーです。

    以下の図では、黄色にハイライトされたアイテムは現在の場所、つまり接続先を作成した Excel ワークブックを表しています。緑のボックスは、この検索条件の結果としてユニオンされたワークブックとワークシートに所属する表を示します。

注: Excel データを扱う場合、ワイルドカード検索は名前付き範囲を含め、Data Interpreter によって見つかった表を除外します。

ユニオンの名前の変更、修正、削除を行う

[データ ソース] ページのキャンバスで直接、基本的なユニオン タスクを実行します。

ユニオンの名前を変更するには
  1. ユニオンされた物理テーブルを含む論理テーブルをダブルクリックします。

  2. 物理レイヤー キャンバスのユニオン テーブルをダブルクリックします。

  3. このユニオンの新しい名前を入力します。

ユニオンで表を追加または削除するには
  1. ユニオンされた物理テーブルを含む論理テーブルをダブルクリックします。

  2. ユニオンのドロップダウン矢印をクリックし、[ユニオンの編集] をクリックします。

  3. 左ペインからユニオンの対象とする別の表をドラッグするか、削除アイコンが表示されるまで表をポイントし、アイコンをクリックして表を削除します。

  4. [適用] または [OK] をクリックして、タスクを完了します。

ユニオンを削除するには
  • ユニオンされた物理テーブルを含む論理テーブルをダブルクリックし、ユニオンのドロップダウン矢印をクリックして [削除] を選択します。

フィールド名またはフィールドの順序を一致させる

ユニオンに含まれるテーブルは、フィールド名を一致させて組み合わせます。Excel、Google スプレッド シート、テキスト ファイル、JSON ファイル、または .pdf ファイル データの操作で一致するフィールド名がない場合 (または表に列ヘッダーが含まれない場合) は、ユニオンを作成してユニオン ドロップダウン メニューから [フィールド名を自動に生成] オプションを選択し、参照元データのフィールドの順序に基づいてテーブルを組み合わせるよう、Tableau に指示することができます。

ユニオンに関するメタデータ

ユニオンの作成後、ユニオンに関する追加フィールドが生成され、グリッドに追加されます。この新しいフィールドでは、ユニオンに含まれる元の値がどこから来ているかについての情報を、シート名および表名を含めて提供します。これらのフィールドは、分析で重要な一意の情報がシート名または表名に埋め込まれている場合に役立ちます。

上の例の表には、データ自体ではなく表名に保存されている一意の年月の情報が含まれています。このような場合、ユニオンにより生成される [表名] フィールドを使用し、この情報にアクセスして分析に使用することができます。

名前付き範囲がユニオンで使用されている場合、[シート] フィールドの下に NULL 値が表示されます。

注:結合キーとして、ユニオンにより生成されたフィールドである [シート] および [表名] を使用できます。結合内のユニオン表は、別の表またはユニオン表とともに使用できます。

ユニオンの一致しないフィールドをマージする

ユニオンのフィールド名が一致しない場合、ユニオンのフィールドには NULL 値が含まれます。マージ オプションを使用して一致しないフィールドを 1 つのフィールドにマージし、NULL 値を削除できます。マージ オプションを使用すると、元のフィールドが新しいフィールドに置き換えられ、一致しないフィールドの各行の先頭に NULL でない値が表示されます。

独自の計算を作成したり、参照元のデータを変更し、一致しないフィールドを組み合わせることもできます。

たとえば、4 番目の表である "August2016" が参照元データに追加されたものとします。標準的な "Customer" フィールド名でなく、省略バージョンである "Cust." が含まれています。

August2016
Cust.Purchasesタイプ
7Maria2クレジット
9Kathy1クレジット
18Vijay7現金

これらの表のユニオンにより、表のすべての行を含み、複数の NULL 値がある 1 つの表が作成されます。マージ オプションを使用し、関連する顧客フィールドを 1 つのフィールドにまとめることができます。

ユニオン (NULL 値を含む)

CustomerPurchasesタイプCust.
4Lane5クレジットNULL
10Chris6クレジットNULL
28Juan1クレジットNULL
1Lisa3クレジットNULL
28Isaac4現金NULL
28Sam2クレジットNULL
2Mario2クレジットNULL
15Wei1現金NULL
21Jim7現金NULL
7NULL2クレジットMaria
9NULL1クレジットKathy
18NULL7現金Vijay

 

 

 

 

 

 

 

ユニオン (マージされた列を含む)

Purchasesタイプ顧客、Cust。
45クレジットLane
106クレジットChris
281クレジットJuan
13クレジットLisa
284現金Isaac
282クレジットSam
22クレジットMario
151現金Wei
217現金Jim
72クレジットMaria
91クレジットKathy
187現金Vijay

フィールドをマージした後は、マージから生成したフィールドをピボットまたは分割で使用するか、結合キーとしてフィールドを使用できます。マージから生成されたフィールドのデータ型を変更することもできます。

一致しないフィールドをマージするには

  1. 2 つ以上の列をグリッドで選択します。

  2. 列ドロップダウン矢印をクリックし、[一致しないフィールドをマージ] を選択します。

マージを削除するには
  • マージされたフィールドの列ドロップダウン矢印をクリックし、[マージの削除] を選択します。

概要:ユニオンの操作

Tableau Desktop と Web 作成 (Tableau Cloud と Tableau Server)

  • ユニオン表は結合で使用できます。

  • ユニオン表は、結合で別のユニオン表と共に使用できます。

  • ユニオンにより生成されたフィールドである [シート] および [表名] は、結合キーとして使用できます。

  • 名前付き範囲がユニオンで使用されている場合、[シート] フィールドの下に NULL 値が表示されます。

  • マージから生成されたフィールドはピボットで使用できます。

  • マージから生成されたフィールドは結合キーとして使用できます。

  • マージから生成されたフィールドのデータ型を変更できます。

  • 表のユニオンは同じ接続内で作成します。つまり、異なるデータベースの表のユニオンを作成することはできません。

Tableau Desktop のみ

  • Excel データを扱う場合、ワイルドカード検索は名前付き範囲を含め、Data Interpreter によって見つかった表を除外します。

  • マージから生成されたフィールドはピボットまたは分割で使用できます。

  • JSON ファイルのユニオンを作成するには、拡張子が .json、.txt、または .log のファイルが必要です。JSON データの操作の詳細については、JSON ファイルを参照してください。

  • ワイルドカード検索を使用して .pdf ファイル形式で表のユニオンを作成する場合、ユニオンの結果は最初に接続した .pdf ファイルでスキャンされたページ範囲に限定されます。.pdf ファイル形式でのデータの操作の詳細については、PDF ファイルを参照してください。

  • ストアド プロシージャでユニオンを実行することはできません。

  • データベース データを扱う場合は、ユニオンをカスタム SQL に変換できます。

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