属性を理解する(Understand the Attribute Function)

2015/11/13 18:16 Shingo 1 Comments

こんにちは、Nanaeです。

今回は、時々気になるけどスルーしがちな「属性」について理解していきたいと思います。

早速ですが、オンラインヘルプには以下のように属性が解説されています。
・グループ内のすべての行が同じ値を持つ場合にのみ、指定された式の値を返します。
・グループ内に異なる値を持つ場合、アスタリスク (*) 文字を表示します。
・NULL 値は無視されます。

すなわち、
・値が1つ=その値が表示
・値が複数="*"が表示
ということです。

計算フィールドでの属性の説明は以下の通り。
属性をしっかり理解するために、どんな処理をしているのか計算式を確認しましょう。
IF MIN([dimension]) = MAX([dimension]) THEN MIN([dimension]) ELSE “*” END

これを見れば、同じ値が入っていればその値が表示され、そうでなければ* が表示される、という説明に納得がいきますね!

さらに理解を高めるために、以下3つの例をみてみましょう。

☆例1
都道府県と市区町村の売上を棒グラフで見てみます。

この中の市区町村を属性:attr()に変えてみます・・・

すると、ほとんどが * になりました。都道府県に対して1つしか市区町村を持っていなければ市区町村名が表示され、複数の市区町村をもっていると * が表示されます。

1つ目の棒グラフでは、市区町村はディメンションなので、メジャーを市区町村でスライス(グルーピング)しています。
2つ目の棒グラフでは、市区町村は属性であり、ただラベルとして表示されているだけでスライスしているわけではないので、左側の都道府県と1対1対応していないと表示できずに* になってしまいます。
ディメンションだとデータを分けますが、属性だと分けません。属性はただのラベルです。

☆例2
出荷モード、カテゴリ、サブカテゴリを出し、出荷モードごとにサブカテゴリの売上の比率を表示させます。

その中のカテゴリを、ディメンションから属性に変更します。

すると、値が変わりました・・・!値が全体的に小さくなっています。
分かりやすいように、それぞれに対して小計を入れてみます。


1つ目のクロス集計では、カテゴリがディメンションであればカテゴリでもスライスすることになるので、出荷モード、カテゴリの中でのサブカテゴリの割合が出ます。
2つ目のクロス集計では、カテゴリが属性なのでただのラベルとなるためカテゴリでは集計されず、出荷モードの中でのサブカテゴリの割合が出ます。

☆例3
カテゴリを色分けして、年別推移の売上合計を出しています。
ここでカテゴリをラベルに入れると、右側にラベルが出てきます。ディメンションのフィールドをラベルに入れるとこのように横に出てきます。

ラベルにあるカテゴリを属性に変えます。

各プロットにカテゴリ名が出てきました。それぞれのプロット部分で、
IF MIN([カテゴリ]) = MAX([カテゴリ]) THEN MIN([カテゴリ]) ELSE “*” END
が行われているわけです。

今度は属性のサブカテゴリをラベルに追加してみます。
カテゴリの下に * が出てきました。各カテゴリに対してサブカテゴリは複数あるので表示できず、* が表示されました。

ここまではディメンションのフィールドを入れました。
次にメジャーのフィールドから、合計(売上)と属性(売上)をラベルに入れてみます。

合計(売上)は、各プロットに対応した売上の合計値が出てきます。
一方、属性(売上)は集計しておらず、各プロットに対応する全ての値が入っています。すなわち、2011年の事務用品のプロットの中には、2011年に売れた事務用品に関する全レコードの売上が入ることになるので、表示できません。よって、*で表示されるわけです。

メジャーだと、グループ内のすべての値が同じことってほとんどないですよね。
そのため属性は、ディメンションで役立ちます!!

ここで作ったワークブックはこちら



Nanae

参考:

Interworks:ATTR() - Tableau's Attribute Function Explained
https://www.interworks.com/blog/tcostello/2014/05/15/attr-tableaus-attribute-function-explained

集計
http://onlinehelp.tableau.com/current/pro/online/ja-jp/help.htm#calculations_aggregation.html?Highlight=aggregation

データの集計
http://onlinehelp.tableau.com/current/pro/online/ja-jp/help.htm#calculations_aggregation_aggregatingdata.html

マークラベル
http://onlinehelp.tableau.com/v9.1/pro/online/windows/ja-jp/help.htm#annotations_marklables.html

1 件のコメント: