Power BI -What if分析(感応度分析)をするためには(基本)
僕は前職でExcelを使って財務ModelingやValuation、PPA (Purchase Price Allocation) をしていたこともあり、Power BIで財務予測を行うときもWhat if分析(感応度分析)ができないかなぁと思っていました。
少し調べると、やっぱりできるみたいです。
基本的なことをシンプルに教えてくれているサイト(英語)も見つけたので張っておきます。
▼この動画(Youtube)の、25分15秒 以降からです。
以下、備忘のために要点となる3ステップを記載しておきます。
0. 説明用のサンプルデータを取り込み
まず説明用にMicrosoftのサンプルデータを取り込みます。
このサンプルデータ(Excel)は、製品別の売上高、売上原価、粗利等の日次販売データが記録されたファクトテーブルになります。
取り込んだら、レポート画面に移って、「折れ線グラフ」を「Sales」と「Date」から作成します。
※なお、日付テーブル (カレンダーテーブル) は、今回省略のため作成していません。通常の実務であれば、日付テーブルは必須だと思います。
そしたら、こんな感じになります。
1. Power BI desktopには、パラメーターをパッケージで用意してくれるボタンがあるのでそれを利用するのが速い
What if(or 感応度) 分析を行うために使用するパラメーターを簡単に設定するためのボタンは、
レポート画面>「モデリング」タブ>「新しいパラメーター」にあります。
この「新しいパラメーター」をクリックすると、このようなパラメーターの設定画面が表示されます。
・名前:ここで決めた名前で、レポート画面右の「フィールド」にテーブルとして表示されます。
・データ型:パラメーターが少数の場合は、10進数を選ぶなど、パラメーターに合わせて選択します。
・最小値と最大値:パラメーターの範囲を指定します。0から100までを設定するとか、-1から1を設定することが、僕の場合だと多いと思います。(-100%から100%まで、取り込んだデータを変動させて影響を調べるという意味です)
・増分:最小値から最大値までを、どの刻み幅でスライサーを動かすかをここで設定できます。あまり小さく刻みすぎると、スライサーを大きく表示させないと細かいパラメータの移動ができないので、10段階くらいでひとまず作っておくのがよいのではないでしょうか。(最小値、最大値を0~100と設定したのであれば、(100-0)/10段階=10 ということで、増分(刻み幅)は10となります)
・既定:初期値です。最小値と最大値の間の値で、Most likelyな値を入れておくのがよいです。(僕の場合は、最初は0としておくことが多いです)
・このページにスライサーを追加する:後から自分で追加する場合は、外しておきましょう。僕はとりあえず反応を見るために、チェックをいれたままにして、一旦スライサーを自動で表示させるようにしています。
とりあえず、サンプルデータの取り扱いでは、このように設定しておきます。
入力を終えたら、OKを押しましょう。
画面右の「フィールド」に設定したパラメーターのテーブルができていると思います。
(ちなみに、このフィールドの各列を選択したときに表示されるDAX式を見ればわかるように、この「新しいパラメーター」から設定しなくても、レポート画面>テーブルツール>新しいテーブル からでも、同じDAX式を入れれば同じ結果が得られます)
2. パラメーターをメジャーと結びつける
先ほど作ったパラメーター用のテーブルは、1つの「列」と1つの「メジャー」のセットになっています。
使用するのは、「メジャー」の方です。
今回は「Sales」の値を-100%から+100%まで増減させることにします。
なので、(どこでもよいのですが※)「フィールド」上のどこかで右クリック>「新しいメジャー」 で次のようにDAX式を書きます
Sales_val = SUM ('financials'[ Sales]) * ( 1 + [Flux 値] )
これでWhat if分析用のメジャーができました。
3. 視覚化を行う
先ほど作成したメジャー「Sales_val」を折れ線グラフに追加し、パラメーターを設定したスライサーを-0.4としておきます。(売上が40%減になるとどうなるかを調べるため)
できました。
この例が示す要点だけ抑えれば、後は工夫次第で様々なシミュレーションが可能になると思います。