見出し画像

MakeoverMonday 2022-46

Tableau修行目的で取り組んでいる、MakeoverMondayにて学んだこと・苦労したことの備忘録です。
MakeoverMondayの概要や参加方法などについては、「Makeover Monday 参加方法ガイド」にて分かりやすく解説されています。

今回のテーマ : How much does cocaine cost around the world?

The Economist より。全文参照は登録必要ですが、無料で登録できました。

コカインは中毒性だけでなく収益性が高いため、特に米国などの豊かな国を相手に、依然としてギャングの収入の主要な部分を占めている、、、という内容でした。

分析のポイント

「コカインやヘロインの収益性が、どのように推移しているか?」
と仮定。

出来たViz

Vizイメージ 完成版  Tableau Public での公開先は こちら

Viz作成の経緯

データがあるのは米国含め18国。せっかくなので米国だけでなく全ての国の情報を一覧で見てみたい、ということで最初に作ったVizがこんな感じ。

Vizイメージその1

まずは各国のグラフを3行x6列に配置し、灰色の卸値(Wholesale Price)とオレンジの小売値(Retail Price)で年毎の線グラフに。国名は線グラフの最大値で表示。
確かに米国(左上のグラフ)では卸値と小売値の差がだんだん開いてきている(つまり利益が多くなっている)のが分かるのですが、よく見ないと判らない、、、。
そのため、小売値-卸値でざっくり計算した利益(Profit)をスロープチャートで追加したVizがこんな感じ。

Vizイメージその2

だいたい出来たかな、と思って対象年などのパラメータをいじっていると、不具合発覚、、、。
2000年以降のヘロインで表示したら「Luxembourg」のラベルが2つでてしまい醜い!おなじ最大値が2つあると、こうなってしまう模様。

Vizイメージその3

これを回避するために、下記内容の計算フィールド「MaxPrice+a」を線グラフに追加。

running_max(max({exclude[Country]:max([Retail Price /kg])})) 
+
iif(last()=0,10000,0)

running_maxを表(横)で行い「過去の小売値の最大値」を毎年入れて、さらにlast()=0(つまり最後の年)に10000を加算することで、
「最終年が小売値の最大値+10000」になる線グラフにしています。
判りにくいですが下図の赤線のイメージです。(完成Vizでは白線にしてます)
これをexcludeで国(Country)フィルタを外して行うことで、全ての国の小売値の最大値+10000が最終年に計上されて、全ての国の国名が同じ右上に表示されるようになりました。

Vizイメージその4

さらに、完成したので公開しようとした直前、さかぴーさんのtwitter を見て「スロープチャートの上り下りを色などで表現できる」ことを知り、これをアレンジして「上りのスロープチャートを太くする」よう改造して、終了。

備忘録

・学んだ技術
  グラフをn行xm列で配置する方法
  スロープチャートの描画
  スロープチャートの上り下り判定
・ラベルのオプション「ラベル最大値」に注意
  同じ最大値が2つ以上あると、それぞれにラベル表示される

この記事が気に入ったらサポートをしてみませんか?