#WOW2024 | Week 9 | KPIボードの作成

はじめに

Data Saber挑戦中のroです。
今回はパブリック課題の第二弾としてWork Out Wednesday (WOW) のWeek 9(リンク)にチャレンジしましたので、「あっ、これData Saberでやったところだ!」ということを備忘録的に残します。

https://workout-wednesday.com/2024w9tab/

作成したviz

右上のドロップボックスから対象期間を選択すると、当期と前期を比較した結果が表示されます。
見た目は単純ですが、背後には多くの計算フィールドやパラメーターが作成されています。

データセット

こちらからダウンロードできます。
・FY Orders.csv

使用データの中身を見てみる

viz作成用にきれいに整備されたデータです。期間、売上、利益、数量(販売量?)が入ってます。
データサイズ:4列×12行

vizの作成を通じた学び(作り方)

1.差分の作成

まずパラメーターを作成します。

続いて、当期と前期の売上、利益、数量をカテゴリ別に表示するために、計算フィールドを使って期間ごとのデータを取得する方法を説明します。
・当期_XX
WINDOW_MAX(SUM(IF [期間] = [期間のパラメーター] THEN [XX] END))
・前期_XX
WINDOW_MAX(IF MIN([期間]) = [期間のパラメーター] THEN LOOKUP(SUM([XX]),-1) END)
LOOKUP関数は前の1行(-1)からXXの値を取得します。

選択した期間の当期と前期の数値を取得

当期と前期の値を取得することができたので、次に%の差を計算します。
・前期比_XX
([当期_XX]-[前期_XX])/[前期_XX]
この計算では、ある項目の「前期」から「当期」への変化率(増減率)を示しています。例として、前期の売上が100で、当期の売上が120だとすると、20%増とした計算結果が返されます。

% 値の変化に応じて上矢印(↑)または下矢印(↓)を表示します。それぞれを異なる色で表示するためには、2つの計算フィールドを作成し、それぞれに条件付きで矢印と色を割り当てることができます。
・矢印_XX+
IF [前期比_利益] >= 0 THEN "▲" END
・矢印_XX−
IF [前期比_利益] < 0 THEN "▼" END
作成したフィールドを行に追加します。プラスかマイナスで、どちらか一方のマークが表示されました。

P12は売上が減少したため▼が表示される

選択した期間の前期がいつを示しているのか表すフィールドを作成します。作成したフィールドはKPIボードに使用します。
・前期
WINDOW_MAX(IF [期間のパラメーター] = MIN([期間]) THEN LOOKUP(MIN([期間]),-1) END)

最後に、1行だけ表示させる計算フィールドを作成します。作成したフィールドをフィルターにし、選択した期間(真)のみ表示させます。
・選択した期間のフィルター
[期間のパラメーター] = LOOKUP(MIN([期間]),0)

以上で全ての計算フィールドがそろいました。
続いて、KPIボードを作成します。

2.KPIボードの作成

作業の初めに列をダブルクリックし、MIN(0) と入力します。これをさらに2回繰り返すことで、3つの「MIN(0)」の軸が作成されます。これにより、3つの異なるマークカード(表示要素)を個別に操作できるようになります。
次に、「すべて」のマークで「期間」フィールドを詳細シェルフに追加します。これにより、データが期間ごとに詳細に表示されるようになります。

次にマークの種類を「図形」に変更します。
さらに透明な図形を選択することで、データの視覚的要素を透過させ、不要な部分を表示させない設定にします。

それぞれの集計(MIN(0))に売上、利益、数量でそれぞれ該当するフィールドをラベルに追加します。
ラベルを表示する際に、選択した期間に合った正しいデータが表示されるようにするためには、すべてのフィールドに対して下図の設定が必要です。


最後に

KPIボードで最後に表示させたいフィールドを全て作成する必要があり、コツコツと作成する作業が大変でした。
難しい内容は無く、割とスムーズに作れたかなと思います。

いいなと思ったら応援しよう!