#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
作成したフィールドを行に追加します。プラスかマイナスで、どちらか一方のマークが表示されました。
選択した期間の前期がいつを示しているのか表すフィールドを作成します。作成したフィールドは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ボードで最後に表示させたいフィールドを全て作成する必要があり、コツコツと作成する作業が大変でした。
難しい内容は無く、割とスムーズに作れたかなと思います。