データ ブレンドのトラブルシューティング
データ ブレンドを使用して異なるデータ ソースのデータを組み合わせる場合、いくつかの一般的な問題が発生する場合があります。このトピックでは、それらの問題をリストし、それぞれの状況への対応方法について説明します。
データ ソースをブレンドするときの一般的な警告とエラー
プライマリ データ ソースとのリレーションシップがない
セカンダリ データ ソースからビューにフィールドをドラッグすると、次のような警告が表示されることがあります。
Fields cannot be used from the [name of secondary data source] data source, because there is no blend relationship to the primary data source. (プライマリ データ ソースとのブレンド関係がないため、[セカンダリ データ ソースの名前] データ ソースからのフィールドを使用できません。)[データ] ペインで [セカンダリ データ ソースの名前] データ ソースに切り替えて、少なくとも 1 つのリンク アイコンをクリックしてデータ ソースを結合してください。
この警告は、セカンダリ データ ソースにアクティブなリンクがない場合に発生します
たとえば、"State (州)" および "Date (日付)" フィールドによって関連付けられた 2 つのデータ ソースがあるとします。セカンダリ データ ソースのこれらのフィールドの少なくとも 1 つの横に、アクティブ リンク アイコン () が表示されている必要があります。[データ] ペインで破損リンク アイコン () をクリックするか、ビューのプライマリ データ ソースからのリンク フィールドを使用することによって、リンクをアクティブにできます。
セカンダリ データ ソースにプライマリ データ ソースへのリンクがない場合もあります。[データ] ペインでリンク アイコンを探してください。Tableau では、同じ名前を持つフィールドが自動的にリンクされます。同じ名前のフィールドがない場合はフィールド間でリンクを定義する必要があります。詳細については、データのブレンドを参照してください。
プライマリ接続とセカンダリ接続は、同じデータ ソースの表のものです
セカンダリ データ ソースからビューにフィールドをドラッグすると、次のような警告が表示されることがあります。
プライマリ接続とセカンダリ接続は、同じデータ ソース内の表のものです。接続をリンクさせる代わりに、[データ] メニューを使用してデータを結合します。結合により、多くの表からのデータを統合でき、パフォーマンスとフィルターリングを改善する場合があります。
この警告は、同じデータベースに接続する別のデータ ソースがワークブックに含まれている場合に発生します。このようにデータを組み合わせることもできますが、同じデータベースのデータを組み合わせる際は結合やリレーションシップを使用することをお勧めします。これにより、ブレンドでは実現できない仕方でデータベースのネイティブ最適化機能の一部を利用できます。
1 つ以上のフィールドがサポートされていない集計を使用しているため、セカンダリ データ ソースをブレンドできません
データ ブレンドには、COUNTD、MEDIAN、RAWSQLAGG などの非加算的集計に関する一部の制限があります。非加算的集計は、ディメンションに沿って集計できない結果を生成する集計関数です。代わりに、値を個別に計算する必要があります。数値関数は、MAX および MIN を除いてすべて非加算的集計です。詳細については、Tableau 関数 (カテゴリ別)を参照してください。
これらの制限により、特定の状況下においてビューの特定のフィールドが無効となります。これらの無効なフィールドのいずれかをマウスでポイントすると、次のエラーが表示されます。
1 つ以上のフィールドがサポートされていない集計を使用しているため、セカンダリ データ ソースをブレンドできません。
このエラーは、次のいずれかの理由で発生する場合があります。
プライマリ データ ソースからの非加算的集計:一時テーブルの使用を許可するリレーショナル データベースのデータ ソースを使用している場合、非加算的集計はプライマリ データ ソースでのみサポートされます。この問題を回避するため、データ ソースの抽出を作成することを検討してください。抽出は一時テーブルをサポートします。
セカンダリ データ ソースからの非加算的集計: プライマリ データ ソースからのリンク フィールドがビューに含まれている場合、また、セカンダリ データ ソースからの非集計ディメンションがビューに含まれていない場合、非加算的集計はセカンダリ データ ソースでのみサポートされます。一部の数値関数は、加算集計が含まれていても使用できます。たとえば、ROUND([Sales],1) の代わりに ROUND(SUM([Sales]),1) を使用します。
ライブ接続を使用するマルチ接続データ ソースからの非加算的集計:ライブ接続を使用してデータに接続するマルチ接続データ ソースは、一時テーブルをサポートしていません。そのため、ライブ接続を使用してデータに接続するマルチ接続データ ソースを使用する場合、ブレンド機能と非加算集計を共に使用することは禁止されています。この問題を回避するため、マルチ接続データ ソースの抽出を作成することを検討してください。抽出は一時テーブルをサポートします。
セカンダリ データ ソースの LOD 式: このエラーは、データ ブレンドを使用するビューで詳細レベルの式を使用する場合にも発生します。エラーを解決するため、セカンダリ データ ソースの LOD 式を使用する前に、プライマリ データ ソースのリンク フィールドがビュー内にあることを確認し、セカンダリ データ ソースからディメンション (ディメンション フィルターを含む) を削除してください。
論理テーブルを含むデータ ソースは、データ ブレンドのセカンダリ データ ソースとして使用できません。
セカンダリ データ ソースは、次の条件が満たされている限り、論理結合を使用できます。
- プライマリ データ ソースからのアクティブなリンク フィールドはすべて、フィルター シェルフ以外のシェルフのビューに含まれている必要があります
- ディメンションを含む、セカンダリ データ ソースからのすべてのフィールドが集計されます
シート内にアスタリスクが表示される
データをブレンドする場合、プライマリ データ ソースの各マークに対して、一致しているセカンダリ データ ソースの値が 1 つのみであることを確認してください。一致する値が複数ある場合、データをブレンドした後、結果のビュー内にアスタリスクが表示されます。
たとえば、"Population (人口)" と "Superstore (スーパーストア)"という 2 つのデータ ソースがあるとします。プライマリ データ ソースである "Population (人口)" には、"State (州)" と呼ばれるフィールドがあります。セカンダリ データ ソースである "Superstore (スーパーストア)" には、"State (州)" および "Segment (セグメント)" と呼ばれるフィールドを含みます。セカンダリ データ ソースの各州には、複数のセグメントがあります。たとえば、"Alabama (アラバマ)" には、"Consumer (消費者)"、"Corporate (企業)"、および "Home Office (ホーム オフィス)" の 3 セグメントがあります。
プライマリ データ ソース | セカンダリ データ ソース |
2 つのデータ ソースを [State (州)] フィールドでブレンドする場合は、(プライマリ データ ソースで) 個々の州の値が (セカンダリ データ ソースで) 複数のセグメント値を持つことができるリンクを作成します。この場合、プライマリ データ ソースの対応する各状態値に対し、セカンダリ データ ソースに複数のセグメント値があるため、次のイメージのように、ビューにアスタリスクが表示されます。
ブレンドされたデータ
シート内のアスタリスクを解決する
プライマリ データ ソースの各マークに対して、一致しているセカンダリ データ ソースの値が 1 つのみであることを確認してシート内のアスタリスクを回避します。確実な方法は作成しようとしているデータとビューによって異なりますが、次で提案するいずれかの方法でシート内のアスタリスクを解決することを検討してください。
詳細レベルがより高いフィールドを、プライマリ データ ソースからシートに追加します。
たとえば、上記で使用した例に類似するビューを使用しているとします。"City (市)" などのフィールドは、その値が "State (州)" のようなフィールドより詳細レベルが高いことから、シートへの追加を検討します。
プライマリとセカンダリのそれぞれのデータ ソースを切り替えるためにビューを再作成します。一般に、値の詳細レベルがより高いデータ ソースをプライマリ データ ソースにする必要があります。
たとえば、上記で使用した例に類似するビューを使用しているとします。"Superstore (スーパーストア)" をプライマリ データ ソースにして、"Population (人口)" をセカンダリ データ ソースにすることを検討します。
データ ソースのブレンド後に NULL 値が表示される
データ ブレンドを使用する場合、ビューの必要なデータの場所に NULL 値が表示されることがあります。NULL 値が表示される理由は、いくつかあります。
プライマリ データ ソースの対応する値に対する値が、セカンダリ データ ソースに含まれていない。
ブレンド対象のフィールドのデータ型が異なっている。
プライマリ データ ソースとセカンダリ データ ソースの値が、異なる大文字と小文字を使用している。
データ ブレンドは、リンク フィールドに基づき、プライマリ データ ソースのデータをセカンダリ データ ソースのデータで補完することによって機能します。つまり、Tableau はプライマリ データ ソースのすべてのデータと、セカンダリ データ ソース内の対応する一致のみを取得します。Tableau は、プライマリ データ ソースにもの対応する値に対し、セカンダリ データ ソース内の一致する値を 1 つも識別できない場合、NULL 値を表示します。
この問題を解決するには、次の手順を行います。
セカンダリ データ ソースにデータを挿入する:セカンダリ データ ソース内に欠落しているデータを挿入し、プライマリ データ ソース内のすべてのレコードが一致するデータを持つようにします。たとえば、プライマリ データ ソースに米国の 50 の州すべての値が含まれ、セカンダリ データ ソースには米国の 30 の州の値のみが含まれるとします。この問題を解決するには、セカンダリ データ ソースの参照元データ セットに米国の残りの 20 州の値を追加します。あるいは、参照元データを変更できないときは、フィールドをプライマリ データ ソースに取り込むまたはデータ ブレンドを使用してフィールドの値に別名を付けるを実行し、NULL 値を回避できる場合があります。
プライマリ データ ソースとセカンダリ データ ソースの値のデータ型が一致していることを検証する。たとえば、両方のデータ ソースでブレンドに使用するフィールドの文字列を使用するか、両方のフィールドに数値が含まれる必要があります。数字を含むフィールドと文字列を含むフィールドをブレンドすることはできません。
プライマリ データ ソースとセカンダリ データ ソースの値の大文字と小文字が一致していることを検証する。1 つのデータ ソースが大文字と小文字の名前の両方を使用し、別のデータ ソースが大文字のみを使用している場合、NULL 値が表示されます。詳細については、「データをブレンドするときに Null が表示される」を参照してください。
データ ソースをパブリッシュした後のブレンドの問題
2 つのデータ ベースをブレンドするフィールド レベルのカスタマイズを作成する場合、カスタマイズはデータ ソースの 1 つ、プライマリ データ ソースに基づいて行われます。次に、プライマリ データ ソースやセカンダリ データ ソースが Tableau Server や Tableau Cloud にパブリッシュされると、カスタマイズを含む (例:セカンダリ データ ソースへの参照を含む) プライマリ データ ソースは機能しなくなります。プライマリ データ ソースとセカンダリ データ ソースの間のブレンド関係が失われるため、カスタマイズは機能しなくなります。これは、プライマリ データ ソースとセカンダリ データ ソースの間のブレンド関係がワークブック レベルで定義されているためです。
たとえば、"Store - Main (ストア - メイン)" および "Store - West (ストア - 西部)"。プライマリ データ ソース ("Store - Main (ストア - メイン)") の合計売上高と、セカンダリ データ ソースの合計売上高 ("Store - West (ストア - 西部)") と組み合わせたフィールド レベルのカスタマイズ (計算など) を作成します。Tableau Server または Tableau Cloud にデータ ソースをパブリッシュするとすぐに、"Store - Main (ストア - メイン)" の計算は機能しなくなります。これは、計算が、場所がまだ決められていないセカンダリ データ ソースの "Store - West (ストア - 西部)" を参照しているためです。
このシナリオを回避するには、次の方法を使用します。
フィールド レベルのカスタマイズを作成する前に、まず各データ ソースをパブリッシュします。
各データ ソースに接続します。
必要なフィールド レベルのカスタマイズを含むワークブックを作成します。
ワークブックを Tableau Server にパブリッシュします。
このワークブックを "テンプレート" として使用し、自分や他のユーザーによって共有およびダウンロードできます。
キューブ (多次元) データ ソースとのブレンド
キューブ データ ソースは、Tableau でデータをブレンドするためのプライマリ データ ソースとしてのみ使用できます。それらをセカンダリ データ ソースとして使用することはできません。
その他のデータ ブレンドの問題
データをブレンドするときに発生する他の問題については、次のリンクを参照してください。
計算フィールドでの並べ替えの問題については、「データ ブレンドされたメジャーでフィールド別の並べ替えを利用できない」を参照してください。
計算された並べ替えの問題については、「データ ブレンドを行う際にツール バーで並べ替えオプションを利用できない」を参照してください。
セカンダリ データ ソースのフィールドを URL アクションに追加することはできません。「ブレンドされたデータ ソースからのフィールドを URL アクションで利用できない」を参照してください。
アクション フィルターは期待どおり動作しません。「アクション フィルターとブレンドされたデータを使用すると期待どおり動作しない」を参照してください。
ビュー内の各日付値の後に合計を複製します。「日付フィールドのブレンドに関する問題」を参照してください。
参照元のデータがブレンドされたデータとは異なる値を示します。「Underlying Data from Secondary Data Source Not Displayed or Consistent with Blended Data (セカンダリ データ ソースからの参照元のデータが表示されないかブレンドされたデータと異なる)」を参照してください。