【Tableau】 属性って、なあに?

「属性」について調べたので備忘録です。

先に結論から書くと、ディメンションは「カテゴリごとの売上」のように、切り口を増やす(スライスする)のに対し、
属性は、ただのラベル。スライスするわけでもない(=つまり、詳細レベルに影響を与えない)。

やりたいこと

サブカテゴリの売上でランキング(四半期単位での推移)したこのビューを、

図1:サブカテゴリの売上でランキング(四半期単位での推移)

そのサブカテゴリが属するカテゴリで、色塗りしたい。(サブカテゴリランキングのままで、「全期間のうち、例えば家具カテゴリは何回1位をとっているか」を知りたい)

そんなとき役立つのが属性。

この状態で、カテゴリをそのまま(=ディメンションのまま)入れるとぐちゃぐちゃになってしまう。
理由は・・・、詳細レベルに影響を与えてしまうから。

ビューの詳細レベルは、ビューのディメンションとメジャーデータから、データの粒度を参照します。

https://help.tableau.com/current/pro/desktop/ja-jp/datafields_typesandroles.htm
図2:ディメンションのビューの詳細レベルへの影響(ヘルプより引用)

なので、属性を使う。(カテゴリを、属性として、色に入れる。)

属性を使うには、カテゴリを色へ Option+ドラッグ (Macの場合。Windows は 右クリック +ドラッグ)すると、「フィールドのドロップ」メニューが開くので、「属性」を選択。

図3:カテゴリを 色へ Option+ドラッグ (Macの場合) 

カテゴリで色塗り、出来た!!😊

図4:サブカテゴリの売上でランキング(四半期単位での推移)を、カテゴリで色塗り

で、属性って?

属性 = ATTR()

ATTR() はビュー (棒、円、セルなど) で 1 つのパーティションにグループ化されている参照元データの各レコードから得たすべての値を比較し、値がすべて同じであれば、ATTR() はその値を返します。それ以外の場合、ATTR() はアスタリスク(*)を返します。

https://kb.tableau.com/articles/HowTo/when-to-use-the-attribute-attr-function?lang=ja

カテゴリは、サブカテゴリの上位層なので、サブカテゴリで分けてる1つのパーティション内のレコードはカテゴリがすべて同じ → そのカテゴリを返す。従って、きれいに色塗りが出来る。

ここで、サブカテゴリとは全く関連のない、都道府県を属性で色に入れると・・・、1つのパーティション内のレコードの都道府県はバラバラ(サブカテゴリとは関連がないので)なので、*を返す。

図4:サブカテゴリの売上でランキング(四半期単位での推移)に、都道府県を属性で色に入れた

とりあえずここまでは理解できた 🙌

参考

いいなと思ったら応援しよう!