---
schema_version: "1"
id: 00569f4b5552ebc7a8fce63e2fc6ba3f0c392714c005b79c7d36e4ab1b52b4e0
title: クロスデータベース結合のパフォーマンス向上
collection: tableau
version: next
locale: ja-jp
portal_url: https://docs.salesforce.com/tableau/next/ja-jp/pro/desktop/joins_xbd_perf.md
canonical_url: https://help.tableau.com/v0.0/pro/desktop/ja-jp/joins_xbd_perf.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 9dc5776598fac17220714e6d8d50420c6266e61d43f497c505817fc5acd038de
description: Improve performance for cross-database joins between databases and files.
---
[メイン コンテンツに進む](#main-content)

# クロスデータベース結合のパフォーマンス向上

> [!IMPORTANT]
> 
> **重要**: この機能により、データが一時的に Tableau の外部に移動します。接続先のデータベースが信頼できるソースからのものであることを確認してください。

単一のデータベースと単一のファイル間でデータを結合する場合、Tableau では、Hyper ではなくデータベースを使用して結合を実行することでパフォーマンスを向上させることができます。この既定の設定により、Tableau で最速のアプローチ (Hyper または接続されたデータベース) を選択できるようになります。Tableau が接続されているデータベースを使用する場合、ファイル接続のデータはデータベース内の一時テーブルに移動され、そこで結合が実行されます。

### 機能の条件

接続されたデータベースを結合に使用するオプションは、次の条件が満たされている場合にのみ使用できます。

- データ ソースは、1 つ以上のファイル ベースの接続と 1 つの SQL ベースの接続で構成されています。
- 結合するファイルは、Microsoft Excel、PDF、またはテキスト (.csv、.txt、.tsv、.tab) のいずれかのファイル タイプである必要があります。
- 接続されているデータベースは、次のいずれかです。
    - Microsoft SQL Server
    - Oracle
    - PostgreSQL
    - Vertica
    - Teradata
- **Web 作成**で: \[ユーザーに Web 作成の使用を許可\] オプションが有効になります。

## クロスデータベース結合での優先オプションの変更

1. 最初のデータ ソースに接続します。
    - **Tableau Desktop** で: スタート ページの \[接続\] で、サポートされているファイル タイプまたはデータベース タイプに接続します。この手順では、Tableau データ ソースの最初の接続を作成します。
    - **Web 作成**で: \[ホーム\] または \[探索\] ページで \[作成\] > \[ワークブック\] をクリックし、新しいワークブックを開始してデータに接続します。この手順では、Tableau データ ソースの最初の接続を作成します。
2. 接続先のファイルまたはデータベースを選択した後、テーブルをダブルクリックするか、キャンバスにドラッグします。
    
    ![結合にテーブルを追加します。](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/joins_addtable.gif)
3. 左ペインの \[接続\] で \[追加\] ボタン (Web 作成では ![データ ソースの追加アイコン。](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/add_web_datasource.png)) をクリックして、2 番目の接続を Tableau データ ソースに追加します。
    
    ![\[接続の追加\] メニュー。](Img/cross_database_join4.png)
    
    \[クロスデータベース結合\] オプションが表示されます。
    
    ![\[クロスデータベース結合\] 設定にアクセスするための編集ボタン。](Img/cross_database_join.png)
    
    **注**: このオプションが表示されない場合は、サポートされているデータ ソース タイプだけを使用していること、および少なくとも 2 つのデータ ソース (1 つのデータベースと、サポートされているタイプの 1 つまたは複数のファイル) を使用していることを確認してください。
4. Tableau による結合の実行方法を変更するには、\[データベース間結合\] オプションの隣にある \[編集\] をクリックします。
5. \[クロスデータベース結合\] ダイアログで、次のいずれかのオプションを選択し、\[OK\] をクリックします。
    
    - Always perform joins in the database (常にデータベース内で結合を実行する): このオプションにより、Tableau では、ライブ データベースを使用して結合を実行するように強制されます。
    - Let Tableau decide where to join (Tableau で結合を実行する場所を決定できるようにする): このオプションは既定であり、Tableau で結合を最も高速に実行するオプション (Hyper または接続されているデータベースのどちらか) を選択できるようにします。
        
        ![Tableau または既存のデータベースを使用するか、Tableau のみを使用するかを選択できる \[クロスデータベース結合\] 設定。](Img/cross_database_join2.png)
    
    選択を反映するために、\[Multiple Connections (複数の接続)\] パネルの \[クロスデータベース結合\] オプションが更新されます。
    
    ![\[クロスデータベース結合\] 設定にアクセスするための編集ボタン。](Img/cross_database_join3.png)
    
    > [!IMPORTANT]
    > 
    > **重要**: \[Let Tableau decide where to join (Tableau で結合を実行する場所を決定できるようにする)\] を選択すると、結合の実行時に最も速いオプションが選択されます。この動作は、結合タイプを含む一連の基準によって事前に決定されます。たとえば、Tableau は非内部結合に対して Hyper を常に選択します。
    
    Tableau が結合の実行に Hyper を使用する場合、このプロセスはバックグラウンドで実行され、結合が行われた場所を特定する指標は表示されません。
6. データ ソースのフィールド、結合演算子、追加したテーブルのフィールドを選択して、1 つまたは複数の結合句を追加します。結合句を検査し、予想どおりにテーブルを接続しているかどうかを確認します。

## マルチ接続データ ソースについて

マルチ接続データ ソースの操作は、本セクションで説明した、いくつかのキャンバスを使用した他のデータ ソースの場合と同様です。

### 接続内のユニオン データ

データのユニオンを作成するには、同じ接続のテキスト テーブルまたは Excel テーブルを使用する必要があります。つまり、異なるデータベースのテーブルをユニオンすることはできません。Tableau Desktop では、さまざまなディレクトリにあるさまざまな Excel ワークブックおよびファイルをまたがってテーブルをユニオンできます。詳細については、[ワイルドカード検索を使用してユニオン表を作成する (Tableau Desktop)](https://help.tableau.com/v0.0/pro/desktop/ja-jp/union.htm#union_wildcard)を参照してください。

異なるデータベースのデータでユニオンを作成する必要がある場合は、[Tableau Prep](https://www.tableau.com/ja-jp/support/releases/prep) を使用します。

### 照合順序

照合順序は、文字列の値を比較および並べ替える方法を決定するデータベースのルールです。通常、照合順序はデータベースによって処理されます。ただし、クロスデータベース結合を操作する場合は、照合順序が異なる列を結合する場合があります。

たとえば、クロスデータベース結合が、SQL Server の大文字と小文字を区別する列と、Oracle の大文字と小文字を区別しない列で構成される結合キーを使用しているとします。このような場合、Tableau は間違って解釈される値を最小限に抑えるため、特定の照合順序を他に対してマッピングします。

次の規則はクロスデータベース結合で使用されます。

- 列がユニコード国際コンポーネント (ICU) の照合順序標準を使用している場合、Tableau は他の列にもその照合順序を使用します。
- すべての列が ICU の照合順序標準を使用している場合、Tableau は左のテーブルの列にもその照合順序を使用します。
- いずれの列も ICU の照合順序標準を使用していない場合、Tableau はバイナリ照合順序を使用します。バイナリ照合順序はデータベースのロケールを意味し、列のデータ型によって、文字列の値の比較および並べ替え方法が決まります。

#### Excel データの大文字と小文字の区別を維持する

結合の実行時に Excel データの大文字と小文字の区別を維持する必要がある場合は、\[データ\] メニューから \[大文字と小文字の維持 (Excel)\] オプションを有効にします。

![Tableau ワークブックが開き、\[データ\] メニューが展開されます。\[データ\] メニューから、\[大文字/小文字の区別 (Excel)\] オプションが強調表示されます。](Img/Excel_character_case.png)

このオプションを選択すると、Tableau では、大文字と小文字が異なる値を結合するのではなく、大文字と小文字の区別が維持されて、大文字と小文字が異なる値が一意的に識別されるため、結果の行数に差が出ます。

たとえば、「House」を含むワークシートと、「house」と「HOUSE」を含む別のワークシートを考えてみましょう。既定では、Tableau は大文字と小文字の区別を無視し、「house」の 3 つのバリエーションをすべて同じものとみなします。\[大文字と小文字の維持 (Excel)\] オプションを有効にすると、Tableau では、テーブルの結合時に大文字と小文字の区別が維持され、「House」、「house」、「HOUSE」は別の値として扱われます。

**注:** このオプションは Tableau がサポートするすべての言語で使用でき、オペレーティング システムのロケールに依存しません。このオプションは、Microsoft Excel データ ソースでのみ使用できます。

### 計算およびマルチ接続データ ソース

マルチ接続データ ソースでは、計算のサブセットのみを使用できます。

- **Tableau Desktop では**、次の両方に当てはまる場合、特定の計算を使用できます。

- マルチ接続データ ソース内のすべての接続でサポートされる
- Tableau 抽出でサポートされます。

- **Web 作成 (Tableau Cloud および Tableau Server) では**、特定の計算が複数接続データ ソース内のすべての接続でサポートされる場合、その計算を使用できます。

### ストアド プロシージャ

ストアド プロシージャは複数接続データ ソースでは使用できません。

### 接続内のデータのピボット

データのピボットを作成するには、同じ接続のテキスト列または Excel 列を使用する必要があります。つまり、異なるデータベースの列をピボットに含めることはできません。

### 抽出ファイルを最初の接続にする(Tableau Desktop のみ)

複数接続のデータ ソースで抽出ファイルに接続する場合は、抽出 (.hyper) ファイルへの接続が最初の接続であることを確認します。これにより、抽出の一部となる可能性のあるカスタマイズを保持します (既定のプロパティ、計算フィールド、グループ、別名などに対する変更を含む)。

**注:** 複数接続のデータ ソースで複数の抽出ファイルに接続する必要がある場合、最初の接続内の抽出のカスタマイズのみが保持されます。

### ファイル ベースのデータへの接続を含むマルチ接続データ ソースの抽出(Tableau Desktop のみ)

Excel などのファイルベースのデータが含まれる複数接続データ ソースの抽出をパブリッシュする場合は、\[外部ファイルを含める\] オプションを選択すると、ファイルベースのデータがデータ ソースの一部としてコピーされます。この場合、ファイル ベースのデータのコピーをダウンロードでき、そのコンテンツは他のユーザーによってアクセスされます。抽出から意図的に除外したファイルベースのデータに機密情報が含まれている場合は、データ ソースをパブリッシュする際に **\[外部ファイルを含める\]** を選択_しない_でください。

![外部ファイルを含めるオプションが強調表示された、\[Tableau Server にデータ ソースをパブリッシュする\] ダイアログ。](Img/join_multiconnection_include_external_files.png)

データ ソースのパブリッシュの詳細については、[データ ソースのパブリッシュ](https://help.tableau.com/v0.0/pro/desktop/ja-jp/publish_datasources.htm)を参照してください。

## クエリとクロスデータベース結合について

各接続について、Tableau は結合のデータベースに独立クエリを送信します。結果は、抽出ファイルの形式で一時テーブルに保存されます。

> [!IMPORTANT]
> 
> **重要**: クロスデータベース結合では、データベース間でデータが移動する場合があります。結合するデータベースが信頼できるソースであることを確認してください。

たとえば、「dbo.listings」と「reviews$」という 2 つのテーブルへの接続を作成するとします。これらのテーブルは、2 つの異なるデータベース (SQL Server および Excel) に保存されます。Tableau は各接続で独立してデータベースのクエリを行います。データベースはクエリを実行してフィルターや計算などのカスタマイズを適用し、Tableau は各接続の結果を一時テーブルに保存します。この例では、FQ\_Temp\_1 は SQL Server への接続用の一時テーブル、FQ\_Temp\_2 は Excel への接続用の一時テーブルです。

<table>
                    <tbody>
                        <tr>
                            <td>
                                <p style="text-align: left;"><b>SQL Server テーブル</b>
                                </p>
                                <p style="text-align: left;">
                                    <img src="https://help.tableau.com/v0.0/pro/desktop/ja-jp/Img/join_query_temp1.png" alt="dbo データベースから listings テーブルを照会する SELECT ステートメント。">
                                </p>
                            </td>
                            <td>
                                <p><b>Excel テーブル</b>
                                </p>
                                <img src="https://help.tableau.com/v0.0/pro/desktop/ja-jp/Img/join_query_temp2.png" alt="レビュー テーブルでの SELECT 操作の実行を示すデータ フロー ダイアグラム。">
                            </td>
                        </tr>
                    </tbody>
                </table>

クロスデータベース結合を実行すると、Tableau Desktop によって一時テーブルが結合されます。これらの一時テーブルは、Tableau がクロス データベース結合を実行するため必要です。

テーブルを結合した後、Top N フィルターが適用され、データ グリッドに表示する値の数を最初の 1,000 行に制限します。このフィルターはデータ グリッドの応答性と、\[データ ソース\] ページの全体的なパフォーマンスを維持するために適用されます。

**結合テーブル**

![結合、TopN、SELECT 操作の順序を示すデータ フロー ダイアグラム。](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/join_query_join.png)