Office Excel Add-in for SQL Server Analysis Services その3 の続きです。
今回は What-if分析 という機能を紹介します。
What-if分析 とは、「もしもアイスクリームの単価があと100円高かったなら、この四半期の売り上げはどうなっていただろうか」といった、任意のデータを変更することによる影響を分析することです。
What-if分析 は Office Excel Add-in for SQL Server Analysis Services (以下アドイン) 独特の機能というわけではなく、Excel 2003 も元々搭載している機能ですが、アドインの What-if分析 はクライアントの Excel で行った分析の結果をサーバのキューブに書き戻す機能を搭載しており、これが標準搭載の同機能との大きな差異となります。
Excel 2003 に標準搭載の What-if分析 機能については、マイクロソフトの Office Online にデモが用意されています。
動画による解説ですから What-if分析 がどういった機能なのかを理解し易いと思います。
デモ: Excel の "what-if" シナリオを使用して直感をチェックする
アドインを利用した分析に標準搭載の What-if分析 機能を活用できれば便利なのですが、アドインを利用して表示したレポート (分析用の、ピボットテーブルのようなUI) はセルが基本的に読み取り専用となっており、値の書き換えが必須となる What-if分析 とは相性が悪いです。
もちろん、Office Excel Add-in for SQL Server Analysis Services その1 で解説しました [自由形式に変換] 機能を活用すれば標準搭載の What-if分析 機能を利用することも可能です。
ただ、前述の通り、アドインの What-if分析 には分析時に活用した値をサーバに書き戻すことで分析値を再利用する機能を備えています。
標準搭載とアドインと、それぞれの What-if分析 に利点がありますから、適材適所で活用していくことになります。
それでは解説を開始します。
まずはアドインを用いてキューブのレポートを表示します。
Office Excel Add-in for SQL Server Analysis Services によるレポート
What-if分析を行うにあたって、影響を分析するために書き換えることの出来る値は、行と列の両方をリーフレベル (leaf-level: これ以上掘り下げられないレベル) までドリルダウンしたときに表示される値だけです。
書き換えてみたい値が表示されるレベルまでドリルダウンします。
今回は画面領域の都合で「1996年2月21日、水曜日」のデータのみを表示しています。
リーフレベルまでドリルダウン
What-if分析を開始するために、メニューバーを [キューブ分析] - [What-if 分析] の順に辿り、[開始] をクリックします。
What-if分析 の開始
今回利用したキューブはサーバ側で書き戻しの機能が無効に設定されているため、注意を促すメッセージが表示されました。
注意を促すメッセージ
メッセージのダイアログを閉じると、リーフレベルのセルが黄色になりました。
着色されたセルを任意の値に変更することで、その影響を分析していきます。
リーフレベルのセルが着色される
「スポーツ飲料パワー」の金額を「9000」から「30000」に増やしてみます。
セルの値を書き換えると、オリジナルの値がポップアップします。備忘録のようなものでしょう。
影響を調査したい値を書き換える
リーフレベルの値を変更しても、この時点でセル B4 に表示されている飲料の合計金額に変化がありません。
なぜなら、SQL Server の Analysis Services を用いたキューブ分析の場合、合計金額はクライアントサイドで Excel が計算するもののではなく、サーバサイドで Analysis Services が計算するものだからです。
合計金額を更新するためにツールバーで [レポートの更新] アイコンをクリックします。
レポートの更新アイコン
[レポートの更新] ダイアログが表示されてプログレスバーが再計算の進捗を教えてくれます。
レポートの更新ダイアログ
サーバサイドで合計金額が再計算され、結果が Excel に反映されました。
合計金額が更新される
最後に What-if分析 の後始末をします。
この操作を行わないと Excel を終了することが出来ません。
What-if分析を終了するために、メニューバーを [キューブ分析] - [What-if 分析] の順に辿り、[終了] をクリックします。
キューブの書き戻し機能が有効になっていれば、ここで [書き戻しのコミット] を選択して分析値を再利用することも出来ます。
What-if分析 のキャンセル
[レポートの更新] ダイアログが表示されてプログレスバーが再計算の進捗を教えてくれます。
レポートの更新ダイアログ
分析前の状態に戻りました。
分析終了