【はじめに】
本連載は、SQL Serverによる「ビジネスインテリジェンス」の企業への導入・活用までの道のりを、初心者を対象に、架空の会社を例に解説しています。
SQL Server Analysis Serviceを中心としたマイクロソフト製品群で構築する「ビジネスインテリジェンス」の全体像を理解して頂き、併せて導入時に考慮しておきたいこと等、ノウハウ的な部分も解説していきたいと考えております。
SQL Serverビジネスインテリジェンスの導入はそれほど高いハードルではありません。ぜひ、SQL
Server Analysis Serviceで「ビジネスインテリジェンス」してみてください。
【設定】
| PASSJ商事: |
スポーツグッズ販売会社。、自社でECサイトを運営している。 |
| A君: |
PASSJ商事社員で、入社3年目のITエンジニア。担当業務はECサイト用のデータベース管理とWebアプリケーション作成。SQL
Serverには結構詳しい。 |
|
|
【1-1】新プロジェクトの発足とビジネスインテリジェンス導入
2003年の初夏、スポーツグッズ販売会社「PASSJ商事」に新たなプロジェクトが立ち上がりました。その名は「ECサイト成果アッププロジェクト2003
Summer」。ECサイトの売上や利益など、ビジネス上の成果をあげることがこのプロジェクトの目標です。
PASSJ商事の若手社員A君はこれまで、自社で運営するECサイトのデータベースの管理やデータベースアプリケーションの作成の仕事を担当しており、SQL
Serverデータベースに関するスキルを持っています。そこで、このプロジェクトのメンバーとして選ばれました。
日頃からSQL Serverユーザ会などを通じてSQL Serverにビジネスインテリジェンス機能があることを知っていたA君は、このプロジェクトには“ビジネスインテリジェンス”の導入が不可欠と考え、さっそくその機能の調査に取りかかりました。
【1-2】ビジネスインテリジェンスって何だろう?
SQL Serverのビジネスインテリジェンス機能を調査し始めたA君ですが、その前に疑問が生じました。
「そもそも、“ビジネスインテリジェンス”って何だろう?」
最近は“ビジネスインテリジェンス”という言葉をIT雑誌やビジネス雑誌でよく見かけますが、正確な意味は良く分かりません。なんとなく、データを集計したり、分析したりするというイメージはあるのですが…。それに、“データウェアハウス”や“OLAP(オーラップ)”といった言葉と共に使われていることが多いのですが、これらとはどう違うものなのでしょうか?
A君はさっそく、“ビジネスインテリジェンス”“データウェアハウス”“OLAP”について調べることにしました。
・ビジネスインテリジェンス(Business
Intelligence、BI)とは…
・会社の業務システムなどに蓄積された情報を、ビジネス上の意思決定に活用すること
・上記の目的を達成するための仕組みを提供する、“データウェアハウス”“OLAP”などのIT技術を用いたシステム
・データウェアハウス(DWH)とは…
・業務システムなどから得られる多様なデータを、整理して保管しておくためのデータベース
・データウェアハウスに保管された情報の一部を、使用目的に応じて再整理して切り出す“データマート”という考え方もある
・OLAP(OnLine Analytical
Processing、オンライン分析処理、オーラップ)とは…
・オンラインで直接データベースからデータを引き出し、その場で集計単位や切り口の選択を繰り返しながらデータ分析を行うこと
・上記の目的を達成するための仕組みを提供する、”多次元データベース”“キューブ”などのIT技術を用いたシステム
・多くのOLAPクライアントツールは、グラフィカルな分析が可能である |
どうやら、“データウェアハウス”や“OLAP”といったIT技術の集合体が、現在“ビジネスインテリジェンス”と呼ばれているものの正体のようです。
“データウェアハウス”はBIで分析対象とするデータの信頼性を保障するための仕組み、“OLAP”はBIの目的(情報を意思決定に活用すること)を達成するための分析手段の1つという位置づけと考えてよいでしょう。

<図1:ビジネスインテリジェンスにおけるデータウェアハウス・OLAPの位置づけ>
【1-3】SQL Server で”BIする”には
ビジネスインテリジェンスの大枠が理解できたところで、A君は次にSQL ServerのBI機能を整理することにしました。
整理した結果が下の図です。SQL ServerのBI機能も、先ほど整理したものと同様に“データウェアハウス”や“OLAP”といった技術を使っています。

<図2:SQL Serverビジネスインテリジェンスの構成要素>
それでは、PASSJ商事に導入するにあたって不足しているものはないか、1つずつ検討していきましょう。
まず“(1)データソース”ですが、これには業務システムのデータベースが当てはまるでしょう。PASSJ商事が現在使っている業務システムは幾つかに分かれています。AS/400ベースの販売管理システムとOracleデータベースを使っている会計管理システム、それにSQL
Serverデータベースを使っている人事管理システムがあります。(これでは、ERPパッケージ導入の検討が必要かもしれませんね…)
また、部署や個人でAccessやExcelで管理しているデータも考慮する必要がありそうです。
こんなに多くのデータを、上手くまとめて分析することはできるのでしょうか?A君は少し心配になりました。
次に“(2)データウェアハウス”です。データウェアハウスを本格的に整備するにはそれなりのコストが必要と思われますので、今回は人事管理システムで使っているSQL
Serverを間借りして、仮のデータウェアハウス、もしくはデータマートとして使用することにします。
ところで、データウェアハウスでデータを整理して管理するためには、データソースからデータウェアハウスへデータを変換し、転送するバッチプログラムを作成する必要があります。
このような場合に、“(3)ELTツール”と呼ばれるツールを使うことで、ノンプログラミング(GUI)でデータ変換処理や転送処理を定義したり、処理のワークフローを定義したりすること等が可能になります。
ELTとは、Extraction (抽出)、Load (ロード)、Transformation (変換)の頭文字を取ったもので、SQL
Serverの”データ変換サービス(DTS)”がこのようなELTツールとしての機能を持っています。
DTS以外にもサードパーティー製のツールが市販されていますので、DTSでは機能不足と判断される場合は検討する必要があるかもしれませんが、今回はDTSを使ってやってみることにします。
“(4)多次元データベース”としてはSQL Server Analysis Serviceが該当します。
多次元データベースでは”キューブ”と呼ばれるものにデータを格納し、これをOLAP分析で使用します。
Analysis ServiceをSQL Server データベース(RDBMS)と同じサーバにインストールするのであればライセンスを別途購入する必要はありません。(ただし、インストール作業は別途行う必要があります。)
今回は、SQL Serverが既にインストールされているサーバにAnalysis Serviceもインストールすることにしました。これならライセンスの購入は必要ありません。
最後の”(5)OLAPクライアント”には様々な選択肢があるようですが、その中で最も使い慣れているExcelでまずは試してみることにします。
PASSJ商事では全社員にMicrosoft Officeがインストール済みのパソコンを貸与しているため、OLAPクライアントを改めて購入する必要はありません。
こうして1つずつ検討してみましたが、さしあたっての試験導入ではソフトウェアのライセンス料などは必要なさそうですし、SQL
ServerやExcel等の、使い慣れた技術で構築できそうです。A君は少し安心しました。
もちろん、将来的にはデータウェアハウスをきちんと整備して、Analysis Service専用サーバやExcel以外のOLAPクライアントの導入も考えていきたいところですが、今回はこの構成で試してみることにします。

<図3:SQL Serverビジネスインテリジェンスの構成要素(具体例)>
【1-4】サンプルキューブへの接続
A君はさっそく、Analysis Serviceのインストールからはじめてみることにしました。
Analysis
Serviceのインストール(SQL Server 2000の場合)
| (1) |
SQL ServerのセットアップCDを用意して、インストーラを起動します。 |
| (2) |
[ SQL Server 2000のコンポーネント]- [ Analysis Service
のインストール] を選択します。 |
| (3) |
「ようこそ画面」では[次へ]、「使用許諾契約書」はきちんと読んで[はい] を選択します。 |
| (4) |
[コンポーネントの選択]で必要なコンポーネントを選択します。(全て選択したままで構いません。) |
| (5) |
あとは、[プログラムフォルダの選択 ]を行うだけで終了です。
※サービスパックやパッチを忘れずに適用しましょう。 |
|
「なんと、こんなに簡単だったとは…!」
SQL Serverデータベースのインストールは簡単にできますが、Analysis Serviceでも、その容易性は損なわれていないようです。さすがはSQL
Serverです。
続けて、Analysis Serviceの管理ツールを起動してみます。
Analysis
Serviceの管理ツールの起動
(1)スタート>プログラム>Microsoft SQL Server>Analysis Service>分析マネージャ
※プログラムフォルダを変更していない場合 |

<画面1:Analysis Serviceの管理ツール「分析マネージャ」>
Analysis Serviceの管理ツールは「分析マネージャ」といいます。
「FoodMart2000」というオブジェクトが見えますが、これは、サンプルの多次元データベースです。SQL Serverデータベースでの「Northwind」や「pubs」に相当します。
また、「FoodMart2000」のキューブが6つ登録されています。これらは全てサンプルのキューブです。
それでは、「FoodMart2000」内のサンプルキューブにExcelから接続してみることにしましょう。
Excelからのキューブへの接続(Excel
2002の場合)
| (1) |
まずExcelを起動します。 |
| (2) |
メニューの[データ]-[外部データの取り込み]-[データの取り込み] を選択します。 |
| (3) |
[データファイルの選択]で、[+新しいデータソースへの接続.odc] を選択します。 |
| (4) |
データ接続ウィザードが立ち上がりますので、データソースとして[Microsoft SQL
サーバー OLAPサービス] を選択します。 |
| (5) |
次にサーバ名とログインID/パスワードを指定します。Analysis Serviceをインストールしたサーバ名と、必要に応じてID/パスワードを指定します。 |
| (6) |
接続するデータベースとキューブを選択します。(画面2)ここでは[FoodMart 2000]データベースの[Sales]キューブを選択しましょう。 |
| (7) |
データ接続ファイルを保存して、データ接続ウィザードは終了です。 |
| (8) |
データ接続ウィザードを終了すると、ピボットテーブル/ピボットグラフウィザードが表示されます。選択したキューブのデータをExcelのどのセルに表示するか指定できますが、ここはそのままで[完了]を押しましょう。 |
|

<画面2:データ接続ウィザード データベースとキューブの選択>
以上で、Excelからサンプルキューブへの接続は完了です。ドラック&ドロップでデータ要素をフィールドに配置してみると、分析結果が表示されました。(画面3)商品の大分類(Product
Family)別の、1997年度の四半期別の利益(Profit)、販売数量(Sales Count)が表示されています。

<画面3:サンプルキューブのExcelでの表示>
このように、Excelからのキューブ接続も至って簡単です。Excelは普段から使っているアプリケーションなので、OLAP分析を目的としたキューブへの接続といっても抵抗感はありません。
ここで、今日の仕事は終わりにしましょう。
明日(次回)は、自社のデータを分析するためのキューブを作ってみることにします。
|