
WOW2024 W1をやってみた
初めて全部自力で作成できた思い出深いWOWです。
今回のポイントは「ガントチャート」と「リファレンスバンド」でした。
▼実際のVizはこちら
任意のポイントから線を引く:ガントチャート
今回のVizのメインは、線と丸の組み合わせのいわゆる「ロリポップチャート」です。
これまで作ったことのあるロリポップチャートは同じメジャーに対して棒グラフと丸のグラフを作って2重軸にするという手法でした。


でもこれだと棒グラフが「量」の情報しか持たない(「位置」情報を持たない)ので、棒部分のスタート地点を自由に設定できません。
今回のように各PayLebelの平均を起点にその差(位置と量)を表そうとした時の出番がガントチャートです。
いつものサンプルスーパーストアでサブカテゴリごとに「売上平均」と「カテゴリごとの売上中央値との差」をガントチャートを使って表現してみるとします。
まずは、「カテゴリごとの売上の中央値との差」を以下の計算式で算出します。
▼カテゴリごとの売上の中央値
{ FIXED [Category] : MEDIAN ( [Sales ]) }
▼カテゴリごとの売上の中央値との差
AVG ( [Sales] ) - MIN ( [カテゴリごとの売上の中央値] )
※中央値との差なのでSalesは平均
※[カテゴリごとの売上の中央値]を集計値にするためMINを使用
[カテゴリ][サブカテゴリ]を[行]に入れて、[カテゴリごとの売上の中央値]を[列]に入れます。
マークカードで[ガントチャート]を選択すると、この時点で、カテゴリごとに売上の中央値に配置されます。
※分かりやすいようにカテゴリごとの売上の中央値に赤いリファレンスラインを表示させています。

次に、マークカードの[サイズ]に[カテゴリごとの売上の中央値との差]を入れると、[カテゴリごとの売上の中央値]を起点に中央値との差が「量」として表示されます。
カテゴリごとに起点が違うのがミソです。

ロリポップチャートにするために[売上(平均)]を[列]に入れて、マークカードで[円]を選択します。

最後に2つのグラフの2重軸にして軸を同期させると、起点が違うロリポップチャートの完成です。
「売上平均」を丸で、「カテゴリごとの売上中央値との差」を棒で表現できています。
