データの抽出
データ抽出は、元のデータセットとは別に保存される情報のサブセットです。これには 2 つの目的があります。1 つはパフォーマンスの向上、もう 1 つは元のデータでは利用できないかサポートされていない可能性がある Tableau 機能を利用することです。データ抽出を作成すると、フィルターを適用したり、その他の制限を設定したりして、全体のデータ量を効果的に削減できます。
データ抽出が作成されると、元のソースからの最新データでデータ抽出を更新できます。更新プロセス中に、抽出のすべての既存のコンテンツを置換する完全更新と、前回の更新以降の新しい行のみを含める増分更新のどちらかを柔軟に選択することができます。
抽出のメリット
- 大規模なデータセットの処理: 抽出では、数十億行に達する大量のデータを処理できます。これにより、ユーザーは広範なデータセットを効率的に操作できるようになります。
- パフォーマンスの向上: 抽出データ ソースを利用するビューの操作では、元のデータに直接接続されているビューよりもパフォーマンスが向上します。抽出によりクエリのパフォーマンスが最適化され、データ分析とビジュアライゼーションが高速化されます。
- 機能の強化: 抽出では、元のデータ ソースでは利用できない、またはサポートされていない可能性がある、特定の関数などのような追加の Tableau 機能へのアクセスが提供されます。
- オフライン データ アクセス (Tableau Desktop): 抽出により、データへのオフライン アクセスが可能になります。これは、元のデータ ソースが利用できない場合でも、ユーザーはローカルでデータを保存、操作、利用できることを意味します。
抽出の作成
抽出の作成方法は複数ありますが、主要な方法は次のとおりです。
- [データ ソース] ページで、データに接続してデータ ソースをセットアップした後、右上隅にある [抽出] を選択してから、[編集] リンクを選択して [データの抽出] ダイアログ ボックスを開きます。
- 各セクションを展開してオプションを表示するか、[すべて展開] を選択します。各セクションの詳細については、このトピックの後半で説明します。
- データ ストレージ: [論理テーブル] または [物理テーブル] を選択します。
- フィルター: フィールドとその値に基づいてフィルターを設定し、抽出するデータ量を制限します。
- 集計: [表示可能なディメンションのデータの集計] を選択し、既定の集計を使用してメジャーを集計します。年や月などの指定した日付レベルに対して [日付のロールアップ] を選択することもできます。
- 行数: 抽出する行数を選択します。すべての行、サンプル、または上位 N 行を抽出できます。
- 増分更新: 特定の列と日付範囲に基づいて増分更新を設定します。最後の行を置き換えるか追加するかを選択することもできます。
- 完了したら、[設定の保存] を選択します。
- シート タブを選択します。これにより、抽出の作成が開始されます。
- 次に、抽出を保存する場所を選択します。
- 抽出ファイル名を入力します。
- [保存] を選択します。[保存] ダイアログ ボックスが表示されない場合は、「抽出のトラブルシューティング」セクションを参照してください。
抽出設定の説明
抽出の作成では、多数の設定を構成できます。
[データ ストレージ] では、論理テーブルまたは物理テーブルを選択できます。論理テーブルの場合、データ ソース内の各論理テーブルに対して 1 つの抽出テーブルを使用してデータを格納します。一方、物理テーブルの場合、データ ソース内の各物理テーブルに対して 1 つの抽出テーブルを使用してデータを格納します。
[論理テーブル] オプションと [物理テーブル] オプションは共に、抽出データの保存方法のみに影響を及ぼします。このオプションを使用しても、[データ ソース] ページでの抽出が表示される方法には影響しません。
たとえば、抽出が 3 つの物理テーブルを含む 1 つの論理テーブルで構成されているとします。既定のオプションである [論理テーブル] を使用するように構成されている抽出 (.hyper) ファイルを直接開く場合、データ ソース ページには 1 つのテーブルが表示されます。しかし、パッケージ データ ソース (.tdsx) ファイル、または該当の抽出 (.hyper) ファイルを含むデータ ソース (.tdsx) ファイルを使用して抽出を開く場合は、データ ソース ページには抽出を構成する 3 つのテーブルがすべて表示されます。
論理テーブル
Tableau は、抽出データを保存するための既定の構造として論理テーブルを使用します。Tableau では通常、抽出を設定および操作するときは、既定のデータ ストレージ オプションである [論理テーブル] を使用することを推奨しています。抽出フィルター、集計、上位 N、パススルー関数 (RAWSQL)、必要な機能の多くは、論理テーブル オプションを使用する場合にのみ利用できます。ただし、複数の論理テーブルが含まれる抽出にデータを追加することはできません。
この論理テーブル オプションを選択したときに、抽出に結合が含まれている場合は、抽出の作成時に結合が適用されます。
物理テーブル
このオプションでは、クエリ時に結合が実行されますが、データが以下の条件をすべて満たしている場合は、パフォーマンスを向上させ、抽出ファイルのサイズを削減できる可能性があります。
- 物理テーブルの結合がすべて等価 (=) 結合である
- 関係または結合に使用される列のデータ型が同一である。
- パススルー関数 (RAWSQL) が使用されていない
- 増分更新が構成されていない
- 抽出フィルターが構成されていない
- 上位 N やサンプリングが構成されていない
- 抽出にデータを追加する必要はありません。
物理テーブル操作のヒント
想定よりも大きい抽出: 抽出が想定よりも大きいかどうかを判断するには、論理テーブル オプションを使用したときの抽出の合計行数が、抽出の作成前にすべてのテーブルを組み合わせたときの合計行数よりも多くなっているかどうかを確認します。このシナリオが発生した場合は、代わりに物理テーブル オプションを使用してみてください。
フィルタリングのオプション: 物理テーブル オプションを使用する場合、抽出データの削減に役立つその他のオプション (抽出フィルター、集計、上位 N、サンプリングなど) が無効になります。[物理テーブル] オプションを使用する抽出でデータを減らす必要がある場合は、データをフィルタリングしてから、次の提案のいずれかを使用して Tableau Desktop に取り込むことを検討してください。
- 物理テーブルの結合はすべて等価 (=) 結合です。
データに接続し、カスタム SQL を使用してフィルターを定義します。データベース テーブルに接続する代わりに、カスタム SQL を使用してデータに接続します。カスタム SQL クエリを作成する場合は、抽出でデータを減らす際に必要となる適切なレベルのフィルタリングを必ず含めるようにしてください。Tableau Desktop のカスタム SQL の詳細については、「カスタム SQL クエリへの接続」を参照してください。
データベースのビューを定義します。データベースへの書き込みアクセス権がある場合は、抽出に必要なデータのみが含まれるデータベース ビューを定義してから、Tableau Desktop でデータベース ビューに接続することを検討してください。
抽出の行レベルのセキュリティ: 行レベルで抽出データを保護する場合は、[物理テーブル] オプションを使用することが推奨されています。Tableau での行レベルのセキュリティに関する詳細は、「データ行レベルでのアクセスの制限」を参照してください。
フィルター
フィールドとその値に基づいてフィルターを使用し、抽出するデータ量を制限します。
注: 論理テーブル上の抽出フィルターは、単一のベース テーブルを持つデータ ソースに対して広範囲に適用されます (データ ソース全体に適用されます)。マルチファクト関係を使用した複数のベーステーブルを持つデータ ソースの場合、抽出フィルターはテーブルごとに設定され、論理テーブル自体にのみ適用されます。広範なフィルターとテーブルごとのフィルターの詳細については、「データ ソースからデータをフィルターする」を参照してください。
集計
集計を使用すると、メジャーを集計できます。年や月などの指定した日付レベルに対して [日付のロールアップ] を選択することもできます。以下の例は、選択できる各集計オプションでデータがどのように抽出されるかを示しています。
- 元のデータ: 各レコードは個々の行として表示されます。元のデータには 7 行が含まれています。
- 表示可能なディメンションのデータを集計する (ロールアップなし): 同じ日付と文字を持つレコードが 1 つの行に集約されています。抽出には 5 行が含まれます。
- 表示可能なディメンションのデータを集計する (日付を月にロールアップ): 日付が月レベルにロールアップされ、同じ地域のレコードが 1 行に集計されています。抽出には 3 行が含まれます。
元のデータ | ロールアップなしの集計 | ロールアップありの集計 |
![]() | ![]() | ![]() |
行数
すべての行または上位 N 行を抽出できます。Tableau では、最初にフィルターと集計が適用され、次にフィルターおよび集計の結果から指定の行数が抽出されます。行数のオプションは、抽出元のデータ ソースのタイプによって異なります。一部のデータ ソースではサンプリングがサポートされていないため、[データの抽出] ダイアログ ボックスに [サンプリング] オプションが表示されない場合があります。
注: [データ ソース] ページまたはシート タブで最初に非表示にしたフィールドはすべて抽出から除外されます。非表示のフィールドを抽出から削除するには、[使用していないフィールドをすべて非表示] ボタンをクリックします。
ほとんどのデータ ソースで増分更新がサポートされています。抽出全体を更新する代わりに、前回データを抽出して以降の新しい行のみを追加するように抽出を構成することができます。
たとえば、新しい販売トランザクションで毎日更新されるデータ ソースがあるとします。その場合、抽出全体を毎日再構築する代わりに、その日に発生した新しいトランザクションのみを追加できます。
増分更新のヒント
増分更新:
- [行数] では、[すべての行] を選択する必要があります。
- 集計を有効にしている場合、増分更新は使用できません。
詳細設定:
- 詳細設定はフィルターと互換性がありません。
抽出に関するヒント
抽出への接続を維持するためワークブックを保存する
抽出を作成した後、ワークブックはデータの抽出されたバージョンを使用し始めます。しかし、データの抽出バージョンへの接続は、ワークブックを保存するまで保存されません。つまり、ワークブックを閉じる前に保存しなかった場合、次回そのワークブックを開いたときは元のデータ ソースに接続されます。
サンプリングされたデータと抽出全体を切り替える
大規模な抽出を扱う場合は、データの小さいサンプルを作成すると役立つ場合があります。これにより、分析にフィールドを追加するたびに長いクエリを実行することなく、ビューを設定できます。[データ] メニューで適切なオプションを選択することで、サンプル データと完全なデータ ソースの使用を簡単に切り替えることができます。
抽出に直接接続しない
抽出をコンピューターに保存すると、新しい Tableau Desktop を使用して抽出に直接接続できます。ただし、これは、以下のいくつかの理由で推奨されていません。
- テーブルの名前が異なる場合がある抽出では、各テーブルに一意の名前を付けるために特別な命名方法が使用されますが、これは理解しにくい場合があります。
- 抽出を更新またはリフレッシュすることはできない抽出に直接接続すると、Tableau は抽出を、コピーではなく、元のデータ ソースとみなします。これは、元のデータ ソースにリンクし直すことができないことを意味します。
- テーブル間の構造と関係が失われるテーブル間の配置と接続は、.hyper ファイルではなく、.tds ファイルに保存されます。したがって、.hyper ファイルに直接接続すると、この情報が失われます。抽出に論理テーブル ストレージを使用する場合、元の物理テーブルへの参照は表示されません。
データ ポリシーのユーザー関数を使用して仮想接続に接続する場合は、抽出を使用しないでください。
仮想接続にユーザー関数(新しいウィンドウでリンクが開く) (例: USERNAME()
) を含むデータ ポリシーがある場合に、ワークブックまたはデータ ソースから接続して抽出を作成すると、抽出には抽出の作成時点で仮想接続データ ポリシーに一致する行のみが含まれます。データ ポリシーに含まれるユーザー関数を使用した仮想接続を活用するには、抽出ではなく、ワークブックまたはデータ ソースから仮想接続へのライブ接続を使用します。
ワークブックから抽出を削除する
[データ] メニューで抽出データ ソースを選択し、 の順に選択すると、いつでも抽出を削除できます。抽出を削除するときは、[ワークブックからのみ抽出を削除する] または [抽出ファイルを削除する] のいずれかから選択できます。後者を選択すると、抽出がハード ドライブから削除されます。
抽出履歴の参照 (Tableau Desktop)
[データ] メニューでデータ ソースを選択し、 を選択すると、抽出の最終更新日時やその他の詳細を表示できます。
抽出と共に保存されたワークブックを開いたときに Tableau が抽出を見つけられない場合は、[Extract Not Found (抽出が見つかりません)] ダイアログ ボックスで要求されたときに次のオプションの 1 つを選択してください。
- 抽出の検索: 抽出が、Tableau が最初に保存した以外の場所に存在する場合、このオプションを選択します。[OK] をクリックすると、[ファイルを開く] ダイアログ ボックスが開き、そこから抽出ファイル用に新しい場所を指定できます。
- 抽出の削除: 抽出が必要なくなった場合はこのオプションを選択します。これはデータ ソースの終了に相当します。そのデータ ソースを参照する、開いているすべてのワークシートは削除されます。
- 抽出の無効化: 抽出が作成された元のデータ ソースを抽出の代わりに使用します。
- 抽出の再生成: 抽出を再度作成します。抽出を最初に作成したときに指定したすべてのフィルターとその他のカスタマイズが自動的に適用されます。
抽出のトラブルシューティング
- 抽出の作成に時間がかかる: データ セットのサイズによっては、データの抽出に時間がかかる場合があります。ただし、データを抽出してコンピューターに保存すると、パフォーマンスが向上します。
- 抽出が作成されない: データ セットに多数 (数千単位) の列が含まれている場合、Tableau は、抽出を作成できない場合があります。問題が発生した場合は、抽出する列の数を減らすか、元となるデータの再構築を検討してください。
- [保存] ダイアログが表示されない、または抽出が .twbx から作成されない: この前の手順に従ってパッケージ化されたワークブックからデータを抽出した場合、[保存] ダイアログは表示されません。パッケージ化されたワークブック (.twbx) から抽出が作成されると、抽出ファイルはパッケージド ワークブックに関連付られたファイルのパッケージに自動的に保存されます。パッケージ化されたワークブックから作成した抽出ファイルにアクセスするには、ワークブックをアンパッケージする必要があります。詳細については、パッケージド ワークブックを参照してください。
抽出の機能更新
増分抽出のサブ範囲更新
Tableau バージョン 2024.2 以降では、追加の期間を指定して、以前に抽出したデータを再抽出し、発生した可能性のある変更をキャプチャできます。詳細については、抽出の更新を参照してください。
増分更新
バージョン 2024.1 以降の Tableau には、ユーザーが非一意のキー列を使用して抽出に対して増分更新を実行できる機能が導入されています。これらの詳細設定に対応した新しい UI があります。
この更新では、抽出プロセスに追加のステップも導入されています。Tableau では、増分更新中に、以前に記録された最大値に一致する行が抽出から削除されます。その後、以前の最大値以上の値を持つすべての行がクエリされます。このアプローチにより、削除された行と新しく追加された行が確実に考慮されるようになります。
Web 内の抽出
バージョン 2020.4 以降では、抽出は Web 作成とコンテンツ サーバーで使用できます。これにより、Tableau Desktop を使用してデータ ソースを抽出する必要がなくなりました。詳細については、「Web 上での抽出の作成」を参照してください。
論理テーブルと物理テーブルの抽出
バージョン 2020.2 で Tableau データ モデルに論理テーブルと物理テーブルが導入された結果、抽出ストレージ オプションが [単一テーブル] と [複数テーブル] から [論理テーブル] と [物理テーブル] に変更されました。これらのオプションでは、抽出の格納方法がより詳しく説明されています。詳細については、データの抽出を参照してください。
.tde 形式の非推奨化
抽出を作成するときは、.hyper 形式を使用します。.hyper 形式の抽出では、大規模データ セットでより迅速な分析およびクエリ パフォーマンスをサポートする、改善されたデータ エンジンを活用します。2023 年 3 月以降、Tableau Cloud、Tableau Public、Tableau Server (バージョン 2023.1.0) では、.tde 形式を使用する抽出は非推奨になりました。バージョン 2024.2 は、.tde 形式のファイルを開くことができる最後のバージョンです。詳細については、「.hyper 形式への抽出のアップグレード」を参照してください。
抽出の効率とスケーラビリティを向上させるために、いくつかのデータ ソースからの抽出の値を異なる方法で計算することができます。値の計算方法を変更すると、ビューのマークを入力する方法に影響を与えます。一部の稀なケースでは、この変更によって、ビューの形状の変化や空白化を引き起こすことがあります。これらの変更は、複数接続データ ソース、ライブ接続をファイルベースのデータに使用するデータ ソース、Google スプレッドシートのデータに接続するデータ ソース、クラウドベースのデータ ソース、抽出のみのデータ ソース、WDC データ ソースにも適用できます。
日付と日時の値の書式
抽出は、DATE、DATETIME、DATEPARSE 関数によって日付文字列がどのように解釈されるかについて、一貫性のある厳密なルールに従います。これにより、日付の解析方法、またはこれらの関数で許可される日付形式やパターンに影響が出ます。具体的には、ルールは次のように一般化できます。
- 日付が評価され、行ではなく列ごとに解析される。
- 日付が評価され、ワークブックを開いているコンピューターのロケールではなく、ワークブックが作成された場所のロケールに基づいて解析が行われる。
これらのルールによって、抽出がより効率化され、商用データベースに一致する結果を生成できます。
日付値/日付時刻値に変化が見られる一般的な理由
- 日付があいまいでいくつかの異なる方法で解釈できる場合、日付は Tableau がその列に対して決定する形式に基づいて解釈されます。以下のシナリオ 1 およびシナリオ 2 の例を参照してください。
- 関数で YYYY-MM-DD (ISO) 形式を解析する必要がある場合。シナリオ 2 の例を参照してください。
- 関数が年を解析するとき、次のように解釈します。
- "07" は "2007" と解釈できます。
- "17" は "2017" と解釈できます。
- "30" は "2030" と解釈できます。
- "69" は "2069" と解釈できます。
- "70" は "1970" と解釈できます。
NULL 値に対する一般的な理由
- 関数を使用して、単一列内で複数の日付形式を解決する必要がある場合。Tableau で日付形式を決定したら、その形式から外れる列のその他すべての日付が NULL 値になります。以下のシナリオ 1 およびシナリオ 2 の例を参照してください。
- 関数で YYYY-MM-DD (ISO) 形式を解析する必要がある場合。"YYYY"、"MM"、または "DD" で許可されている値を超過する値のために NULL 値となる場合。シナリオ 2 の例を参照してください。
- 関数で、末尾の文字を含む日付値を解析する必要がある場合。たとえば、タイム ゾーンや夏時間を表すサフィックス、および "midnight" などのキーワードによって NULL 値になる可能性があります。
- 関数で無効な日付や時刻を解析する必要がある場合。たとえば、32/3/2024 によって NULL 値になる可能性があります。他にも、25:01:61 は NULL 値の原因となります。
- 関数で矛盾する入力値を解析する必要がある場合。たとえば、パターンが 'dd.MM (MMMM) y' で入力文字列が '1.09 (August) 2024' ("9" と "August" が月) であるとします。月の値が一致しないため、結果は NULL 値となります。
- 関数で矛盾するパターンを解析する必要がある場合。たとえば、グレゴリオ暦 (y) と ISO 週 (ww) を混在させて指定したパターンでは NULL 値となります。
シナリオ 1
英語のロケールで .tde 抽出データ ソースを使用するワークブックを作成したとします。以下の表は、抽出データ ソースに含まれている文字列データの列を示しています。
10/31/2024 |
31/10/2024 |
12/10/2024 |
特定の英語のロケールに基づいて、日付列の書式は MDY (月、日、年) 書式に従うように決められていました。次の表は、DATE 関数を使用して文字列値を日付値に変換する場合に、このロケールに基づいて Tableau で表示される内容を示しています。
October 31, 2024 |
October 31, 2024 |
December 10, 2024 |
抽出がドイツ語のロケールで開かれると、次のように表示されます。
31 Oktober 2024 |
31 Oktober 2024 |
12 Oktober 2024 |
ただし、抽出をバージョン 10.5 以降を使用してドイツのロケールで開くと、ドイツのロケールの DMY (日、月、年) 書式が厳密に適用され、値のうちの 1 つが DMY 書式に従っていないため NULL 値となります。
Null |
October 31, 2024 |
October 12, 2024 |
シナリオ 2
データ ソースに文字列データの列があるとします。
2024-10-31 |
2024-31-10 |
2024-12-10 |
2024-10-12 |
この日付は ISO 形式を使用するため、日付列は常に YYYY-MM-DD 形式に従います。次の表は、DATE 関数を使用して文字列値を日付値に変換する場合に、Tableau で表示される内容を示しています。
October 10, 2024 |
Null |
December 10, 2024 |
October 12, 2024 |
並べ替え順序と大文字/小文字の区別
抽出が照合順序に対応しているため、アクセントや大文字小文字が異なる文字列値をより適切に並べ替えることができます。
たとえば、文字列値の表があるとします。並べ替え順序に関しては、Égypte などの文字列値が、今では適切に Estonie の後で、Fidji の前に一覧されるようになっています。
大文字と小文字の区別に関しては、同じ文字列値が一意と見なされ、個々の値として保存されます。
上位 N 個のクエリで同数を破棄する
抽出内の Top N クエリでは、ランク内の特定の位置に重複した値が生成される場合があります。たとえば、上位 3 個のフィルターを作成するとします。3、4、5 番目の値が同じです。上位フィルターは 1、2、5 の位置にある値を返します。
浮動小数点値の精度
抽出は、コンピューターの使用可能なハードウェア リソースをより効率的に利用するため、高度な並列方式で数学的演算を実行できます。このため、.hyper 抽出では実数を異なる順序で集計できます。数値が異なる順序で集計されると、ビューでは、集計が完了するたびに小数点の後に異なる値が表示される場合があります。これは、浮動小数点の加算と乗算が必ずしも結合的ではないためです。つまり、(a + b) + c は必ずしも a + (b + c) と同じではありません。また、浮動小数点乗算は必ずしも配分的ではないため、実数が異なる順序で集計されることがあります。つまり、(a x b) x c は必ずしも a x b x c と同じではありません。.hyper 抽出のこのタイプの浮動小数点丸め動作は、商用データベースの浮動小数点丸め動作に類似しています。
たとえば、ワークブックに浮動小数点値で構成される集計フィールドのスライダー フィルターが含まれているとします。浮動小数点値の精度は変化するため、フィルターではフィルターの範囲の上限または下限を定義するマークが除外されるようになりました。これらの数値が欠落している部分は、空白で表示されます。この問題を解決するには、フィルターでスライダーを移動するか、フィルターを削除して再度追加します。
集計の精度
抽出は、コンピューターの使用可能なハードウェア リソースを利用することでサイズの大きいデータセットを最適化するため、高度な並列方式で集計を計算できます。このため、.hyper 抽出によって実行される集計は、統計計算に特化したソフトウェアからの結果より、商用データベースからの結果に類似している場合があります。サイズの小さいデータ セットで作業している場合、または高度な精度が必要な場合は、リファレンス ライン、サマリー カード統計、または分散、標準偏差、相関、母共分散などの表計算関数を介して集計を実行することを検討してください。
抽出 API を使用して .hyper 抽出を作成できます。抽出のパブリッシュなどのタスクでは、Tableau Server REST API または Tableau Server クライアント ライブラリ (Python) を使用できます。更新タスクでも Tableau Server REST API を使用できます。詳細については、Tableau Hyper APIを参照してください。