PowerBIでパレート図を作成する場合、Excelで作成する時と同様、
累積比率を別で計算させる必要があり、意外とやっかいです。
今回、製品別の売上データを用いてパレートグラフを作成していきます。
合計値/カウント数で累積比率をメジャーで追加できる
テンプレートコードを公開していますので、ご自身のデータで置き換えてご活用下さい!
【本記事でできること】
・パレート図の作成
・累積比率の算出テンプレートコード
・売上合計のパレート図、売上個数のパレート図作成
PowerBIを学習する上でおススメUdemyでの動画学習です。動画と一緒に使いながら学べるのでスピーディーに学習できました。※定期的にセールが開催されるので、通常時に購入するのはもったいないです。
PowerBIでパレート図の作成(ゴール)
パレート図は横軸を項目にとり、
大きい順の棒グラフと全体に対する累積比率の折れ線グラフを組み合わせたグラフです。
「主要課題が分かり、全体に対する問題の影響度を把握できるツール」
として生産現場、売上分析、品質改善などで広く活用されます。
今回は下記のような家電製品の簡単な売上データから、
PowerBI上でパレート図を作成する方法を紹介します。
■使用するデータ
各製品の売上金額がのったよくある売上データです。
売上データ(Excel)
こちらのデータを用いて、下記のような
・累積比率を計算した表テーブル
・売上合計(SUM)や売上個数(COUNT)のパレート図
を作成していきます!
PowerBI 合計値でパレート図
パレート図を作成するためには製品別の売上合計と累積比率が必要です。
売上高合計は単純な合計なので簡単に計算できますが、
累積比率は売上額の全体合計から各製品の割合の累積を計算させる必要がありややこしいです。
【参考記事】
▶PowerBIで累積計算できるメジャーの作成(テンプレコードあり)
パレート図用のテーブルの作成
まずは、製品別の売上合計と累積比率のテーブルを作成していきます。
テーブルを追加し「製品」「売上」を列に追加します。
製品別の売上合計のテーブルが作成できました。
ここにメジャーで累積比率を作成し、列を追加していきます。
下記でPowerBIでテーブル作成をする方法を解説していますので、ご参考下さい。
▶PowerBIでテーブル作成、条件付き書式の設定
▶PowerBIでカレンダーテーブルの作り方
累積比率のテンプレートコード
メジャーで累積比率を計算する方法は正直ややこしいです。
テンプレコードを作成したので、まずは
テンプレコードをご自身のデータに置き換えて活用することをおススメします。
コピペで使っていくと、「この部分が累積合計をしているのか!」と理解できるようになるかと思います。
◆累積比率のメジャー追加
下記のように「累積比率」という名前でメジャーを追加し、
累積比率テンプレコードを貼り付けます。
【累積比率テンプレコード】
累積比率 =
VAR S_Table =
SUMMARIZE(
ALLSELECTED('売上データ'),'売上データ'[製品],
"Sum",SUMX('売上データ','売上データ'[売上(円)])
)
VAR ruiseki =
SUMX(
FILTER( S_Table,[Sum] >= SUMX('売上データ','売上データ'[売上(円)]) ),
[Sum]
)
VAR Total = SUMX(S_Table,[Sum])
RETURN
DIVIDE(ruiseki,Total)
こちらのコードを置き換えればOKです。
・’売上データ’⇒ご自身のデータ
・’売上データ'[製品]⇒パレート図の横軸にしたい項目列
・’売上データ'[売上(円)]⇒パレート図の縦軸にしたい計算列
【参考】
▶メジャーの追加方法、新しい列との違い
▶SUMMARIZE関数で要約テーブルの作成
▶SUMX関数で条件付きの合計
▶ALL関数、ALLSELECTED関数でフィルターの解除
▶FILTER関数でテーブルの抽出、データのフィルター
▶DIVIDE関数で割り算
作成した「累積比率」のメジャーをテーブルに追加します。
しかし、これだと合計が同じ項目がある場合は累積比率が一緒になり、厳密には正しくありません。(各項目の合計が異なる値になる場合は問題ありません。)
例えばこのままパレート図を作成すると、レンジと掃除機の箇所でうまく累積がされていません。(グラフ作成方法は後述します)
この問題を修正するため、同じ値の場合に正しく累積されるように変更したのが下記です。
【累積比率テンプレコード】
累積比率2 =
VAR S_Table =
SUMMARIZE(
ALLSELECTED('売上データ'), '売上データ'[製品],
"Sum",SUMX('売上データ','売上データ'[売上(円)])
)
VAR Category =
SELECTEDVALUE ('売上データ'[製品])
VAR CategorySum =
CALCULATE ( SUM( '売上データ'[売上(円)]), '売上データ'[製品] = Category )
VAR ruiseki =
SUMX (
FILTER (
S_Table,
[Sum] > CategorySum
|| ( [Sum] = CategorySum
&& '売上データ'[製品] <= Category )
),
[Sum]
)
VAR Total =
SUMX(ALLSELECTED('売上データ'), '売上データ'[売上(円)])
RETURN
DIVIDE ( ruiseki, Total)
こちらもコードを置き換えれば活用可能です。
・’売上データ’⇒ご自身のデータ
・’売上データ'[製品]⇒パレート図の横軸にしたい項目列
・’売上データ'[売上(円)]⇒パレート図の縦軸にしたい計算列
これで、累積比率を追加してパレート図用のテーブルを作成できました!
パレート図用の折れ線付き棒グラフの作成
製品別の売上合計、累積比率のテーブルができたので、
パレート図用の折れ線付き棒グラフを作成していきます。
「折れ線グラフおよび集合縦棒グラフ」を選択し、
X軸⇒製品
Y軸⇒売上(円)の合計
を入れてグラフ作成します。
続いて、パレート図の折れ線グラフを追加します。
線のY軸に先ほどテンプレコードから作成した「累積比率2」のメジャーを入れます。
線のY軸⇒累積比率2
あとは、書式を好きな色やサイズに変更すればOKです!
ビジュアルの書式設定から
・X軸:フォント13
・Y軸:フォント13
・データラベル追加
・マーカー:追加、赤色
などをデフォルトから変えています。
折れ線付き棒グラフを使って、パレート図を作成できました!
【参考】
グラフや軸の変更等は下記記事をご参考下さい!
PowerBI カウント数でパレート図
製品の売上順のパレート図ではなく、売れた個数、つまりカウント数でパレート図を作成したい場合もあるかと思います。
こちらはさきほどのコードの下記を変えてやればOKです!
・SUMX→COUNTX
・SUM→COUNT
置き換えたテンプレコードは下記になります(変数名もカウントに変えています)。
【累積比率テンプレコード カウントVer.】
累積比率_数 =
VAR S_Table =
SUMMARIZE(
ALLSELECTED('売上データ'), '売上データ'[製品],
"Count",COUNTX('売上データ','売上データ'[売上(円)])
)
VAR Category =
SELECTEDVALUE ('売上データ'[製品])
VAR CategoryCount =
CALCULATE ( COUNT( '売上データ'[売上(円)]), '売上データ'[製品] = Category )
VAR ruiseki =
SUMX (
FILTER (
S_Table,
[Count] > CategoryCount
|| ( [Count] = CategoryCount
&& '売上データ'[製品] <= Category )
),
[Count]
)
VAR Total =
COUNTX(ALLSELECTED('売上データ'), '売上データ'[売上(円)])
RETURN
DIVIDE ( ruiseki, Total)
カウントでの累積比率である「累積比率_数」をメジャーで追加できました。
こちらをテーブルに追加します。
売上合計ではなく、売った個数なのでカウントに変えテーブルを作成。
このカウント数と累積比率で、先ほどと同様にパレートグラフを作成します。
これで、累積比率を追加してカウント数のパレート図を作成することができました!
【参考】
▶COUNT関数、COUNTX関数で条件付きカウント
▶CALCULATE関数で条件付きの合計やカウント
PowerBIでパレート図の作成方法まとめ
今回はPowerBIでパレート図を作成する方法を紹介しました。
・パレート図の作成
・累積比率、累積合計の算出テンプレートコード
・売上合計でのパレート図作成
・売上個数(カウント)でのパレート図作成
パレート図は改善の狙いを絞るなどのターゲット選定に有効です。今回のテンプレートコードなどを用いて、PowerBIで設定しておけば、データが増えても簡単に更新できます。
下記でPowerBIの便利機能やDAX関数をまとめています。
ぜひご参考下さい!
日ごろは米国株のツイートをメインにしていますが、
PowerBIの悩みや要望も乗りますので
ぜひフォローお願いします!☟
良かったらクリック応援よろしくお願いします!
コメント