| 2007年3月14日(水) |
 |
ビジネス・インテリジェンスでは、複数のデータソースからデータを収集/蓄積して分析します。
データの収集/蓄積では、データの信頼性や精度を意識してデータクレンジングします。意味がないデータでの分析は、誤った意思決定を行うでしょう。この機能を提供するのが前回に紹介したDWE SQL Warehousing Toolです。
では、データを有効活用するにはどうしたらよいのでしょうか?
データウェアハウスには、過去の履歴データが数百GB(ギガバイト)〜TB(テラバイト)格納され、それだけではデータの箱にしかすぎません。そこで、データを有効活用する分析手法や視覚的に見せる必要があるわけです。これは、ツールがもつ機能であるOLAP分析やグラフ表示機能で実現できます。今回の記事は、「データ分析」をテーマにして、DWE Cube ViewsとDB2 Alphabloxを紹介していきます。
OLAP分析(多次元分析)
複数の分析軸を設けて、多次元キューブにドリルダウンやスライス、ダイスといった操作を行います。リレーショナル型データベースでは、テーブルや列、参照制約といた概念のみですが、OLAP分析では、分析軸や項目間の階層、分析で使用するビジネス名称などを新たに定義します。通常のSQL検索では2次元での表現ですが、OLAP分析では多次元にさまざまな視点で効率的に分析できます。
| |
ドリルダウン、ドリルアップ
定義した階層ごとに集計結果を掘り下げる分析をします。階層の例では、時間軸では[年],[半期],[四半期]、製品軸では[大分類コード],[中分類コード],[製品コード]になります。ドリルダウンの反対の操作を、ドリルアップと言います。 |
| |
スライスとダイス
分析軸とは、時間、製品、組織、得意先、店舗、得意先といった分析要件の切り口を表します。ダイスは、複数の分析軸を要件によって選択し、ツールの縦方向や横方向に自由に配置できる機能です。スライスは、分析軸を条件によって切り出す機能です。 |
 |
 |
列方向には製品、行方向には製品の色を分析軸として配置をしています。また、スライス領域に年月日しており、2003年の条件で分析しています。
|
OLAP分析の例
DWH内のビジネス・データをさまざまな分析軸で集計して傾向を分析します。分析軸を組み合わせて対話的に分析できるのが特徴です。業種や業態の違いで分析内容は異なりますが、さまざまな分析に使用できます。
| ABC分析 |
管理対象(在庫品目)を重要な順にA・B・Cの3つのランクに分ける方法在庫管理や商品発注、販売管理などで使用します。 |
ランキング
(売れ筋/死に筋分析など) |
販売数、売上げ、利益を商品や部門別などでランキングし、上位/下位の商品や部門を抽出します。 |
| 売上げ(販売)分析 |
売上げ、在庫、発注などの実績を前年や計画値との差異を検出します。 |
| 顧客分析 |
顧客の購入日、購入頻度、購入額の組み合わせで分析します。 |
|
 |
| 分析例 |
データマイニング
データマイニングは、理論的な手法でデータ分析する方法です。代表的な分析手法として、相関関係(バスケット分析)、クラスタリング、クラス判別、回帰分析があります。例えば、購買を分析対象とする場合、相関関係分析では、項目間の関連付けを行い、同時に購入された製品の傾向を分析します。
また、顧客を分析対象とする場合、クラスタリング手法では、蓄積された実績データからルールを導き出し、顧客をいくつかのグループに分けることができます。データマイニングは別の機会に詳しく説明しましょう。
SQLクエリーによる検索
SQLコマンドの作成と実行でデータベースへアクセスして、データ検索を行います。結果は、表やグラフのレポートとして活用されます。
DB2 DataWarehouse Editionでは、2つの製品を組み合わせてOLAP分析を実現します。詳しい製品説明は、URLを参照ください。
DWE Cube Viewsの機能
OLAP分析に必要なメタデータを定義する機能を提供します。また、DB2にアドインして動作するので、メタデータ定義とDB2管理情報から最適なキューブ(集約表)を作成できます。OLAP分析を行わず、SQL検索のみの場合は、DWE Cube Viewsは必要ありません。
| メタデータ名 |
説明 |
| キューブモデル |
ファクト表(分析項目)とディメンション表(分析軸)を定義します。分析項目では、計算項目も定義できます。 |
| キューブ |
分析の要件から分析軸や分析項目を定義します。キューブモデルから複数のキューブを作成します。 |
| 分析軸 |
OLAP分析での軸(例えば、時間、製品など) |
| 階層構造 |
項目間の階層構造(例えば、時間階層、製品階層) |
| ビジネス名 |
データベース項目に対して分析で使用する名称 |
|
DB2 Alphabloxの機能
DB2 Alphabloxは、WebSphere Application Server上で動作し、複数のユーザーから使用できるWebベースの分析ツールです。
- 豊富な視覚化機能であるグラフやトラフィックライトは、状況を容易に把握できます。
- 分析機能は、SQL検索、OLAP分析ができます。
- ユーザーのデータ2次加工に備えて、ExcelやPDF出力機能をもちます。
では、DWE Cube ViewsとDB2 Alphabloxを使用して実際のOLAP分析アプリケーションを作成していきましょう。
シナリオ
まずはAlpha アパレル社について紹介します。Alphaアパレル社は、国内に数店の販売チェーンを展開し、メンズやレディースのアパレル商品を販売しています。さまざまな角度から分析を実施し、製品のトレンド分析やお客様動向分析に役立てたいと考えています。システムインテグレーターは、お客様の要件ヒアリングで、スタースキーマのデータモデルを構築しました。作成されたデータモデルは、6つのディメンション表と1つのファクト表から構成されています。
分析軸
(ディメンション表) |
説明 |
| 時間(年月日) |
商品を購入した年月日です。
年→半期→四半期→月→年月日の階層をもちます。 |
| 時間軸(週) |
商品を購入した週です。年間で53週です。 |
| 商品 |
購入された商品です。
製品大分類→製品中分類→製品の階層をもちます。 |
| 色 |
購入された商品の色です。 |
| サイズ |
購入された商品のサイズです。
サイズは、Free, L, M, S, CLの5種類です。 |
| 店舗 |
販売チェーンの各店舗。
店舗エリア大分類→店舗エリア中分類→店舗の階層をもちます。 |
|
 |
| 分析要件の分析軸 |
| 分析項目(ファクト表項目) |
| 販売金額 |
| 販売数量 |
| 客数 |
|
 |
| 分析項目 |
|
 |
 |
| スタースキーマモデル |
|
|
(1)キューブモデルとキューブの作成
統合開発ツールであるDWE Design Studioを使って、キューブモデルとキューブを作成します。
キューブモデルには、データベースのスタースキーマ構成で、数量や金額の分析項目を含むファクト表と、分析軸であるディメンション表を定義します。例えば、ディメンション表に「年月日」「店舗」の分析軸、ファクト表に「販売金額」の分析項目がある場合、「ある年の店舗ごとの売上げ合計金額」等の分析が行えます。また、階層定義を利用すれば、エグゼクティブには会社全体の販売金額、エリア担当マネージャーには管轄エリアの販売金額を容易に提供できます。
キューブとは、お客様の分析要件を明確に定義したものです。キューブに含まれる軸や分析項目は、キューブモデルに含まれなければいけません(=キューブは、キューブモデルから派生します)。例では、分析要件に対してのキューブの定義について記述しています。
*Aさん・・・店舗を統括するエリアマネージャー
*Bさん・・・商品の仕入担当
| Aさん |
「期間の店舗ごとの入場者数を知りたい」(客数分析) |
| Bさん |
「期間でどの商品がどの位販売されたかを知りたい。」(販売分析) |
|
| Aさん |
分析軸は「年月日」と「店舗」、分析項目は「客数」 |
| Bさん |
分析軸は「年月日」と「商品」、分析項目は「販売数量」「販売金額」 |
|
操作では、マウスのオペレーションで「キューブモデルの追加」や「キューブの追加」を選択し、対話的に容易にできます。
 |
 |
| キューブモデルの定義 |
 |
 |
| キューブの定義 |
(2)DWE Cube ViewsとDB2 Alphabloxの連携
| |
最適化アドバイザー機能
DWE Cube Viewsは、定義したメタデータとDB2がもつ統計情報やデータ・サンプリングから最適なキューブ(集約表(MQT))を作成します。データ実体は、DB2の集約表にもつので、照会のパフォーマンスは向上します。 ブラウザーからのOLAP分析の要求は、DB2 AlphabloxでSQLに変換がされ集約表に検索処理を行います。 |
| |
| |
メタデータ連携
DWE Cube Viewsで定義したメタデータは、DB2 Alphabloxに連携します。OLAP分析をする際にブラウザーで表示されている情報は、DB2 Alphabloxに連携されたメタデータを参照しています。 |
| |
 |
 |
 |
| DWE Design Studioでの最適化アドバイザー機能 |
|
|
 |
 |
 |
| DWE Cube ViewsからDB2 Alphabloxへのメタデータ連携 |
|
|
(3)アプリケーションのWebSphere Application Serverへの登録
DB2 Alphabloxの管理メニューから、J2EEアプリケーションを作成します。
作成したJ2EEアプリケーションは、WebSphere Application Serverでデプロイします。

(4)「客数分析」アプリケーションの説明
DB2 Alphabloxでは、プレゼンテーション機能、分析機能、データベース接続機能の3種類の部品群(以下、Blox)を提供しています。この部品群を組み合せアプリケーションの構築を行います。このアプリケーションでは、プレゼンテーションBloxを使用します。プレゼンテーションBloxは、グラフや表の表示やレイアウト、メニューバーの表示、OLAP分析の複数の機能を1つにまとめたBloxの集まりです。また、構築支援ツール「Query Builder」は、対話的に分析画面を作成しタグコードを生成するので、容易に構築ができます。
 |
 |
| Query Builderでのアプリケーション作成例 |
|
(5)「客数分析」アプリケーションの作成(Webアプリケーションへの組込み)
作成されたアプリケーションは、ユーザーが作成するJSPプログラムとQuery Builderで出力したBloxタグコードで構成されます。JSPプログラムは、ほとんどが画面制御のHTML文なので、市販されているHTML画面作成ツールで作成できます。Bloxタグコードは、Query Builderで作成し、JSPプログラムに挿入します。
例えば、複数の部品Blox(例えばグラフ)を1つの画面に複数配置をする場合は、HTMLの<TR>タグ(縦方向)や<TD>タグ(横方向)が使用できます。
 |
 |
| Query Builderでのアプリケーション作成例 |
|

|