最終修正日: 24 Aug 2022
環境
Tableau Desktop回答
ATTR() は複数の値を示す
ATTR() 集計は複数の値があることを示しますが、1 つだけと想定されていました。たとえば、2 つ以上のデータ ソースをブレンドする場合、セカンダリ データ ソースのフィールドは集計しなければいけないため、セカンダリ データ ソースのフィールドは自動的に ATTR() で囲まれます。セカンダリ ディメンションに複数の値がある場合、ATTR(セカンダリ ディメンション) では「データ ブレンドのトラブルシューティング: シート内にアスタリスクが表示される」で詳しく説明されているようにビューにアスタリスクが表示されます。
ATTR() ではなく別の集計が使用された場合、Tableau Desktop で表示される情報が誤解を招く場合があります。MIN(セカンダリ ディメンション) などでは最初のディメンション値が表示され、セカンダリ データ ソースに実際には複数の値があることを示す方法がありません。アスタリスクはリレーションシップまたはビューの調整の必要があることを示しています。
仕組み
ATTR() はビュー (棒、円、セルなど) で 1 つのパーティションにグループ化されている参照元データの各レコードから得たすべての値を比較し、値がすべて同じであれば、ATTR() はその値を返します。それ以外の場合、ATTR() はアスタリスクを返します。最もシンプルな形式では、次のような式になります。
IF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension]) ELSE "*" END
ATTR 関数は、フィールド内のすべてのメンバーを評価し、1) 単一の値しかない場合 (MIN = MAX) または 2) すべてのメンバーが等しい場合 (MIN = MAX) は値を返し、それ以外の場合は "*" を返します。 これは、「複数の値がある」と解釈できます。
基本的な ATTR 関数を構築するには、ATTR 関数をトリガーする条件を追加します。たとえば、次のようになります。
IF ISNULL ([dimension]) THEN NULL
ELSEIF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension])
ELSE "*"
END
ATTR() の使用事例
- 上の例に示すとおり、ATTR() は複数のセカンダリ データ ソースの値があることを示すことができます。
- ツールヒント上のディメンションは集計の必要があるため、[マーク] カード上のツールヒントに追加されたディメンションは自動的に ATTR() で囲まれます。MIN() のような他の集計が使用される場合、ツールヒントには単一の値が表示されるため、見る人に単一の値しかないという誤解を与える可能性があります。そのため、ATTR() ではツールヒントに追加されたビューや値の調整の必要があることを示すものとしてアスタリスクが表示されます。「ツールヒントのアスタリスク表示」を参照してください
- 他の集計と同様に、ATTR() は非集計値を集計値に変更し、計算に含まれる集計エラーを解決するために使用できます。「計算エディターでの集計エラーのメッセージ」を参照してください
数値データを返す計算に ATTR() が含まれ、ATTR() に複数の値がある場合、計算はアスタリスクではなく NULL を返します。
- ATTR() はデータの変更を防ぐための予防策として使用できます。
制限事項
- ATTR() を含む計算フィールドは動的な並べ替えの手動設定に使用できません
- ATTR() を含む計算は、ビュー内の他の場所では期待される値を返すとしても、総計では NULL を返す場合があります。「ATTR() を含む計算フィールドで総計が空白になっている (英語)」を参照してください
詳細情報
この記事についてディスカッションする... フィードバック フォーラム記事がご参考になったかどうか、フィードバックをお寄せいただきありがとうございます。
新しい問題を登録する
検索を続ける
ナレッジベース
コミュニティ
製品のヘルプ
トレーニングとチュートリアル