Workout Wednesday記録【2023 W48】
はじめに
DATA Saber - Bridge 2ndに参加中のタブミです。
ここで学んだ知識を活かして、Workout Wednesdayに挑戦しています。
ここではお題のVizの作成方法をまとめています。
チャレンジしたお題について:2023 Week 48
お題はこちらです。
こちらは一人では解決できず、掲載された解説を見ながら取り組みました。
工程を以下にまとめます(長めなので、休み休み進めてくださいね)。
Viz作成
1. Measure Selector(Sales / Profit / Quantityボタン)
パラメータの作成(Measure)
Sales / Profit / Quantityのボタンを文字列で認識する用の文字列パラメータ(全て)

Sales / Profit / Quantityボタン作成
[Segment]を列に入れ、手動で列にMIN(1)を入れる。
Measure Selector Alias
CASE [Segment]
WHEN 'Consumer' THEN 'Sales'
WHEN 'Corporate' THEN 'Profit'
ELSE 'Quantity'
END
これをラベルに入れ、軸の範囲を0~1にし、ラベルを中央配置にするとSales / Profit / Quantityの文字が表示される。

Is Measure Selected
[Measure Selector Alias]=[Measure]
これを色に入れ、選択した時としていない時で色分けをします。
Measure Selected Arrow
IF [Is Measure Selected] THEN '▶' END
これをラベルに追加し、赤文字にすると、キャプチャのように選択されたものだけが▶Salesという表示になります。

軸の分割線やゼロ線を消し、列のペインに白い線を入れることで、セルが分割されます。
2. Year Selector(オーダー年ボタン)
やり方はMeasure Selectorとほぼ同じです。
パラメータの作成(Year)
オーダー年のボタンを数字で認識する用の数字パラメータ(全て)

Current Year
{MAX(YEAR([Order Date]))}
これでデータ上で最新の2023年を出すことができます。
Comparison Year
IIF(YEAR([Order Date])<>[Current Year],YEAR([Order Date]),NULL)
もしもオーダー年が2023出ない場合はその年を表示し、2023の場合はNULLとします。
オーダー年ボタン作成
列にComparison Year, MIN(1)を入れ、フィルタでNULLを除外します。
ラベルに[Comparison Year]を入れ、Measure時と同様に軸の調整をします。

Is Selected Year
[Comparison Year]=[Year]
Measure同様、色に入れて選択時の色分けをします。
Year Selected Arrow
IF [Is Selected Year] THEN '▶' END
Measure同様、ラベルに入れて選択時に▶表示します。

3. Current Year(2023年表示)
列にMIN(1)を入れ、[Current Year]をラベルに入れ、色を調整することで、2023の表示が完成します。

4. Bar chart(メインチャート)
Measure to Display - Current Year
IF YEAR([Order Date])=[Current Year] THEN
CASE [Measure]
WHEN 'Sales' THEN [Sales]
WHEN 'Profit' THEN [Profit]
ELSE [Quantity]
END
END
2023年の場合のMeasure表示分けを書きます。
Measure to Display - Comparison Year
IF YEAR([Order Date])=[Year] THEN
CASE [Measure]
WHEN 'Sales' THEN [Sales]
WHEN 'Profit' THEN [Profit]
ELSE [Quantity]
END
END
オーダー年がYearパラメータの数字の場合、その年のMeasureを表示します。
Measure to Display - Comparison Yearは複製しておきます(後述で使用)。
行にサブカテゴリ、メジャーネーム
列にメジャーバリュー、先ほど複製した[Measure to Display - Comparison Year]を並べ、二重軸・軸の同期の設定をします。
メジャーバリューには[Measure to Display - Current Year]と[Measure to Display - Comparison Year]を置きます。
メジャーバリューは棒グラフ、複製Comparison Yearはガントチャートにします。

Difference
SUM([Measure to Display - Current Year])-SUM([Measure to Display - Comparison Year])
これをガントチャートのサイズに置くことで、Current YearとComparison Yearの差分がサイズで表示されます。

差分のラベル表示は、[Difference]と後述の[%Difference]をラベルに置きます。
[Difference]の数値形式のカスタム設定で+#,##0;-#,##0と入力することで+xxxx ~ -xxxxの表記になります。

%Difference
[DIfference]/SUM(Measuer to Display - Comparison Year)
この数字は▲x.x%~▼x.x%で表示したいので、数値形式のカスタム設定で▲0.0%;▼0.0%と入力します。

Difference Color
[Difference]>0
これを色に置くことで、差分による色分けができます。
最後にヘッダーを除いて、カラム名のフォントや配置を整えます。
5. ダッシュボード作成
水平コンテナにCurrent Year, Year Selector, Measure Selectorシートを配置し、下の垂直コンテナ内にbar chartシートを置きます。
True
TRUE
False
FALSE
これらの計算フィールドを作成し、両方ともYear Selector, Measure Selectoシートそれぞれの詳細カードに置きます。
ダッシュボードアクション
1. Select Measureパラメータ
Measure Selectorシートの[Measure Selector Alias]を選択したら、Measureパラメータが動く

2. Yearパラメータ
YearSelectorシートの[Comparison Year]を選択したら、Yearパラメータが動く

3. Measure フィルタ
他のMeasureを選択した時、現在選択しているものを解除するため
Measure SelectorシートのTrueにFalseを渡します。

4. Year フィルタ
他のYearを選択した時、現在選択しているものを解除するため
Year SelectorシートのTrueにFalseを渡します。

これでダッシュボードが完成です、、!!

個人的には構成がとても複雑で、一度では完全に理解できていないので、復習を重ねていきたいと思います!