多次元分析の概要とデータ分析のポイント:SQL Server 2005で学ぶデータ分析(2)(3/3 ページ)
多次元分析はさまざまなデータに応用できる分析方法ですが、決して万能ではありません。本稿では多次元分析のポイントとして、どのような分析要件/データに適しているかという点と、キューブの設計/構築をする際の注意点をまとめます。
多次元分析に適した分析
- 複数の分析視点を組み合わせた集計値の分析(クロス集計)に向いている
キューブは集計値を効率良く検索することに特化したデータベースなので、明細データを検索するのは不得意です。また、集計する数値項目がないデータはキューブを構築できないため分析できません。
- 分析視点に階層を設定できる分析に向いている
階層構造を設定しなければ、ドリルダウン/ドリルアップという多次元分析特有の分析機能が使えないため、キューブを構築する利点がありません。
- 複雑なデータの絞り込みを行わず、一覧的にデータを見る分析に向いている
データの絞り込みはディメンションで行いますが、異なるディメンションの絞り込み条件はすべて「and」条件となるため、複雑な絞り込み条件は設定できません。
例:商品ディメンションと店舗ディメンションでの絞り込み
(商品=A or 商品=X) and (店舗=B or 店舗=Z) ⇒ 検索可
(商品=A and 店舗=B) or (商品=X and 店舗=Z) ⇒ 検索不可
キューブ設計におけるポイント
- ディメンションとディメンション階層の決定
多次元分析ではディメンションの構成(種類と階層構造)で分析できる範囲が決定するため、ディメンションの構成が設計における重要なポイントとなります。ディメンションの構成は、アウトプットから洗い出すボトムアップアプローチの視点と、データの構造から検討するトップダウンアプローチの両方の視点で決定します。ディメンションの構成が決定すれば、キューブ設計の半分は終了したといっても過言ではないくらい、重要な部分です。
- ディメンションの数
一般的に1つのキューブに設定するディメンションの数が多くなると、キューブのデータ更新処理時間とサイズが増加します。増加傾向はディメンションのメンバ数やファクトデータの件数により異なります。キューブに設定するディメンションの数はキューブのデータ更新処理時間を目安に決めてください。
- データの整備
1つのファクトデータを複数のディメンションで分析するため、データの整合性を確保することが重要です。商品ディメンションを例にすると、新製品のファクトデータが発生したときには、商品ディメンションには新製品のレコードが存在していなければなりません。存在していないと新製品のファクトデータはキューブに取り込まれないため、数値の信頼性がなくなります。当たり前のように見えますが、すべてのディメンションを対象にすると、ひも付かないケースが多数出てきます。
- 有効な集計値の保持
ファクトデータが大量になると分析のレスポンスを保証するのが難しくなります。レスポンスは、多くの集計を作成することで保証できますが、キューブを更新する処理時間も増加します。レスポンスと運用(キューブの処理時間)を両立させるためには、無駄な集計値は作成せず、有効な集計値に限定して作成する必要があります。
第2回はデータ分析の機能と多次元データ分析に関して解説しました。データ分析の機能に関しては、検索機能、出力機能以外に管理機能が重要である点がポイントです。BIツールを選択する際には、管理機能にも着目してください。また、多次元データ分析に関しては、分析要件や分析したいデータから向き不向きを判断することが重要です。
次回は、いよいよSQL Server 2005 Analysis Servicesによる多次元データ分析の実践と解説を行います。また、SQL Server 2000からの改善点についても解説します。
Copyright © ITmedia, Inc. All Rights Reserved.