データの抽出
抽出は、パフォーマンスの改善や、元のデータでは使用不可能または未対応であった Tableau 機能の利用を可能にするための、データの保存済みサブセットです。データの抽出を作成すると、フィルターを使用したり制限を設定したりしてデータの合計量を削減できます。抽出を作成したら、元のデータからのデータを使用して更新できます。データを更新するときには、完全更新を実行してすべての抽出内容を置換することも、増分更新を実行して前回の更新以降の新しい行のみを追加することもできます。
抽出にはいくつかの理由で利点があります。
大規模なデータ セットをサポート: 何十億行ものデータを含む抽出を作成できます。
パフォーマンス向上を助ける: 抽出されたデータ ソースを使用するビューを操作すると、通常は元データへの接続に基づくビューで操作するより良いパフォーマンスが体感できます。
追加機能のサポート: 抽出により、カウント計算の能力など元データでは提供されていない、またはサポートされていない Tableau 機能を活用できます。
データにオフラインでアクセス可能: Tableau Desktop を使用している場合は、抽出を使用すると、元のデーを利用できないときでもデータをローカルに保存して操作できます。たとえば、移動中などに作業が可能です。
抽出に関する最新の変更点
Web 内の抽出
バージョン 2020.4 以降では、抽出は Web 作成とコンテンツ サーバーで使用できます。これにより、Tableau Desktop を使用してデータ ソースを抽出する必要がなくなりました。詳細については、「Web 上での抽出の作成」を参照してください。
論理テーブルと物理テーブルの抽出
バージョン 2020.2 で Tableau データ モデルに論理テーブルと物理テーブルが導入された結果、抽出ストレージ オプションが [単一テーブル] と [複数テーブル] から [論理テーブル] と [物理テーブル] に変更されました。これらのオプションでは、抽出の格納方法がより詳しく説明されています。詳細については、抽出データの保存方法を決定するを参照してください。
.tde 形式の非推奨化
注: 2023 年 3 月以降、Tableau Cloud、Tableau Public、Tableau Server (バージョン 2023.1.0) では、.tde 形式を使用する抽出は非推奨になりました。詳細については、「.hyper 形式への抽出のアップグレード」を参照してください。
バージョン 10.5 から、新しい抽出を作成すると .hyper 形式が使用されます。.hyper 形式の抽出では、大規模データ セットでより迅速な分析およびクエリ パフォーマンスをサポートする、改善されたデータ エンジンを活用します。
同様に、バージョン 10.5 以降を使用して抽出関連タスクが .tde の抽出ファイルに実行されると、その抽出は .hyper 抽出に更新されます。.tde 抽出が .hyper 抽出に更新された後は、.tde 抽出に戻すことはできません。詳細については、.hyper 形式への抽出のアップグレードを参照してください。
ビュー内の値とマークの変更
抽出の効率とスケーラビリティを改善するために、バージョン 10.4 以前と比較してバージョン 10.5 以降では抽出の値を異なる方法で計算できます。値の計算方法を変更すると、ビューのマークを入力する方法に影響を与えます。一部の稀なケースでは、この変更によって、ビューの形状の変化や空白化を引き起こすことがあります。これらの変更は、複数接続データ ソース、ライブ接続をファイルベースのデータに使用するデータ ソース、Google スプレッドシートのデータに接続するデータ ソース、クラウドベースのデータ ソース、抽出のみのデータ ソース、WDC データ ソースにも適用できます。
バージョン 2022.4 を使用してビューで現れる可能性のあるいくつかの違いを把握するには、以降のセクションを参考にしてください。
日付と日時の値の書式
バージョン 10.5 以降では、DATE、DATETIME、DATEPARSE 関数を使用して日付文字列がどのように解釈されるかについて、抽出がより一貫した厳密なルールに従います。これにより、日付の解析方法、またはこれらの関数で許可される日付形式やパターンに影響が出ます。具体的には、ルールは次のように一般化できます。
- 日付が評価され、行ではなく列ごとに解析される。
- 日付が評価され、ワークブックを開いているコンピューターのロケールではなくワークブックが作成された場所のロケールに基づいて解析が行われる。
これらの新しいルールによって、抽出がより効率化され、商用データベースと調和した結果を生成できます。
これらのルールの結果として、特に、ワークブックを開いているロケールまたはワークブックがパブリッシュされるサーバーとは異なるロケールでワークブックが作成される国際的なシナリオでは、1.) 日付値と日付時刻値の別の日付値および日付時刻値への変化、または 2.) 日付値と日付時刻値の NULL への変化を目にすることがあります。日付値と日付時刻値を別の日付値および日付時刻値へ変更したり、日付値が NULL になったりする場合は、参照元データに問題があることを示している可能性が高いです。
バージョン 10.5 以降を使用した抽出データ ソースで日付値および日付時刻値に変化が見られるのには、いくつかの共通の理由があります。
日付値/日付時刻値に変化が見られる一般的な理由 | NULL 値に対する一般的な理由 |
---|---|
|
|
日付のシナリオ 1
英語のロケールで .tde 抽出データ ソースを使用するワークブックを作成したとします。以下の表は、抽出データ ソースに含まれている文字列データの列を示しています。
10/31/2018 |
31/10/2018 |
12/10/2018 |
特定の英語のロケールに基づいて、日付列の書式は MDY (月、日、年) 書式に従うように決められていました。次の表は、DATE 関数を使用して文字列値を日付値に変換する場合に、このロケールに基づいて Tableau で表示される内容を示しています。
October 31, 2018 |
October 31, 2018 |
December 10, 2018 |
抽出がドイツ語のロケールで開かれると、次のように表示されます。
31 Oktober 2018 |
31 Oktober 2018 |
12 Oktober 2018 |
ただし、抽出をバージョン 10.5 以降を使用してドイツ語のロケールで開くと、ドイツ語ロケールの DMY (日、月、年) 書式が厳密に適用され、値のうちの 1 つが DMY 書式に従っていないため NULL 値となります。
Null |
October 31, 2018 |
October 12, 2018 |
日付のシナリオ 2
英語のロケールで .tde 抽出データ ソースを使用する別のワークブックを作成したとします。以下の表は、抽出データ ソースに含まれている日付数値データの列を示しています。
1112018 |
1212018 |
1312018 |
1412018 |
特定の英語のロケールに基づいて、日付列の書式は MDY (月、日、年) 書式に従うように決められていました。次の表は、DATE 関数を使用して数値を日付値に変換する場合のこのロケールに基づいて Tableau で表示される内容を示しています。
11/1/2018 |
12/1/2018 |
Null |
Null |
日付のシナリオ 3
.tde 抽出データ ソースを使用するワークブックを作成したとします。以下の表は、抽出データ ソースに含まれている文字列データの列を示しています。
2018-10-31 |
2018-31-10 |
2018-12-10 |
2018-10-12 |
この日付は ISO 形式を使用するため、日付列は常に YYYY-MM-DD 形式に従います。次の表は、DATE 関数を使用して文字列値を日付値に変換する場合に、Tableau で表示される内容を示しています。
October 10, 2018 |
Null |
December 10, 2018 |
October 12, 2018 |
注: バージョン 10.4 (およびそれ以前) で、ISO 形式とその他の日付形式では、ワークブックの作成場所のロケールによって結果が異なることがあります。たとえば、英語ロケールでは、2018-12-10 と 2018/12/10 はいずれも December 12, 2018 となります。ですが、ドイツ語ロケールでは 2018-12-10 は December 12, 2018 となり、2018/12/10 は October 12, 2018 となることがあります。
並べ替え順序と大文字/小文字の区別
抽出が照合順序に対応しているため、アクセントや大文字小文字が異なる文字列値をより適切に並べ替えることができます。
たとえば、文字列値の表があるとします。並べ替え順序に関しては、Égypte などの文字列値が、今では適切に Estonie の後で、Fidji の前に一覧されるようになっています。
Excel データについて
ケーシングに関して、ここでは、Tableau での値の保存方法がバージョン 10.4 (およびそれ以前) とバージョン 10.5 (およびそれ以降) で変わったことを意味しています。ただし、値の並べ替えおよび比較に関するルールに変更はありません。バージョン 10.4 (およびそれ以前) では、"House"、"HOUSE"、"houSe" のような文字列値が同一と見なされ、1 つの代表的な値で保存されます。バージョン 10.5 (およびそれ以降) では、これらの文字列値が一意と見なされ、個別の値として保存されます。詳細については、値の計算方法の変更を参照してください。
上位 N 個のクエリで同数を破棄する
抽出時に上位 N 個のクエリの特定のランク位置に重複する値が生成された場合、バージョン 10.5 以降を使用すると同数を破棄する位置を変更できます。たとえば、上位 3 個のフィルターを作成するとします。3、4、5 番目の値が同じです。バージョン 10.4 以前では、上位フィルターで 1、2、3 番目の値を返すことができました。しかし、バージョン 10.5 以降を使用すると、上位フィルターで 1、2、5 番目の値を返すようになります。
浮動小数点値の精度
抽出は、コンピューターの使用可能なハードウェア リソースをより効率的に利用するため、高度な並列方式で数学的演算を実行できます。このため、.hyper 抽出では実数を異なる順序で集計できます。数値が異なる順序で集計されると、ビューでは、集計が完了するたびに小数点の後に異なる値が表示される場合があります。これは、浮動小数点の加算と乗算が必ずしも結合的ではないためです。つまり、(a + b) + c は必ずしも a + (b + c) と同じではありません。また、浮動小数点乗算は必ずしも配分的ではないため、実数が異なる順序で集計されることがあります。つまり、(a x b) x c は必ずしも a x b x c と同じではありません。.hyper 抽出のこのタイプの浮動小数点丸め動作は、商用データベースの浮動小数点丸め動作に類似しています。
たとえば、ワークブックに浮動小数点値で構成される集計フィールドのスライダー フィルターが含まれているとします。浮動小数点値の精度は変化するため、フィルターではフィルターの範囲の上限または下限を定義するマークが除外されるようになりました。これらの数値が欠落している部分は、空白で表示されます。この問題を解決するには、フィルターでスライダーを移動するか、フィルターを削除して再度追加します。
集計の精度
抽出は、コンピューターの使用可能なハードウェア リソースを利用することでサイズの大きいデータセットを最適化するため、高度な並列方式で集計を計算できます。このため、.hyper 抽出によって実行される集計は、統計計算に特化したソフトウェアからの結果より、商用データベースからの結果に類似している場合があります。サイズの小さいデータ セットで作業している場合、または高度な精度が必要な場合は、リファレンス ライン、サマリー カード統計、または分散、標準偏差、相関、母共分散などの表計算関数を介して集計を実行することを検討してください。
抽出の [今すぐ計算] オプションについて
以前のバージョンの Tableau Desktop を使用している .tde 抽出で [今すぐ計算] オプションが使用された場合は、特定の計算フィールドがマテリアライズされているため、事前に計算されてから抽出に保存されています。抽出を .tde 抽出から .hyper 抽出にアップグレードすると、以前に抽出でマテリアライズされた計算は含まれません。もう一度 [今すぐ計算] オプションを使用して、マテリアライズされた計算がアップグレード後の抽出に含まれていることを確認する必要があります。詳細については、抽出での計算のマテリアライズを参照してください。
新しい抽出 API
抽出 API 2.0 を使用して .hyper 抽出を作成できます。抽出のパブリッシュなど、これまで Tableau SDK を使用して実行していたタスクでは、Tableau Server REST API または Tableau Server クライアント ライブラリ (Python) を使用できます。更新タスクでも Tableau Server REST API を使用できます。詳細については、Tableau Hyper APIを参照してください。
抽出の作成
Tableau ワークフローにおいては、抽出を作成できるオプションが多数ありますが、ここでは主な方法を説明します。
[データ ソース] ページで、データに接続してデータ ソースをセットアップした後、右上の角で [抽出] を選択してから、 [編集] リンクをクリックして [データの抽出] ダイアログ ボックスを開きます。
(オプション) 次のいずれか 1 つまたは複数のオプションを構成して、Tableau で保存方法、フィルター定義、および抽出のデータ量制限を設定します。
2 つの構造 (スキーマ)、つまり論理テーブル (正規化されたスキーマ) または物理テーブル (正規化されたスキーマ) のいずれかを使用し、抽出されたデータを Tableau に保存することもできます。論理および物理テーブルの詳細については、Tableau データ モデルを参照してください。
選択するオプションは、目的に応じて異なります。
データソース内の各論理テーブルに対して 1 つの抽出テーブルを使用してデータを格納します。論理テーブルを定義する物理テーブルは、その論理テーブルとマージされて保管されます。たとえば、データソースが 1 つの論理テーブルで構成されている場合、データは 1 つのテーブルに格納されます。データ ソースが 3 つの論理テーブル (それぞれに複数の物理テーブルを含む) で構成されている場合、抽出データは 3 つのテーブル (論理テーブルごとに 1 つずつ) に格納されます。
抽出フィルター、集計、上位 N、または非正規化データを必要とするその他の機能などの追加の抽出プロパティを使用して、抽出内のデータの量を制限したい場合は論理テーブルを選択します。また、データがパススルー関数 (RAWSQL) を使用する場合にも使用します。抽出データの保存に Tableau ではこの構造が既定で使用されます。抽出に結合が含まれるときにこのオプションを使用する場合は、抽出の作成時に結合が適用されます。
データソース内の各物理テーブルに対して 1 つの抽出テーブルを使用してデータを格納します。
抽出が 1 つまたは複数の等価結合と組み合わされたテーブルで構成されており、以下の物理テーブル オプションを使用する条件を満たす場合は、[物理テーブル] を選択します。このオプションを使用する場合、結合はクエリ時に実行されます。
このオプションにより、パフォーマンスが向上し、抽出ファイルのサイズが小さくなる可能性があります。物理テーブルの使用を Tableau でどのように推奨しているかの詳細については、物理テーブルオプションを使用する条件を参照してください。このオプションは、行レベルのセキュリティの回避策として使用できる場合もあります。Tableau を使用した行レベルのセキュリティに関する詳細は、データ行レベルでのアクセスの制限を参照してください。
物理テーブル オプションを使用する条件
物理テーブルオプションを使用する抽出を保存するには、抽出に含まれるデータが以下の条件すべてを満たしている必要があります。
- 物理テーブルの結合がすべて等価 (=) 結合である
- 関係プまたは結合に使用される列のデータ型は同一です。
- パススルー関数 (RAWSQL) が使用されていない
- 増分更新が構成されていない
- 抽出フィルターが構成されていない
- 上位 N やサンプリングが構成されていない
抽出が [物理テーブル] として保存される場合、それにデータを追加することはできません。論理テーブルでは、複数の論理テーブルが含まれる抽出にデータを追加することができません。
注: [論理テーブル] オプションと [物理テーブル] オプションのどちらも、抽出のデータの保存方法にしか影響しません。このオプションを使用しても、データ ソース ページでの抽出の表の表示方法には影響しません。
たとえば、抽出が 3 つの物理テーブルを含む 1 つの論理テーブルで構成されているとします。既定のオプションである [論理テーブル] を使用するように構成されている抽出 (.hyper) ファイルを直接開く場合、データソースページには 1 つの表が記載されます。しかし、パッケージド データ ソース (.tdsx) ファイルまたはデータ ソース (.tdsx) ファイルを使用し、対応する抽出 (.hyper) ファイルと共に抽出を開く場合は、データ ソース ページには抽出を構成する 3 つの表すべてが表示されます。
抽出するデータの量を決定する
[追加] をクリックして 1 つまたは複数のフィルターを定義し、フィールドとその値に基づいて、抽出するデータ量を制限します。
抽出のデータを集計する
[表示可能なディメンションのデータの集計] を選択し、既定の集計を使用してメジャーを集計します。データの集計により、行を統合し、抽出ファイルのサイズを最小限に抑え、パフォーマンスを向上させることができます。
データの集計を選択すると、年、月など指定した日付に [日付のロールアップ] を選択することもできます。下記の例は選択できる各集計オプションでどのようにデータが抽出されるかを示します。
元のデータ 各レコードは別々の行として表示されます。データには 7 行が含まれます。 表示可能なディメンションのデータの集計 (ロールアップなし)
同じ日付と地域のレコードが 1 行に集計されています。抽出には 5 行が含まれます。 表示可能なディメンションのデータの集計
(日付を月にロールアップ)日付は月レベルにロールアップされ、同じ地域のレコードが 1 行に集計されています。抽出には 3 行が含まれます。 抽出する行を選択する
抽出する行数を選択します。
すべての行、または上位 N 行を抽出できます。Tableau では、最初にフィルターと集計が適用され、次にフィルターおよび集計の結果から指定の行数が抽出されます。行数のオプションは、抽出元のデータ ソースのタイプによって異なります。
サンプリングをサポートしていないデータ ソースもあります。このため、[サンプリング] オプションが [データの抽出] ダイアログ ボックスに見当たらない場合もあります。
[データ ソース] ページまたはシート タブで最初に非表示にしたフィールドはすべて抽出から除外されます。[使用していないフィールドをすべて非表示] ボタンをクリックすると、そのような非表示のフィールドを抽出から削除できます。
終了したら、[OK] をクリックします。
シート タブをクリックします。シート タブをクリックすると抽出の作成が開始します。
この後に表示されるダイアログ ボックスで、抽出を保存する場所を選択し、抽出ファイルに名前を付け、[保存] をクリックします。
[保存] ダイアログ ボックスが表示されない場合、以下の抽出のトラブルシューティングセクションを参照してください。
抽出での操作のヒント
抽出への接続を維持するためワークブックを保存する
抽出を作成した後、ワークブックはデータの抽出されたバージョンを使用し始めます。しかし、データの抽出バージョンへの接続はワークブックを保存するまで維持されません。つまり、ワークブックを閉じる前に保存しなかった場合、次回そのワークブックを開いたときは元のデータ ソースに接続されます。
サンプリングされたデータと抽出全体を切り替える
大規模な抽出を操作しているとき、サンプリングされたデータを作成してクエリするごとに待機時間が長くならないように、ビューを設定することをお勧めします。そうすれば、[データ] メニューでデータ ソースを選択し、[抽出の使用] を選択すると、抽出 (データがサンプリングされた状態) とデータ ソース全体の使用を切り替えることができます。
抽出に直接接続しない
抽出はファイル システムに保存されるため、新しい Tableau Desktop インスタンスを使用して直接接続できます。ただし、これは以下の理由から推奨されていません。
- テーブルの名前が変わります。抽出で格納されたテーブルは、名前の一意性を保証するために特別な命名方法を使用しているため、人間では判読できない場合があります。
- 抽出を更新できません。抽出に直接接続する場合、Tableau ではこのファイルを基になるデータのコピーではなく、真のソースとして扱います。そのため、ソース データに再度関連付けることができません。
- データ モデルと関係が失われます。テーブル間のデータ モデルと関係は .tds ファイルに格納され、.hyper ファイルには格納されないため、.hyper ファイルに直接接続するとこの情報は失われます。また、論理テーブルのストレージを使用して抽出を行うと、参照元となる元の物理テーブルへの参照が表示されなくなります。
ワークブックから抽出を削除する
[データ] メニューで抽出データ ソースを選択し、 を選択すると、いつでも抽出を削除できます。抽出を削除するときは、[ワークブックからのみ抽出を削除する] または [抽出ファイルを削除する] のいずれかから選択できます。後者を選択すると、抽出がハード ドライブから削除されます。
抽出履歴の参照
[データ] メニューでデータ ソースを選択し、 を選択すると、抽出の最終更新日時やその他の詳細を表示できます。
抽出と共に保存されたワークブックを開いたときに Tableau が抽出を見つけられない場合は、[Extract Not Found (抽出が見つかりません)] ダイアログ ボックスで要求されたときに次のオプションの 1 つを選択してください。
抽出の検索: 抽出が、Tableau が最初に保存した以外の場所に存在する場合、このオプションを選択します。[OK] をクリックすると、[ファイルを開く] ダイアログ ボックスが開き、そこから抽出ファイル用に新しい場所を指定できます。
抽出の削除: 抽出が必要なくなった場合はこのオプションを選択します。これはデータ ソースの終了に相当します。そのデータ ソースを参照する、開いているすべてのワークシートは削除されます。
抽出の無効化: 抽出が作成された元のデータ ソースを抽出の代わりに使用します。
抽出の再生成: 抽出を再度作成します。抽出を最初に作成したときに指定したすべてのフィルターとその他のカスタマイズが自動的に適用されます。
物理テーブルオプションを使用する条件
Tableau では通常、抽出を使用して設定および操作を行う場合は、既定のデータストレージオプションである [論理テーブル] の使用を推奨しています。多くの場合において、抽出フィルターなど抽出に必要な機能の一部は [論理テーブル]オプションを使用する場合にのみ使用可能となります。
想像以上に大きい抽出に対する [物理テーブル]オプション
[物理テーブル] オプションの使用は控えめにして、データ ソースが 物理テーブル オプションを使用する条件を満たす場合や抽出サイズが想像以上に大きい場合など、特定の状況に役立てる必要があります。抽出が必要以上に大きいかどうかを判断するには、[論理テーブル]オプションを使用した抽出の合計行数が、抽出を作成する前にすべての表を組み合わせた合計行数よりも多くなる必要があります。このシナリオが発生した場合は、代わりに [物理テーブル]オプションを使用してみてください。
[物理テーブル]オプションを使用する場合の代替的なフィルターリングの提案
[物理テーブル]オプションを使用する場合、抽出データを減らすために役立つその他のオプション (抽出フィルター、集計、上位 N、サンプリングなど) が無効になります。[物理テーブル]オプションを使用する抽出でデータを減らす必要がある場合は、データをフィルターリングしてから次の提案のいずれかを使用して Tableau Desktop に取り込むことを検討してください。
データに接続し、カスタム SQL を使用してフィルターを定義する: データベース テーブルに接続する代わりに、カスタム SQL を使用してデータに接続します。カスタム SQL クエリを作成する場合は、抽出でデータを減らす際に必要となる適切なレベルのフィルターリングを必ず含めるようにしてください。Tableau Desktop のカスタム SQL の詳細については、カスタム SQL クエリへの接続を参照してください。
データベースのビューを定義する: データベースへの書き込みアクセス権がある場合は、抽出に必要なデータのみが含まれるデータベース ビューを定義してから、Tableau Desktop でデータベース ビューに接続することを検討してください。
抽出を使用した行レベルのセキュリティ
行レベルで抽出データを保護する場合は、[物理テーブル] オプションを使用することがこのシナリオを達成するために推奨される方法です。Tableau での行レベルのセキュリティに関する詳細は、データ行レベルでのアクセスの制限を参照してください。
抽出のトラブルシューティング
抽出の作成に時間がかかる: データ セットのサイズによっては、データの抽出に時間がかかる場合があります。ただし、データを抽出してコンピューターに保存した後は、パフォーマンスが向上します。
抽出は作成されませんでした:データ セットに非常に多数 (数千単位) の列が含まれている場合、Tableau は、抽出を作成できない場合があります。問題が発生した場合は、抽出する列の数を減らすか、元となるデータの再構築を検討してください。
[保存] ダイアログが表示されない、または抽出が .twbx から作成されない場合:上記の手順に従ってパッケージ化されたワークブックからデータを抽出した場合、[保存] ダイアログは表示されません。パッケージ化されたワークブック (.twbx) から抽出が作成されると、抽出ファイルはパッケージド ワークブックに関連付られたファイルのパッケージに自動的に保存されます。パッケージ化されたワークブックから作成した抽出ファイルにアクセスするには、ワークブックをアンパッケージする必要があります。詳細については、パッケージド ワークブックを参照してください。