SQLServer OLAPサーバへのOracle DBの取り込み
WindowsNT Server 4.0にインストールしてあるSQLServer 7.0 付属のOLAPサーバにOracle DBを取り込んでキューブ(多次元DB)を作成してみました。
そしてExcel2000でそのキューブをアクセスしてみました。
1.はじめに
SQLServer 7.0にはOLAPサービスが標準装備されています(以下OLAPサービスと略します)。
このOLAPサービスのOLAPマネジャを使用してキューブの定義・作成・内容確認等を行うことができます。
キューブのデータソースとしてはSQLServerのDBの他にOracle DBも利用できます。
OLAPサービスをインストールするとサンプルキューブ(Sales,Warehouse)が自動生成されます。
サンプルのSalesキューブのデータソースはこんな感じのスタースキーマ構造となっています(キューブエディタで確認できます)。
今回はOLAPサービスのお試しとしてOLAPサーバでOracle DBからキューブを作成する例を簡単に紹介させて戴きます。
2.Oracleテーブル
今回はOracle 8.0.5 Enterprise Edition付属のEMPテーブルをデータソースとして利用してみました。
EMPテーブルをSQL Worksheetで検索したものが以下の図です。
3.キューブの定義・作成
OLAPマネジャのキューブウィザード及びディメンションウィザードで対話的にキューブを作成できます。
(1)まずデータソースをOLE DBでアクセスするためのプロバイダを選択します。
Oracle DBをデータソースとするのでここではMicrosoft OLE DB Provider for Oracleを選択します。
(つまりOLE DBデータソースはOracleであるということの宣言です)
(2)次にOracleへの接続情報を指定します。
ここではSQLServerと同じマシン上にあるOracleサーバ名(PC_U5)を指定しています。
(3)この後はメジャ(数量データ)として扱うテーブルカラムを選択します。
(4)そしてディメンションウィザードでディメンション(次元)カラムを選択します。
後は物理キューブの作成処理を実行させれば実行過程が表示されてキューブの作成は完了します。
ここで作成したキューブ名はSalCubeとしています。
作成されたキューブの内容はキューブブラウザで確認できます。
今回はキューブの作成手順の紹介がメインですので分析対象データとしてはほとんど意味のないものです(悪しからず)。
4.Excelからのキューブアクセス
OLAPサービスではピボットテーブルサービスというクライアント機能を標準提供しています。
これはOLE DBのOLAP拡張機能という位置付けで実際にはデータ分析だけではなくキューブ生成やキャッシュ管理という機能も含んでいます。
ピボットテーブルサービスを使ってローカルキューブを作成することもできます(この場合のオフラインデータ分析はモバイル環境向きですね)。
それでは上記で作成したキューブをExcel2000で利用してみましょう。
(1)まずはExcelの[データ]−[ピボットテーブルとピボットグラフレポート]メニューの実行。
ここでは<外部データソース>を選択します。
そして<データの取り出し>を実行します。
(2)続いて表示されるデータソースの選択画面では「OLAPキューブ」の<新規データソース>を選択します。
(3)「新規データソースの作成」画面
「新規データソースの作成」画面ではデータソース名(ここで指定したデータソース名はoqyという拡張子付きのクエリファイル名になります)。
またキューブを直接アクセスするのでOLAPプロバイダはMicrosoft OLE DB Provider for OLAP Servicesを選択します。
そしてMyMartというデータマート内のSalCubeキューブを指定します。
(4)データの取り出し完了
ここで<次へ>をクリックすれば操作は完了です。
(5)Excelシート内でのピボット操作
キューブ内のディメンションやメジャをドラッグアンドドロップすればキューブのデータが表示されます。
(6)保存されたOLAPキューブクエリの再実行
まず[データ]−[外部データの取り込み]−[保存したクエリの実行」を実行します。
そしてOLAPキューブのクエリファイルを選択します。
後はウィザードに従うだけです(と言ってもウィザードの3/3がいきなり出てくるだけですが)。
5.Webブラウザからのキューブ操作
Excel2000でキューブを開きHTMLとしてWebサーバに発行しておけばWebブラウザからキューブ操作ができるようになります。
尚、Excel2000でキューブを開いたシートをHTMLとしてWebサーバに発行する際には<対話機能を追加する>をONにして対話機能の種類は「ピボットテーブル機能」を選択しておきます。
あとはMicrosoft Office Webコンポーネントが組み込まれているマシンのIE(Internet Explorer 4.01以上)で該当Webページを開けばそのWebブラウザ上でキューブ操作(軸の入れ替え等)ができるようになります。