truestarの大滝です。
今回はWorkoutWednesday2020 Week41の課題を解説していきます。
1.WorkoutWednesday Week41について
今回はそれぞれのディメンションにリファレンスラインを追加する事が出来るか という課題でした。
言葉だけだと難しいと思うのでさっそく見ていきましょう。
データセット: ここからダウンロードできます。
・ダッシュボードサイズ 1100px x 500
・シートの数はあなた次第(課題自体は4シートで作成されていました)
・四半期ごとの折れ線をカテゴリ別で作成し、パラメータで切り替えられるような仕組みで作成する
指標
1.利益率 2,オーダーごとの売上 3.オーダーごとのアイテム数
・四半期ごとの折れ線グラフには各カテゴリにリファレンスラインが必要で、右側のボックスの値と一致している必要があります。
・右側にランク順でボックスを作成する(上から下、左から右の順位) これはパラメータを変更したときに順番が変更されます。
・折れ線フラフの書式とボックスの書式を一致させる
・リファレンスラインはカテゴリの色と一致させる
・ボックスのツールヒントにランクを入れる
・折れ線のラベルは最大と最小の値を表示させる
・アニメーションはONにしてね
(公式サイトを翻訳)
STEP1(折れ線グラフの作成)
1.Select Measure
パラメータを作成し、指標を切替られるようにしましょう。
2.Case文で1.のパラメータで選択した指標が表示されるようにします。
Selected Measure
CASE [Select Measure]
WHEN 1 THEN [Profit Ratio]
WHEN 2 THEN SUM([Sales])/COUNTD([Order ID])
WHEN 3 THEN SUM([Quantity])/COUNTD([Order ID])
END
3.列に四半期ごとのOrder Dateを入れ、行に2.で作成した"Select Measure",色にカテゴリを入れます。
4.ラベルに使用する計算式を作成します。
Metric Format
CASE [Select Measure]
WHEN 1 THEN STR(ROUND(ROUND([Selected Measure],4)*100,1))+"%"
WHEN 2 THEN "$" +(REGEXP_REPLACE(STR(ROUND([Selected Measure],0)),"(\d)(?=(\d{3})+$)","$0,"))
WHEN 3 THEN STR(ROUND([Selected Measure],2))
END
2行目はROUNDして"%"を足す、4行目はROUNDのみなので単純なのですが、
3行目がREGEXP_REPLACEと正規表現を使っているのですが、正規表現がよく分からず…
私の上司&エキスパートの平井が正規表現部分を分解してくれました。
Posted By T.Hirai
5.リファレンスラインで使用する計算式を作成します。
オリジナルのワークブックはカテゴリごとに計算式を3つずつ作成していましたが、3つにまとめることも可能です。
単位がそれぞれで異なるため、9つ計算式を作成する必要がありました。
Furniture REF %
CASE [Select Measure]
WHEN 1 THEN
SUM(IF [Category]=’Furniture’
THEN [Profit]
END)
/
SUM(IF [Category]=’Furniture’
THEN [Sales]
END)
END
Furniture REF $
CASE [Select Measure]
WHEN 2 THEN
SUM(IF [Category]=’Furniture’
THEN [Sales]
END)
/
COUNTD(IF [Category]=’Furniture’
THEN [Order ID]
END)
END
Furniture REF #
CASE [Select Measure]
WHEN 3 THEN
SUM(IF [Category]=’Furniture’
THEN [Quantity]
END)
/
COUNTD(IF [Category]=’Furniture’
THEN [Order ID]
END)
END
6.5.で作成した計算式を詳細に入れ、9つリファレンスラインを追加します。
そうすると↓のような感じになると思います。
STEP2(画面の右側の作成)
この3つは作りがほぼ一緒でフィルタにかける値が違うだけです。
1.列に"MIN(1)"を入れ、軸の編集で開始値と終了値を0と1にします。終了値を合わせてば()の数値はなんでも大丈夫です
2.行にカテゴリとINDEX()を入れ,色にカテゴリ、ラベルにSTEP1で作成した"Metric Format"とカテゴリを入れます。
3.昇順で各シート各1~3位の値が表示されるように、INDEX()をフィルタに入れます。
※2020.3以降アドホック計算からフィルタに追加する機能が無くなったそうです。なので別途計算式を作成し対応しました。
フィルタの違うシートを3つ作成します。
STEP3(ダッシュボード構築)
STEP1~3までを組み合わせてダッシュボードを作成しましょう
詳細は省きますが、レイアウトコンテナはこんな感じです。
WorkoutWednesday2020 Week41の課題を解説していきました。
是非お時間ありましたらチャレンジしてみてください。
【メンバー募集中】
株式会社truestar採用サイト https://en-gage.net/truestar/