WOW2024 Week09で棒グラフの表現の幅を広げるTips「重複棒グラフ」「ラインマーカー」
久しぶりになってしまいましたが、PowerBIのWorkout Wednesday 2024 Week09に参加しましたので、そこで学んだTips集を作りました。
WOWについては以前記事を書きましたので、そちらも確認ください。
このリンクから挑戦することができます。
2024 Week 9 | Power BI: Use Bar Overlap and Border Formatting – Workout Wednesday (workout-wednesday.com)
簡単に要件を日本語にまとめると、
要件:
1まずはData.World(https://data.world/mlongoria/wow2024wk9)でデータを取得
2重複棒グラフを作成し、今期売上[cy]と予算[goal]を比較。このとき売上と予算の差が色で分かるようにする。(グラフ1)
3スタックされた棒グラフを作成し、各カテゴリの各四半期ごとの売上構成比を出す。(グラフ2)
4前年比の折れ線グラフを作成し、差異が正か負かでマーカーの色を変える。(グラフ3)
5最後にレポートの見やすさを担保するために、色彩のコントラストをチェックする。
この記事では、2~4のグラフ作成のポイントに絞って解説します。
答えのファイルダウンロード先(English)はこちら
Workout Wednesday 2024 Week 9: Use the New Bar Ove... - Microsoft Fabric Community
では早速グラフ1からポイントを解説します。
グラフ1:重複棒グラフ
作成方針:2本の縦棒グラフを重複させて表示する
まずは必要な計算式を作ります。
・今期売上=Sum('OTC Sales'[CY])・今期予算=Sum('OTC Sales'[Goal])
棒グラフができたら、次に、書式をセットしていきます。
ビジュアルの書式設定での主な設定
① 凡例削除
② 列〉で、今期予算は白色にし、罫線をつける
③ 列〉系列を「すべて」にして、レイアウトを重複にチェック
カテゴリ間のスペース:60
系列間のスペース:55 に設定する
④ データラベル〉系列を今期売上にして、次の計算式を、値に入れます。なお、計算式は書式を%に設定します。
プラス値予算達成率% = var _varvalue = Divide([売上-予算], [今期売上]) //達成率の計算 var _result = if([売上-予算]> 0, BLANK(), _varvalue) //予算達成なら、表示する RETURN _result
⑤ 同様に、データラベル〉系列を今期予算に変えて、今度は次の計算式を値に設定します。
マイナス値予算達成率% = var _varvalue = Divide([売上-予算], [今期売上]) //達成率の計算 var _result = if([売上-予算]<= 0, BLANK(), _varvalue) //予算未達なら、表示する RETURN _result
ここまできたら、最後は、分析の追加を設定
作成する計算式は下記の4つ
・売上-予算 = [今期売上] - [今期予算]
・バー最大値 = MAX([今期予算],[今期売上]) //棒グラフのバーのMAX値
・プラス値最大 = if([売上-予算] > 0,[バー最大値]) //予算達成時は、売上の値を表示
・マイナス値最大 = If([売上-予算] < 0, [バー最大値]) //予算未達時は、予算の値を表示
誤差範囲〉系列が今期予算に対して、
オプション:有効化する
上限:プラス値最大
バーの設定
バーの色:緑、幅:10、マーカーの図形:なし、枠線の色:黒
次に、誤差範囲〉系列が今期売上に対しても、
オプション:有効化する
上限:マイナス値最大
バーの設定
バーの色:赤、幅:10、マーカーの図形:なし、枠線の色:黒
タイトル・サブタイトルや軸並び順など細かい設定をするとグラフ1が完成です。
グラフ2:四半期別 カテゴリ売上構成比
今度はグラフ2を作ります。
軸は売上実績ですが、データラベルは構成比というのがポイントです。
作成方針:カテゴリで積み上げ棒グラフを作り、データラベルに構成比を別計算で表示する。
構成比の計算は下記を使います。
構成比 = DIVIDE([今期売上], CALCULATE([今期売上], REMOVEFILTERS('OTC Sales'[category])) //カテゴリごとでの構成比
これをデータラベルに設定して、細かい書式をセットすれば完成。
グラフ3:四半期別 前年売上比
線グラフのマーカーに色を条件設定する必要があるが、本来の線グラフにこの機能がないという難問
Y軸の計算式は次を使います。
・前年売上 = SUM('OTC Sales'[py])
・前年売上比 = DIVIDE([今期売上]-[前年売上] , [前年売上])
ポイントは、
一度棒グラフで作成して色の書式を設定したあとに、線グラフにビジュアルを変更する
ことです。(トリッキーな技!!)
これによって、棒グラフの色の書式が、本来できないはずのマーカーの色の書式設定に引き継がれます。(2024/03時点)
最後に分析の設定で、0ラインに定線を入れて完成。
以上、グラフの書式設定を駆使したデザインの表現をまとめました。
今回作成したレポートはこちらに公開しています。