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?

More than 1 year has passed since last update.

Tableauでライン付き半ドーナツグラフを作ろう

Posted at

半ドーナツグラフについて

Tableauには標準で半円のグラフを作る機能はないですが、メジャーバリューを使用し計算式を組み合わせることで実現することが出来る。
image.png

以下の計算フィールドを作成し、ドーナツグラフの色に「メジャーネーム」を、角度に「メジャーバリュー」を配置する。

Area1(第2象限のオレンジライン)

IF [割合]>=0.5 THEN [割合]-0.5
ELSE 0
END

Area2(第2象限のグレーライン)

IF [割合]>=0.5 THEN 1-[割合]
ELSE 0.5
END

Area3(第3,4象限の白いエリア)

1

Area4(第1象限のオレンジライン)

IF [割合]<=0.5 THEN [割合]
ELSE 0.5
END

Area5(第1象限のグレーライン)

IF [割合]<=0.5 THEN 0.5-[割合]
ELSE 0
END

これらを配置し、Area1,4をオレンジ(などお好みの)色に、Area2,5をグレーに、Area3を白に設定するときれいな半ドーナツグラフになる。
50%以下の場合
image.png

50%以上の場合
image.png

ライン付き半ドーナツグラフについて

これを応用してライン付き半ドーナツグラフも作ることが可能。
100%を超えているかどうかをラインを使用して分かりやすく表現することが可能。
本記事ではいくつかのパターンを共有する。

100%ラインを上部に、最大値を200%に設定するとき

image.png
image.png

計算フィールドを7つ作成する。
Line1(第1象限の赤ライン)

0.005

Area1(第2象限のオレンジライン)

IF [割合]>=1 THEN [割合]-1
ELSE 0
END

Area2(第2象限のグレーライン)

IF [割合]>=1 THEN 2-[割合]
ELSE 1
END

Area3(第3,4象限の白エリア)

1.99

Area4(第1象限のオレンジライン)

IF [割合]<=1 THEN [割合]
ELSE 1
END

Area5(第1象限のグレーライン)

IF [割合]<=1 THEN 1-[割合]
ELSE 0
END

Line2(第1象限の赤ライン)

0.005

Line1,2を赤に、Area1,4をオレンジ(などお好みの)色に、Area2,5をグレーに、Area3を白に設定するとライン付き半ドーナツグラフになる。
image.png

100%ラインを右側に、最大値を150%に設定するとき

image.png
image.png
image.png

計算フィールドを8つ作成する。
Area1(第1象限のオレンジライン)

IF [割合]<=0.5 THEN 0
ELSEIF [割合]<=1 THEN [割合]-0.5
ELSE 0.5
END

Area2(第1象限のグレーライン)

IF [割合]<=0.5 THEN 0.5
ELSEIF [割合]<=1 THEN 1-[割合]
ELSE 0
END

Line(赤ライン)

0.01

Area3(第4象限のオレンジライン)

IF [割合]<=1 THEN 0
ELSEIF [割合]<=1.5 THEN [割合]-1
ELSE 0.5
END

Area4(第4象限のグレーライン)

IF [割合]<=1 THEN 0.5
ELSEIF [割合]<=1.5 THEN 1.5-[割合]
ELSE 0
END

Area5(白エリア)

0.49

Area6(第2象限のオレンジライン)

IF [割合]<=0.5 THEN [割合]
ELSE 0.5
END

Area7(第2象限のグレーライン)

IF [割合]<=0.5 THEN 0.5-[割合]
ELSE 0
END

これらを配置し、Lineを赤に、Area1,3,6をオレンジ(などお好みの)色に、Area2,4,7をグレーに、Area5を白に設定するとライン付き半ドーナツグラフになる。
image.png

原理(簡単に)

半ドーナツグラフとして表示するための値を各領域で計算している。
その象限内の値の時はその分をオレンジラインの値として表示する。
その領域に満たない値の場合はオレンジラインを0、グレーラインをフルの値で固定、
その領域を超える値の場合はオレンジラインをフルの値で固定、グレーラインを0で固定するなどすることで、ライン付き半ドーナツグラフを実現出来ている。

おわりに

原理まで理解するとややこしいかもしれませんが、ここで用意したパターンをコピペすれば問題なく作成できるかと思います(Tableau初心者の後輩に計算フィールドだけ共有して上手く使ってもらえました)。
是非皆さんもご活用ください。

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?