[TableauTips]小計・累計のマークに色を付ける方法
やりたいこと:小計・累計のマークに色を付けたい
Vizを作る時に小計・累計にだけ色を付けて表現したいことがある。
しかしながら、これが意外と分からない。
例えば背景を書式設定で変えることはできるが、
マーク(棒グラフ)に対して色を付けるのがぱっとできない。
しかしちょっと工夫すれば以下のように色付けが出来る。
このように小計(や累計)に対して色を付けるテクニックを紹介する。
今回は色んな方法を書いたのでぜひ勉強がてら見てほしい。
やり方:表計算を使った計算式を使う
まず割と簡単で応用が効く方法から。
①計算式で「size()」を入れる
②不連続にして色を入れる(連続だとうまくいかない)
先ほどの作例ならばこんな感じになる
sizeとは本来は要素数を返してくれる表計算である。
詳しい仕組みは分からないが、小計に対して適用すると小計の数を返す。
なので普通の要素は「48」、小計は「4」と数の違いが出るため、
違う色を塗り分けることができる。
なお本Vizでは出てないが累計ならば「1」になるので違う色にもできる。
他のやり方:違う表計算を使う
基本的に上記の方法でいいだろうが、別解がいくつかある。
このViz以外では他のやり方の方がいいかもしれない。
頭の体操がてら、4つやり方を紹介しよう。
①Window関数を使う
size()とほぼ同じことがWindow関数(1)で出来る
②Max関数、Min関数を使った計算式を使う
最大値と最小値が一致しない、というちょっと不思議な計算式を使う。
これは小計の時の最大値・最小値が一致しない仕様を突いたものである。
③ディメンションをそのまま持ってくる
列にある「月(オーダー日)」をCtrlキーで複製しながら色に持ってくる。
すると月と合計の塗り分けが出来る。後は色を要望に応じて変えてほしい。note書くために検証して気が付いたが、これが一番直観的な方法かなぁ・・
④公式の実装方法について(非推奨)
公式のナレッジベースではこういうやり方を推奨している。
①各要素と合計を切り分ける計算式を作る
②色と「列」に入れる(列に入れないと失敗する)。
なお列に入れたものはヘッダー非表示にしてもいい。
しかしこの計算式を作らずとも、「カテゴリ」が色と列にあれば
色を塗り分けられるので、このやり方を個人的にはおススメできない。
余談:この記事をかいたきっかけ
この記事を書くきっかけになったのは、あるTwitterの投稿である。
このTweetに寄せられた意見をまとめたのがこのnoteである。
(僭越ながら私もアイディア投稿させていただいた)
私一人ではやり方は全然思いつかなかったし、いい勉強になった。
何より、こういう謎解きや交流はすごく楽しい。
これがコミュニティ活動の効用なのだと思った。
もしもっと他にいい方法があればTwitterで連絡いただけると助かります。
ご意見・ご感想もお待ちしています。どうぞお手柔らかに・・
ついったーはこちら⇒https://twitter.com/minoru_tech