0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Tableauでウォーターフォールチャートの色を項目ごとに設定する方法

Posted at

背景

ウォーターフォールチャートの色を項目ごとに設定する方法
総計も色を設定したい

完成イメージは以下の画像。
image.png

TableauPublicでも公開中
https://public.tableau.com/views/_17280264974250/1?:language=ja-JP&publish=yes&:sid=&:redirect=auth&:display_count=n&:origin=viz_share_link

方法

まずはシンプルにガントチャートを作っていくので説明は省く
以下のような一般的なウォーターフォールチャートを作成する
image.png

色分けをするため計算式を作成し、マークカードの色にいれる

IF ATTR([サブカテゴリ]) = '本棚' THEN '本棚'
ELSEIF SUM([利益]) > 0 AND (ATTR([サブカテゴリ]) = '椅子' OR ATTR([サブカテゴリ]) = 'コピー機' OR ATTR([サブカテゴリ]) = 'アプライアンス' OR ATTR([サブカテゴリ]) = '付属品' OR ATTR([サブカテゴリ]) = '事務機器' OR ATTR([サブカテゴリ]) = '家具' OR ATTR([サブカテゴリ]) = '電話機' OR ATTR([サブカテゴリ]) = '文房具' OR ATTR([サブカテゴリ]) = '紙' OR ATTR([サブカテゴリ]) = '封筒' OR ATTR([サブカテゴリ]) = 'バインダー' OR ATTR([サブカテゴリ]) = '保管箱' OR ATTR([サブカテゴリ]) = 'クリップ' OR ATTR([サブカテゴリ]) = 'ラベル' OR ATTR([サブカテゴリ]) = '画材' OR ATTR([サブカテゴリ]) = 'テーブル') THEN '+'
ELSEIF SUM([利益]) <= 0 AND (ATTR([サブカテゴリ]) = '椅子' OR ATTR([サブカテゴリ]) = 'コピー機' OR ATTR([サブカテゴリ]) = 'アプライアンス' OR ATTR([サブカテゴリ]) = '付属品' OR ATTR([サブカテゴリ]) = '事務機器' OR ATTR([サブカテゴリ]) = '家具' OR ATTR([サブカテゴリ]) = '電話機' OR ATTR([サブカテゴリ]) = '文房具' OR ATTR([サブカテゴリ]) = '紙' OR ATTR([サブカテゴリ]) = '封筒' OR ATTR([サブカテゴリ]) = 'バインダー' OR ATTR([サブカテゴリ]) = '保管箱' OR ATTR([サブカテゴリ]) = 'クリップ' OR ATTR([サブカテゴリ]) = 'ラベル' OR ATTR([サブカテゴリ]) = '画材' OR ATTR([サブカテゴリ]) = 'テーブル') THEN 'ー'
ELSE '総計'
END

image.png

各サブカテゴリごとに条件式を用いて色を適用していく

サブカテゴリの本棚を別の色にしたかったので、まず本棚を指定する。
ATTRは非集計値を集計値に変更する上で必要

ELSEIFで+とーをそれぞれ指定する
OR以降はELSEで総計を指定するために必要であり、本棚以外の全てのサブカテゴリを指定している
イメージとしては「利益が0より大きい」かつ「カテゴリが本棚以外のどれか」
ATTR([サブカテゴリ])で総計を指定できなかったからこのように長い関数を入れている

どの条件にも引っかからなかった項目を総計と指定している

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?