データの抽出

抽出は、パフォーマンスの改善や、元のデータでは使用不可能または未対応であった Tableau 機能の利用を可能にするための、データの保存済みサブセットです。データの抽出を作成すると、フィルターを使用したり制限を設定したりしてデータの合計量を削減できます。抽出を作成したら、元のデータからのデータを使用して更新できます。データを更新するときには、完全更新を実行してすべての抽出内容を置換することも、増分更新を実行して前回の更新以降の新しい行のみを追加することもできます。

抽出にはいくつかの理由で利点があります。

  • 大規模なデータ セットをサポート: 何十億行ものデータを含む抽出を作成できます。

  • 迅速に作成: 大規模なデータ セットを操作している場合、抽出を作成してそのうえで操作する方が元データを操作するよりも速く操作できることがあります。

  • パフォーマンス向上を助ける: 抽出されたデータ ソースを使用するビューを操作すると、通常は元データへの接続に基づくビューで操作するより良いパフォーマンスが体感できます。

  • 追加機能のサポート: 抽出により、カウント計算の能力など元データでは提供されていない、またはサポートされていない Tableau 機能を活用できます。

  • データにオフラインでアクセス可能: 抽出により、元データが利用できないときでもデータをローカルに保存して操作できます。たとえば、移動中などに作業が可能です。

抽出に関する最新の変更点

バージョン 2020.2 で Tableau データ モデルに論理テーブルと物理テーブルが導入された結果、抽出ストレージ オプションは単一のテーブルと複数のテーブルから論理テーブルと物理テーブルに変更されました。これらのオプションは、同様の動作と結果を持っていますが、これらのオプションは、抽出がどのように格納されるかをよりよく記述します。詳細については、抽出データの保存方法を決定するを参照してください。

バージョン 10.5 から、新しい抽出を作成すると .hyper 形式が使用されます。.hyper 形式の抽出では、大規模データ セットでより迅速な分析およびクエリ パフォーマンスをサポートする、改善されたデータ エンジンを活用します。

同様に、バージョン 2020.2 を使用して抽出関連のタスクが .tde の抽出ファイルに実行されると、その抽出は .hyper 抽出に更新されます。.tde 抽出が .hyper 抽出に更新された後は、.tde 抽出に戻すことはできません。詳細については、.hyper 形式への抽出のアップグレードを参照してください。

ビュー内の値とマークの変更

抽出の効率とスケーラビリティを改善するために、バージョン 10.4 以前と比較してバージョン 2020.2 では抽出の値を異なる方法で計算できます。値の計算方法を変更すると、ビューのマークを入力する方法に影響を与えます。一部の稀なケースでは、この変更によって、ビューの形状の変化や空白化を引き起こすことがあります。これらの変更は、複数接続データ ソース、ライブ接続をファイルベースのデータに使用するデータ ソース、Google スプレッドシートのデータに接続するデータ ソース、クラウドベースのデータ ソース、抽出のみのデータ ソース、WDC データ ソースにも適用できます。

バージョン 2020.2 を使用してビューで現れる可能性のあるいくつかの違いを把握するには、以降のセクションを参考にしてください。

日付と日時の値の書式

バージョン 10.5 以降では、DATE、DATETIME、DATEPARSE 関数を使用して日付文字列がどのように解釈されるかについて、抽出がより一貫した厳密なルールに従います。これにより、日付の解析方法、またはこれらの関数で許可される日付形式やパターンに影響が出ます。具体的には、ルールは次のように一般化できます。

  1. 日付が評価され、行ではなく列ごとに解析される。
  2. 日付が評価され、ワークブックを開いているコンピューターのロケールではなくワークブックが作成された場所のロケールに基づいて解析が行われる。

これらの新しいルールによって、抽出がより効率化され、商用データベースと調和した結果を生成できます。

これらのルールの結果として、特に、ワークブックを開いているロケールまたはワークブックがパブリッシュされるサーバーとは異なるロケールでワークブックが作成される国際的なシナリオでは、1.) 日付値と日付時刻値の別の日付値および日付時刻値への変化、または 2.) 日付値と日付時刻値の NULL への変化を目にすることがあります。日付値と日付時刻値を別の日付値および日付時刻値へ変更したり、日付値が NULL になったりする場合は、参照元データに問題があることを示している可能性が高いです。

バージョン 10.5 以降を使用した抽出データ ソースで日付値および日付時刻値に変化が見られるのには、いくつかの共通の理由があります。

日付値/日付時刻値に変化が見られる一般的な理由

NULL 値に対する一般的な理由

  • 関数を使用して、単一列内で複数の日付形式を解決する必要がある場合。日付があいまいでいくつかの異なる方法で解釈できる場合、日付は Tableau がその列に対して決定する形式に基づいて解釈されます。一部の例については、以下の日付のシナリオ 1 および日付のシナリオ 2 を参照してください。
  • 関数で YYYY-MM-DD (ISO) 形式を解析する必要がある場合。たとえば、日付のシナリオ 3を参照してください。
  • 関数に時間を算出するための十分な情報がない場合。時間、分、秒、ミリ秒に "0" を使用して、値を "00:00:00.0" で解釈できます。
  • 関数に日付を算出するための十分な情報がない場合。月に対する値を "1" または "January"で解釈できます。
  • 関数を年で解析する場合。次のように解釈できます。
    • "07" は "2007" と解釈できます。
    • "17" は "2017" と解釈できます。
    • "30" は "2030" と解釈できます。
    • "69" は "2069" と解釈できます。
    • "70" は "1970" と解釈できます。
  • 関数を使用して、単一列内で複数の日付形式を解決する必要がある場合。Tableau で日付形式を決定したら、その形式から外れる列のその他すべての日付が NULL 値になります。一部の例については、以下の日付のシナリオ 1 および日付のシナリオ 2 を参照してください。
  • 関数で YYYY-MM-DD (ISO) 形式を解析する必要がある場合。"YYYY"、"MM"、または "DD" で許可されている値を超過する値のために NULL 値となる場合。たとえば、日付のシナリオ 3を参照してください。
  • 関数で、末尾の文字を含む日付値を解析する必要がある場合。たとえば、タイム ゾーンや夏時間を表すサフィックス、および "midnight" などのキーワードによって NULL 値になる可能性があります。
  • 関数で無効な日付や時刻を解析する必要がある場合。たとえば、32/3/2012 によって NULL 値になる可能性があります。他にも、25:01:61 は NULL 値の原因となります。
  • 関数で矛盾する入力値を解析する必要がある場合。たとえば、パターンが 'dd.MM (MMMM) y' で入力文字列が '1.09 (August) 2017' ("9" と "August" は月) の場合が想定されます。月の値が一致しないため、結果は NULL 値となります。
  • 関数で矛盾するパターンを解析する必要がある場合。たとえば、グレゴリオ暦 (y) と ISO 週 (ww) を混在させて指定したパターンでは 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

ただし、抽出をバージョン 2020.2 を使用してドイツ語のロケールで開くと、ドイツ語ロケールの 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 となることがあります。

並べ替え順序と大文字/小文字の区別

バージョン 2020.2 では抽出で照合順序がサポートされているため、アクセントや大文字小文字が異なる文字列値をより適切に並べ替えることができます。

たとえば、文字列値の表があるとします。並べ替え順序に関しては、Égypte などの文字列値が、今では適切に Estonie の後で、Fidji の前に一覧されるようになっています。

Excel データについて 

ケーシングに関して、ここでは、Tableau での値の保存方法がバージョン 10.4 (およびそれ以前) とバージョン 10.5 (およびそれ以降) で変わったことを意味しています。ただし、値の並べ替えおよび比較に関するルールに変更はありません。バージョン 10.4 (およびそれ以前) では、"House"、"HOUSE"、"houSe" のような文字列値が同一と見なされ、1 つの代表的な値で保存されます。バージョン 10.5 (およびそれ以降) では、これらの文字列値が一意と見なされ、個別の値として保存されます。詳細については、値の計算方法の変更を参照してください。

上位 N 個のクエリで同数を破棄する

抽出時に上位 N 個のクエリの特定のランク位置に重複する値が生成された場合、バージョン 2020.2 を使用すると同数を破棄する位置を変更できます。たとえば、上位 3 個のフィルターを作成するとします。3、4、5 番目の値が同じです。バージョン 10.4 以前では、上位フィルターで 1、2、3 番目の値を返すことができました。しかし、バージョン 2020.2 を使用すると上位フィルターで 1、2、5 番目の値を返すようになります。

浮動小数点値の精度

バージョン2020.2 では、コンピューターの使用可能なハードウェア リソースをより効率的に利用して抽出を行うため、高度な並列方式で数学的演算を実行できます。このため、.hyper 抽出では実数を異なる順序で集計できます。数値が異なる順序で集計されると、ビューでは、集計が完了するたびに小数点の後に異なる値が表示される場合があります。これは、浮動小数点の加算と乗算が必ずしも結合的ではないためです。つまり、(a + b) + c は必ずしも a + (b + c) と同じではありません。また、浮動小数点乗算は必ずしも配分的ではないため、実数が異なる順序で集計されることがあります。つまり、(a x b) x c は必ずしも a x b x c と同じではありません。.hyper 抽出のこのタイプの浮動小数点丸め動作は、商用データベースの浮動小数点丸め動作に類似しています。

たとえば、ワークブックに浮動小数点値で構成される集計フィールドのスライダー フィルターが含まれているとします。浮動小数点値の精度は変化するため、フィルターではフィルターの範囲の上限または下限を定義するマークが除外されるようになりました。これらの数値が欠落している部分は、空白で表示されます。この問題を解決するには、フィルターでスライダーを移動するか、フィルターを削除して再度追加します。

集計の精度

バージョン 2020.2 の抽出では、コンピューターの使用可能なハードウェア リソースをより効率的に活用してサイズの大きいデータセットを最適化するため、高度な並列方式で集計を計算できます。このため、.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. [データ ソース] ページで、データに接続してデータ ソースをセットアップした後、右上の角で [抽出] を選択してから、 [編集] リンクをクリックして [データの抽出] ダイアログ ボックスを開きます。

  2. (オプション) 次のいずれか 1 つまたは複数のオプションを構成して、Tableau で保存方法、フィルター定義、および抽出のデータ量制限を設定します。

    • 抽出データの保存方法を決定する

      2 つの構造 (スキーマ)、つまり論理テーブル (非正規化されたスキーマ) または物理テーブル (正規化されたスキーマ) のいずれかを使用し、Tableau でデータを抽出に保存させることもできます。論理および物理テーブルの詳細については、Tableau データ モデルを参照してください。

      選択するオプションは、何を必要とするかにより異なります。

      • 論理テーブル

        データソース内の各論理テーブルに対して 1 つの抽出テーブルを使用してデータを格納します。論理テーブルを定義する物理テーブルは、その論理テーブルとマージされて保管されます。たとえば、データソースが 1 つの論理テーブルで構成されている場合、データは 1 つのテーブルに格納されます。データ ソースが 3 つの論理テーブル (それぞれに複数の物理テーブルを含む) で構成されている場合、抽出データは 3 つのテーブル (論理テーブルごとに 1 つずつ) に格納されます。

        抽出フィルター、集計、上位 N、または非正規化データを必要とするその他の機能などの追加の抽出プロパティを使用して、抽出内のデータの量を制限したい場合は論理テーブルを選択します。また、データがパススルー関数 (RAWSQL) を使用する場合にも使用します。抽出データの保存に Tableau ではこの構造が既定で使用されます。抽出に結合が含まれるときにこのオプションを使用する場合は、抽出の作成時に結合が適用されます。

      • 物理テーブル

        データソース内の各物理テーブルに対して 1 つの抽出テーブルを使用してデータを格納します。

        抽出が 1 つまたは複数の等価結合と組み合わされたテーブルで構成されており、以下の物理テーブルオプションを使用する条件を満たす場合は、[物理テーブル] を選択します。このオプションを使用する場合、結合はクエリ時に実行されます。

        このオプションにより、パフォーマンスが向上し、抽出ファイルのサイズが小さくなる可能性があります。物理テーブルの使用を Tableau でどのように推奨しているかの詳細については、物理テーブルオプションを使用する条件を参照してください。このオプションは行レベルのセキュリティの回避策として使用できる場合もあります。Tableau を使用した行レベルのセキュリティに関する詳細は、データ行レベルでのアクセスの制限を参照してください。

        物理テーブルオプションを使用する条件

        物理テーブルオプションを使用する抽出を保存するには、抽出に含まれるデータが以下の条件すべてを満たしている必要があります。

        • 表の結合がすべて等価 (=) 結合である
        • 関係プまたは結合に使用される列のデータ型は同一です。
        • パススルー関数 (RAWSQL) が使用されていない
        • 増分更新が構成されていない
        • 抽出フィルターが構成されていない
        • 上位 N やサンプリングが構成されていない

        抽出が [物理テーブル] として保存される場合、それにデータを追加することはできません。

      注: [論理テーブル] オプションと [物理テーブル] オプションのどちらも、抽出のデータの保存方法にしか影響しません。このオプションを使用しても、データ ソース ページでの抽出の表の表示方法には影響しません。

      たとえば、抽出が 3 つの表で構成されているとします。既定のオプションである [論理テーブル] を使用するように構成されている抽出 (.hyper) ファイルを直接開く場合、データソースページには 1 つの表が記載されます。しかし、パッケージド データ ソース (.tdsx) ファイルまたはデータ ソース (.tdsx) ファイルを使用し、対応する抽出 (.hyper) ファイルと共に抽出を開く場合は、データ ソース ページには抽出を構成する 3 つの表すべてが表示されます。

    • 抽出するデータの量を決定する 

      [追加] をクリックして 1 つまたは複数のフィルターを定義し、フィールドとその値に基づいて、抽出するデータ量を制限します。

    • 抽出のデータを集計する 

      [表示可能なディメンションのデータの集計] を選択し、既定の集計を使用してメジャーを集計します。データの集計により、行を統合し、抽出ファイルのサイズを最小限に抑え、パフォーマンスを向上させることができます。

      データの集計を選択すると、年、月など指定した日付に [日付のロールアップ] を選択することもできます。下記の例は選択できる各集計オプションでどのようにデータが抽出されるかを示します。

      元のデータ 各レコードは別々の行として表示されます。データには 7 行が含まれます。
      表示可能なディメンションのデータの集計

      (ロールアップなし)

      同じ日付と地域のレコードが 1 行に集計されています。抽出には 5 行が含まれます。
      表示可能なディメンションのデータの集計
      (日付を月にロールアップ)
      日付は月レベルにロールアップされ、同じ地域のレコードが 1 行に集計されています。抽出には 3 行が含まれます。
    • 抽出する行を選択する

      抽出する行数を選択します。

      すべての行、または上位N 行を抽出できます。Tableau では、最初にフィルターと集計が適用され、次にフィルターおよび集計の結果から指定の行数が抽出されます。行数のオプションは、抽出元のデータ ソースのタイプによって異なります。

      注:

      • サンプリングをサポートしていないデータ ソースもあります。このため、[サンプリング] オプションが [データの抽出] ダイアログ ボックスに見当たらない場合もあります。

      • [データ ソース] ページまたはシート タブで最初に非表示にしたフィールドはすべて抽出から除外されます。[使用していないフィールドをすべて非表示] ボタンをクリックすると、そのような非表示のフィールドを抽出から削除できます。

  3. 終了したら、[OK] をクリックします。

  4. シート タブをクリックします。シート タブをクリックすると抽出の作成が開始します。

  5. この後に表示されるダイアログ ボックスで、抽出を保存する場所を選択し、抽出ファイルに名前を付け、[保存] をクリックします。

    [保存] ダイアログ ボックスが表示されない場合、以下の抽出のトラブルシューティングセクションを参照してください。

抽出での操作のヒント

抽出への接続を維持するためワークブックを保存する

抽出を作成した後、ワークブックはデータの抽出されたバージョンを使用し始めます。しかし、データの抽出バージョンへの接続はワークブックを保存するまで維持されません。つまり、ワークブックを閉じる前に保存しなかった場合、次回そのワークブックを開いたときは元のデータ ソースに接続されます。

サンプリングされたデータと抽出全体を切り替える

大規模な抽出を操作しているとき、サンプリングされたデータを作成してクエリするごとに待機時間が長くならないように、ビューを設定することをお勧めします。そうすれば、[データ] メニューでデータ ソースを選択し、[抽出の使用] を選択すると、抽出 (データがサンプリングされた状態) とデータ ソース全体の使用を切り替えることができます。

ワークブックから抽出を削除する

[データ] メニューで抽出データ ソースを選択し、[抽出] > [削除] を選択すると、いつでも抽出を削除できます。抽出を削除するときは、[ワークブックからのみ抽出を削除する] または [抽出ファイルを削除する] のいずれかから選択できます。後者を選択すると、抽出がハード ドライブから削除されます。

抽出履歴の参照

[データ] メニューでデータ ソースを選択し、[抽出] > [履歴] を選択すると、抽出の最終更新日時やその他の詳細を表示できます。

抽出と共に保存されたワークブックを開いたときに Tableau が抽出を見つけられない場合は、[Extract Not Found (抽出が見つかりません)] ダイアログ ボックスで要求されたときに次のオプションの 1 つを選択してください。

  • 抽出の検索: 抽出が、Tableau が最初に保存した以外の場所に存在する場合、このオプションを選択します。[OK] をクリックすると、[ファイルを開く] ダイアログ ボックスが開き、そこから抽出ファイル用に新しい場所を指定できます。

  • 抽出の削除: 抽出が必要なくなった場合はこのオプションを選択します。これはデータ ソースの終了に相当します。そのデータ ソースを参照する、開いているすべてのワークシートは削除されます。

  • 抽出の無効化: 抽出が作成された元のデータ ソースを抽出の代わりに使用します。

  • 抽出の再生成: 抽出を再度作成します。抽出を最初に作成したときに指定したすべてのフィルターとその他のカスタマイズが自動的に適用されます。

物理テーブルオプションを使用する条件

Tableau では通常、抽出を使用して設定および操作を行う場合は、既定のデータストレージオプションである [論理テーブル] の使用を推奨しています。多くの場合において、抽出フィルターなど抽出に必要な機能の一部は [論理テーブル]オプションを使用する場合にのみ使用可能となります。

想像以上に大きい抽出に対する [物理テーブル]オプション

[物理テーブル] オプションの使用は控えめにして、データ ソースが 物理テーブルオプションを使用する条件を満たす場合や抽出サイズが想像以上に大きい場合など、特定の状況に役立てる必要があります。抽出が必要以上に大きいかどうかを判断するには、[論理テーブル]オプションを使用した抽出の合計行数が、抽出を作成する前にすべての表を組み合わせた合計行数よりも多くなる必要があります。このシナリオが発生した場合は、代わりに [物理テーブル]オプションを使用してみてください。

[物理テーブル]オプションを使用する場合の代替的なフィルタリングの提案

[物理テーブル]オプションを使用する場合、抽出データを減らすために役立つその他のオプション (抽出フィルター、集計、上位 N、サンプリングなど) が無効になります。[物理テーブル]オプションを使用する抽出でデータを減らす必要がある場合は、データをフィルタリングしてから次の提案のいずれかを使用して Tableau Desktop に取り込むことを検討してください。

  • データに接続し、カスタム SQL を使用してフィルターを定義する: データベース テーブルに接続する代わりに、カスタム SQL を使用してデータに接続します。カスタム SQL クエリを作成する場合は、抽出でデータを減らす際に必要となる適切なレベルのフィルタリングを必ず含めるようにしてください。Tableau Desktop のカスタム SQL の詳細については、カスタム SQL クエリへの接続を参照してください。

  • データベースのビューを定義する: データベースへの書き込みアクセス権がある場合は、抽出に必要なデータのみが含まれるデータベース ビューを定義してから、Tableau Desktop でデータベース ビューに接続することを検討してください。

抽出を使用した行レベルのセキュリティ

行レベルで抽出データを保護する場合は、[複数の表] オプションを使用することがこのシナリオを達成するために推奨される方法です。Tableau での行レベルのセキュリティに関する詳細は、データ行レベルでのアクセスの制限を参照してください。

抽出のトラブルシューティング

  • 抽出の作成に時間がかかる: データ セットのサイズによっては、データの抽出に時間がかかる場合があります。ただし、データを抽出してコンピューターに保存した後は、パフォーマンスが向上します。

  • 抽出は作成されませんでした:データ セットに非常に多数 (数千単位) の列が含まれている場合、Tableau は、抽出を作成できない場合があります。問題が発生した場合は、抽出する列の数を減らすか、元となるデータの再構築を検討してください。

  • [保存] ダイアログが表示されない、または抽出が .twbx から作成されない場合:上記の手順に従ってパッケージド ワークブックからデータを抽出した場合、[保存] ダイアログは表示されません。パッケージド ワークブック (.twbx) から抽出が作成されると、抽出ファイルはパッケージド ワークブックに関連付られたファイルのパッケージに自動的に保存されます。パッケージド ワークブックから作成した抽出ファイルにアクセスするには、ワークブックをアンパッケージする必要があります。詳細については、パッケージド ワークブックを参照してください。

このセクションの他の記事

ありがとうございます! フィードバックの送信中にエラが発生しました。もう一度やり直すか、メッセージをお送りください