|
注意:本連載のデータはUS OTNサイトで入手できるグローバルデモのデータを、一部日本語に修正して使っています。実際の画面の表示と多少が異なることがありますのでご了承ください。
■それでは計算済メジャーを作成してみましょう。前回作成したキューブUNITS_NEWを使います。Oracle AWMの左側ツリーでキューブの下に「計算済メジャー」というフォルダがあります。それを選択した状態で右クリックのメニューから「計算済メジャーの作成…」を選択します。
![]()
「この計算の名前を指定」のフィールドに計算済メジャーの名称を入力してください。そして下の「計算タイプ」のリストから、「前回/将来の比較」の「前回値」を選択します。
![]()
ウィザードの次の画面では、「メジャー」に計算の元となるメジャーを選択します。ここでは売上個数(UNITS)を選択します。「時間の階層」には「Calendar Year」が選択されていることを確認します。そして、「比較対照期間」には「前期間」を選択します。
![]()
ウィザードの最後の画面では各種名称などを入力します。ここでは次のように入力します:
| ・ |
名前 |
UNITS_PP(最初の画面で入力したものと同じ項目です) |
| ・ |
ショート・ラベル |
前期売上個数 |
| ・ |
ロング・ラベル |
前期売上個数 |
| ・ |
説明 |
前期売上個数 |
では、実際にどのようにデータが表示されるか確認してみましょう。作成した計算済メジャーUNITS_PP(前期売上個数)を選択して、右クリックのメニューから「データUNITS_PPを表示…」を選びます。
![]()
これだけでは前期の数値が正しく表示されているか分かりませんので、一緒に、元となるメジャー「売上個数」も表示してみましょう。データ・ビューアのメニュー「ファイル」から「クエリー・ビルダー」を選択します。すると以下のようなダイアログが表示されますので、左側の「選択可能」の項目一覧から「売上個数」を選択し、右矢印ボタンを押して右側の「選択済」に移します。
![]()
「OK」を押すと売上個数と前期売上個数の両方が表示されると思います。レイアウトを見やすく変更してみてください。次のようにすれば確認できます。
![]()
各年の欄にはきちんと前期(=前年)の数値が表示されているようです。試しに、時間ディメンションをドリルダウンしてみましょう。
![]()
どうですか?四半期レベルや、月レベルでも、前期の数値が表示されているのが確認できましたか?
これと同等のことをR-OLAPで実現するのはなかなか大変です。現在は分析関数のLAG関数がありますが、それを使ったとしても、データが存在しない(例えば、売上数量が発生しない月など)場合の処理やドリルダウン時に参照先がずれる問題などがあり簡単にはいきません。
しかもたった1つの計算済メジャーを定義するだけで、年、四半期、月のすべてのレベルで前回の値を参照することができています。
| Oracle OLAPのすごい点:「時系列の計算はお手のもの」 |
そのほかにも、時系列に関連する計算データも、同様のウィザードによる方法で簡単に作成することができます。いま作成した「前回値」に関係するものとして、
・前期間との相違
・前期間との相違率
があります。これらは今回値と前回値の間の差分や増加(減少)率を出すためのものです。また、前回値の1つのパターンとして前年度値がありますが、これも計算ウィザードの設定を変えるだけで同様に作成できます。ところで、なぜOracle OLAPでは時間のレベル(年や四半期)ごとの計算や前年度という計算ができるのでしょうか?それは時間ディメンションに秘密があります。
時間ディメンションを見ると、他のディメンションと異なり、ディメンション・タイプが「時間ディメンション」となっています。このタイプの場合、ディメンションの属性に「TIME_SPAN(期間)」、「END_DATE(終了日)」の2項目がデフォルトで追加されます。このような付加情報をもたせることにより、前期間や年度という情報を認識しているわけです。
インデックスに戻る
|