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

重要: この機能により、データが一時的に 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 作成の使用を許可] オプションが有効になります。

機能の条件のオーバーライド

管理者は、ファイル サイズ、結合タイプ、および単一のファイル接続の制限をオーバーライドして、Tableau が稼働中のデータベースを使用して結合を実行するように強制できます。これにより、最適なパフォーマンス構成を試してからその判断をすることができます。単一のデータベース接続の要件は引き続き適用されます。

このオプションを有効にするには、コマンド ラインから次の情報を入力します。

  • Tableau Desktop: コマンド tableau.exe -DForceAlternativeFederationEngine=true を入力します。
  • Tableau Server: tsm configuration コマンド tsm configuration set -k native_api.force_alternative_federation_engine -v true を入力します。

    Tableau Server で構成値を設定する詳細については、Tableau Server ヘルプのtsm configuration set のオプション(新しいウィンドウでリンクが開く)を参照してください。

クロスデータベース結合でのパフォーマンス オプションの有効化

  1. 最初のデータ ソースに接続します。
    • Tableau Desktop で: スタート ページの [接続] で、サポートされているファイル タイプまたはデータベース タイプに接続します。この手順では、Tableau データ ソースの最初の接続を作成します。
    • Web 作成で: [ホーム] または [検索] ページで [作成] > [ワークブック] をクリックし、新しいワークブックを開始してデータに接続します。この手順では、Tableau データ ソースの最初の接続を作成します。
  2. 接続先のファイルまたはデータベースを選択した後、テーブルをダブルクリックするか、キャンバスにドラッグします。

  3. 左のペインで、[接続] の下で [追加] ボタン (Web 作成では ) をクリックして、2 番目の接続を Tableau データ ソースに追加します。

    [クロスデータベース結合] オプションが表示されます。

    : このオプションが表示されない場合は、サポートされているデータ ソースだけを使用していること、および 2 つのデータ ソース (ファイル 1 つとデータベース タイプ 1 つ) のみを使用していることを確認してください。それでも表示できない場合、サイト管理者が [クロスデータベース間結合] 構成オプションを [Tableau のみ] に設定した可能性があります。

  4. Tableau による結合の実行方法を変更するには、[データベース間結合] オプションの隣にある [編集] をクリックします。
  5. [クロスデータベース結合] ダイアログで、次のいずれかのオプションを選択し、[OK] をクリックします。
    • Tableau または既存のデータベースを使用。このオプションにすると、Tableau が結合を最も高速に実行するオプション (Hyper または接続されているデータベースのどちらか) を選択できます。
    • Tableau のみを使用。このオプションは既定で、結合の実行に常に Hyper を使用します。

    [データベース間結合] オプションを使用すると、選択した内容に応じ、既定オプションである [Tableau の使用] (Hyper を使用) から、新しいオプションである [データベースの使用] に切り替えられます。

    重要: [Tableau または既存のデータベースを使用] を選択すると、結合の実行時に最も速いオプションが選択されます。この動作は、結合タイプを含む一連の基準によって事前に決定されます。たとえば、Tableau は非内部結合に対して Hyper を常に選択します。

    Tableau が結合の実行に Hyper を使用する場合、このプロセスはバックグラウンドで実行され、結合が行われた場所を特定する指標は表示されません。

  6. データ ソースのフィールド、結合演算子、追加したテーブルのフィールドを選択して、1 つまたは複数の結合句を追加します。結合句を検査し、予想どおりにテーブルを接続しているかどうかを確認します。

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

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

接続内のユニオン データ

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

異なるデータベースのデータでユニオンを作成する必要がある場合は、Tableau Prep(新しいウィンドウでリンクが開く) を使用します。

照合順序

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

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

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

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

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

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

このオプションを選択すると、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 は結合のデータベースに独立クエリを送信します。結果は、抽出ファイルの形式で一時テーブルに保存されます。

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

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

SQL Server テーブル

Excel テーブル

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

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

結合テーブル

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