データの集計、結合またはユニオン

データの集計、結合、またはユニオン作成を行って、分析用にデータをグループ化したり結合したりできます。

: バージョン 2020.4.1 以降では、Tableau Server および Tableau Cloud でフローの作成と編集を行えるようになりました。このトピックの内容は、特に記載がない限り、すべてのプラットフォームに適用されます。Web 上でのフローの作成の詳細については、Tableau Server(新しいウィンドウでリンクが開く) および Tableau Cloud(新しいウィンドウでリンクが開く) ヘルプの「Web 上の Tableau Prep」を参照してください。

値の集計とグループ化

フローにより生成されるデータ量を削減するため、またはデータを一緒に結合したりユニオンを作成する可能性がある他のデータとそろえたりするため、データの一部で粒度を調整することが必要な場合があります。たとえば、売上テーブルを顧客テーブルと結合する前に、顧客別の売上データを集計する必要があるかもしれません。

データの粒度を調整する必要がある場合は、[集計] オプションを使用して、データをグループ化して集計するステップを作成します。データが集計されるかグループ化されるかは、データ型 (文字列、数字、または日付) によって異なります。

  1. [フロー] ペインでプラス アイコンをクリックし、[集計] を選択します。[フロー] ペインに新しい集計ステップが表示され、[プロファイル] ペインが更新されて集計とグループのプロファイルが表示されます。

  2. フィールドを左側のペインから [グループ化したフィールド] ペイン (行を作成するフィールド) または [集計フィールド] ペイン (グループ化したフィールドのレベルで集約および表示されるデータ) にドラッグします。

    また、以下も実行できます。

    • 2 つのペイン間でフィールドをドラッグ アンド ドロップする。

    • リストでフィールドを検索し、集計に含める必要があるフィールドのみを選択する。

    • フィールドをダブルクリックし、左側または右側のペインに追加する。

    • フィールドの機能を、適切なペインに自動的に追加されるように変更する。

    • [すべて追加] または [すべて削除] をクリックし、フィールドの一括適用または削除を行う。

    • フィールドに特定のクリーニング操作を適用する。使用可能なクリーニング操作の詳細については、クリーニング操作について(新しいウィンドウでリンクが開く)を参照してください。

    次の例では、地域別、売上年別に、利益と数量、および平均割引率の集計された合計が表示されています。

    フィールドは、データ型に応じて [グループ化したフィールド] 列と [集計フィールド] 列に配分されます。グループまたは集計のタイプを変更するには、グループまたは集計のタイプ (AVG、SUM など) の見出しをクリックします。

    集計とグループのプロファイルの下のデータ グリッドには、グループまたは集計のメンバーのサンプルが表示されています。

    フィールドに対して行ったすべてのクリーニング操作は、[変更内容] ペインで追跡されます。

データの結合

分析するデータは多くの場合、特定のフィールドで関連付けられたテーブルの集まりで構成されています。結合は、共通のフィールド上の関連データを組み合わせる方法です。結合を使用したデータの組み合わせの結果は、データのフィールドを追加することによって通常は横方向に拡張されたテーブルです。

結合の操作は、フローの任意の場所で行うことができます。フローの早いところで結合すると、データ セットを理解し、注意が必要なエリアをすぐに明らかにするのに役立ちます。

Tableau Prep は以下の結合タイプをサポートしています。

結合タイプ説明
各行には、左のテーブルのすべての値と、右のテーブルでそれに一致する値が含まれます。左のテーブルの値に対応する一致が、右のテーブルにない場合、結合結果に NULL 値が表示されます。
内部 各行には、両方のテーブルで一致する値が含まれます。
各行には、右のテーブルのすべての値と、左のテーブルでそれに一致する値が含まれます。右のテーブルの値に対応する一致が、左のテーブルにない場合、結合結果に NULL 値が表示されます。
左のみ 各行には、右のテーブルの値と一致しない、左のテーブルの値のみが含まれます。右のテーブルのフィールド値は、結合結果に NULL 値として表示されます。
右のみ 各行には、左のテーブルの値と一致しない、右のテーブルの値のみが含まれます。左のテーブルのフィールド値は、結合結果に NULL 値として表示されます。
非内部 各行には、右および左のテーブルで一致しないすべての値が含まれます。
完全 各行には、両方のテーブルのすべての値が含まれます。いずれかのテーブルの 1 つの値と一致する値が他のテーブルない場合、結合結果に NULL 値が表示されます。

結合を作成するには、次のいずれかを実行します。

  1. 次のいずれかの方法を使用し、2 つの表を結合します。

    • 複数のテーブルを [フロー] ペインに追加し、関連付けるテーブルを選択してもう一方のテーブルにドラッグし、[結合] オプションを表示させます。

    • アイコンをクリックしてメニューから [結合] を選択し、次にもう一方の入力を手動で結合に追加し、結合句を追加します。
    • : テーブルのリレーションシップが定義され、関連フィールドを含むテーブルに接続する場合は、[結合] を選択して関連テーブルのリストから選択できます。2 つのテーブル間のリレーションシップを構成するフィールドに基づいて、Tableau Prep により結合が作成されます。

      テーブルのリレーションシップを使用したコネクタの詳細については、「インプット ステップでのデータの結合(新しいウィンドウでリンクが開く)」を参照してください。

    新しい結合ステップがフローに追加され、[プロファイル] ペインが更新されて結合のプロファイルが表示されます。

  2. 結合を確認して構成するには、以下を実行します。

    1. [結合結果のサマリー] を見直し、結合タイプおよび結合条件の結果として含まれているフィールドと除外されているフィールドの数を確認します。

    2. [結合タイプ] でベン図をクリックし、必要な結合のタイプを指定します。

    3. [適用した結合句] でプラス アイコンをクリックするか、既定の結合条件として選択したフィールドで、結合句を指定または編集します。結合条件で選択したフィールドは、テーブルと結合との間で共通しているフィールドです。

    4. [結合句の推奨事項] に表示されている推奨の結合句をクリックし、適用した結合句のリストにその句を追加することもできます。

結合結果の検査

結合プロファイルのサマリーには結合についてのメタデータが表示され、結合に期待するデータが含まれていることを検証するのに役立ちます。

  • 適用した結合句: 既定で Tableau Prep は、結合されているテーブルに含まれる共通するフィールド名に基づいて、最初の結合句を定義します。必要に応じて結合句を追加・削除します。

  • 結合タイプ: 既定で、結合を作成する場合には、Tableau Prep はテーブル間の内部結合を使用します。接続先のデータによっては、左結合、内部結合、右結合、左のみ結合、右のみ結合、非内部結合、完全結合を使用できる場合があります。

  • 結合結果のサマリー: 結合結果のサマリーは、結合のテーブルで含まれている値と除外されている値の配分を表示します。

    • [含める] バーをクリックすると、結合に含まれている結合プロファイルのデータを分離して表示できます。

    • [除外済み] バーをクリックすると、結合から除外されている結合プロファイルのデータを分離して表示できます。

    • [含める] バーと [除外済み] バーの任意の組み合わせをクリックし、データを累積的な観点から表示します。

  • 結合句の推奨事項: [適用した結合句] リストに追加するには、推奨される結合句の隣にあるプラス アイコンをクリックします。

  • [結合句] ペイン: [結合句] ペインでは、結合句の各フィールドの値を表示できます。結合句の条件を満たさない値は赤いテキストで表示されます。

  • [結合結果] ペイン: [結合結果] ペインに、変更する必要がある値が表示される場合、このペインでその値を編集できます。

結合に関する一般的な問題

データの結合後に期待した結果が表示されない場合は、フィールド値に対していくらかの追加クリーニングの実行が必要な場合があります。以下の問題があると、値が一致していないと Tableau Prep がみなし、結合から除外されます。

  • 大文字化が異なる: "My Sales" と "my sales"

  • スペルが異なる: "Hawaii" と "Hawai'i"

  • スペルミスまたはデータ入力エラー: "My Company Health" と "My Company Heath"

  • 名前の変更: "John Smith" と "John Smith Jr."

  • 略語: "My Company Limited" と "My Company Ltd"

  • 余分な区切り: "Honolulu" と "Honolulu (Hawaii)"

  • 余分なスペース: 文字間の余分なスペース、タブ付きのスペース、先頭または末尾の余分なスペースを含む

  • ピリオドの使用の不統一: "Returned, not needed" と "Returned, not needed."

フィールド値にこれらの問題が含まれていた場合、[結合句] で直接フィールド値を修正できます。または、[結合結果のサマリー][除外済み] バーをクリックして除外済みの値を操作し、プロファイル カード メニューでクリーニング操作を使用できます。

結合ステップで利用可能な別のクリーニング オプションの詳細については、「クリーニング操作について(新しいウィンドウでリンクが開く)」を参照してください。

一致しないフィールドの修正など

結合句で直接、一致しないフィールドを修正できます。修正の必要があるフィールドで、値をダブルクリックするか、その値を右クリックしてコンテキスト メニューから [値の編集] を選択します。データの変更内容は追跡され、結合ステップの [変更内容] ペインに直接追加されます。

また、[結合句] ペインで複数の値を選択して保持、除外、またはフィルターしたり、[結合結果] ペインで他のクリーニング操作を適用したりすることもできます。どのフィールドを変更するか、また変更が結合プロセスのどこで行われるかに応じ、結合の前または後に変更が適用され、修正された結果が得られます。

フィールドのクリーニングの詳細については、「クリーニング操作の適用(新しいウィンドウでリンクが開く)」を参照してください。

データのユニオン

ユニオンとは、あるテーブルの行を別のテーブルに追加することによりデータを組み合わせる方法です。たとえば、あるテーブルの新しい取引を、別のテーブルの過去の取引リストに追加する必要があるかもしれません。ユニオンを作成するテーブルではフィールド数とフィールド名が同じであり、フィールドは同じデータ型であることを確認してください。

ヒント: パフォーマンスを最大化するには、単一のユニオンに対する入力数を最大でも 10 にします。10 個以上のファイルや表でユニオンを行う必要がある場合は、インプット ステップでファイルのユニオンを行ってみてください。このタイプのユニオンの詳細については、「インプット ステップでのファイルおよびデータベース テーブルのユニオン作成(新しいウィンドウでリンクが開く)」を参照してください。

結合のように、フローの任意の場所でユニオンの作成操作を使用できます。

ユニオンを作成するには、次を実行します。

  1. 最低 2 つのテーブルを [フロー] ペインに追加してから、関連するテーブルを選択し、他のテーブルに [ユニオン] オプションが表示されるまでドラッグします。 アイコンをクリックし、メニューから [ユニオン] を選択することもできます。新しいユニオン ステップが [フロー] ペインに追加され、[プロファイル] ペインが更新されてユニオンのプロファイルが表示されます。

  2. テーブルをユニオン テーブルに、[追加] オプションが表示されるまでドラッグし、追加テーブルをユニオンに追加します。

  3. ユニオンのプロファイルで、ユニオンについてのメタデータを確認します。ユニオンからテーブルを削除するほか、一致しないフィールドについての詳細を表示することもできます。

ユニオン結果の検査

ユニオンの作成後、ユニオンの結果を検査し、ユニオンに含まれるデータが期待通りのものであることを検証します。ユニオンデータを検証するには、次の領域を確認します。

  • ユニオンのメタデータの確認: ユニオンのプロファイルには、ユニオンに関するメタデータがいくつか表示されます。ここで、ユニオンを構成する各テーブル、その結果生じるフィールド数、一致しないフィールドの存在を確認できます。

  • 各フィールドの上の色の確認: ユニオンのサマリーに一覧表示される各フィールドの隣、およびユニオンのプロファイルにある各フィールドの上には、一連の色が表示されます。色はユニオンの各テーブルと対応しています。

    対象のフィールドについてすべてのテーブルの色が表示される場合は、ユニオンがそのフィールドで正しく実行されています。テーブルの色が欠落している場合は、不一致のフィールドがあることを示しています。

    不一致のフィールドとは、類似のデータを持ちながら、何らかの点で異なるフィールドです。一致しないフィールドの一覧、そのソースであるテーブルを、ユニオンのサマリーで確認できます。フィールドのデータを詳細に確認したい場合は、ユニオンのプロファイルで [不一致のフィールドのみ表示] のチェックボックスを選択し、不一致のフィールドを分離します。

    以下の「一致しないフィールドの修正」セクションの提案のいずれかに従えば、これらのフィールドを修正できます。

一致しないフィールドの修正

ユニオンのテーブルが一致しない場合、ユニオンにより追加のフィールドが生成されます。追加のフィールドは、適切なコンテキストから除外されている有効なデータです。

フィールド不一致の問題を解決するには、不一致のフィールドを一緒にマージする必要があります。

フィールドが一致しないいくつかの理由の可能性があります。

  • 対応しているフィールドの名前が異なる: テーブル間で対応しているフィールドの名前が異なる場合、ユニオンの提案を使用するか、[不一致のフィールド] リストでフィールドを手動でマージするか、ユニオンのプロファイルでフィールド名を変更して不一致のフィールドを一緒にマージすることができます。

    ユニオンの提案を使用する場合は次の作業を行います。

    1. [不一致のフィールド] リストで不一致のフィールドをクリックします。一致の提案がある場合、一致するフィールドが黄色くハイライト表示されます。

      一致の提案は、類似のデータ型とフィールド名を持つフィールドに基づいて行われます。

    2. ハイライト表示されたフィールドにカーソルを合わせてプラス ボタンをクリックすると、各フィールドがマージされます。

    [不一致のフィールド] リストで手動でフィールドをマージする場合は、次の作業を行います。

    1. リストから 1 つまたは複数のフィールドを選択します。

    2. 選択したフィールドを右クリック (MacOS では Ctrl を押しながらクリック) すると、マージが有効である場合 [フィールドのマージ] メニュー オプションが表示されます。

      フィールドを右クリックした際に [利用できるオプションがありません] が表示された場合は、マージできるフィールドではありません。例えば、同じ入力が元となる 2 つのフィールドをマージしようとするとこれが表示されます。

    3. [フィールドのマージ] をクリックすると、選択したフィールドがマージされます。

    ユニオンのプロファイルペインでフィールド名を変更する場合は、フィールド名を右クリックしてさらに [フィールド名の変更] をクリックします。


  • 対応しているフィールドの名前は同じだが型が異なる: デフォルトでは、対応しているフィールドの名前が一致してもフィールドのデータ型が一致しない場合、Tableau Prep はいずれかのフィールドのデータ型を変更し、互換性があるようにします。Tableau Prep がこの変更を行う場合、マージされたフィールドの上部に [データ型の変更] アイコンで示されます。

    データ型アイコンの変更

    Tableau Prep により正しいデータ型が選択されない場合もあります。そのような場合にマージを元に戻すには、[データ型の変更] アイコンを右クリック (MacOS では Ctrl を押しながらクリック) し、[異なるタイプの入力を区切る] を選択します。


    その後、いずれかのフィールドのデータ型を最初に変更し、次にフィールドをマージする際のその他のオプションの提案を使用してフィールドを再度マージすることができます。

  • 対応しているテーブルのフィールド数が異なる: テーブルのユニオンを作成するには、ユニオンの各テーブルに同じ数のフィールドが含まれている必要があります。ユニオンの作成により追加のフィールドが生成される場合には、そのフィールドを既存フィールドにマージします。

フィールドをマージする際のその他のオプション

前述のセクションで説明したフィールドをマージする方法だけでなく、次のいずれかの方法でフィールドをマージすることもできます。フィールドのマージは任意のステップで行うことができますが、出力ステップは例外です。

同じファイルのフィールドをマージする方法については、「フィールドのマージ」を参照してください。

フィールドをマージするには、次のいずれかを実行します。

  • 1 つのフィールドを別のフィールドにドラッグ アンド ドロップします。[マージ フィールドにドロップする] インジケーターが表示されます。

  • 複数のフィールドを選択し、選択項目内で右クリックしてコンテキスト メニューを開いてから、[フィールドのマージ] をクリックします。

  • 複数のフィールドを選択し、コンテキスト依存のツールバーで [フィールドのマージ] をクリックします。

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