ジャンル:データ分析ツール 作者:アイエイエフコンサルティング
ライセンス:GPL  URL:http://sourceforge.jp/projects/openolap/

 OpenOLAPは,販売実績などの業務データを集計し,傾向や特徴を製品別,顧客別といった複数の面から分析するためのソフトウエアである。Webブラウザ上から利用でき,分析結果をExcel形式で出力可能だ。

図1●多次元データベースとOLAP分析操作
3つの次元から構成される多次元データベースとそれに対するOLAP分析操作の例である。
表1●OpenOLAPを動作させるために必要なソフトウエア
図2●OpenOLAPの構成
多次元データベースの作成には「Designer」を,OLAP分析操作には「Viewer」を用いる。どちらもWebブラウザ「Internet Explorer 6」上で実施できる。
 会計管理や販売管理,顧客管理,在庫管理,購買管理,生産管理といった,企業の業務アプリケーションからデータを取り出し,傾向や特徴を複数の視点で分析するソフトウエアを「OLAPツール」と呼ぶ。

 このOLAPツールの一般的な用途としては,販売分析などが挙げられる。販売分析では,販売管理システムから売上実績データを取得し,各製品の売上全体に占める割合を求めたり,前年実績データと比較するなどしてレポートを作成するが,その作業効率を高めるためにOLAPツールが使われる。ちなみに作成したレポートは,営業担当者が販売方針を決める際の指針などとして生かされる。

 このようにOLAPツールは業務データの分析に欠かせない有効なツールである。しかし,従来はOLAPツール本体やそれの稼働環境として必要なミドルソフトが高価であったため,一部の大手企業を除けばあまり導入されなかった。

 ここで紹介する「OpenOLAP」は,無償のOLAPツールである。動作に必要なミドルソフトもすべて無償で入手・利用可能なオープンソース・ソフトウエアであるため,極めて低いコストでOLAPツールの利用環境を整えられる。

OLAPの概要

 まず,OLAPについて整理しておく。OLAPとは「On Line Analytical Processing」の略であり,日本語に翻訳すると「オンライン分析処理」といった言葉になる。これは,分析アプリケーションの処理方式を示す用語だ。

 OLAPでは,3次元以上の多次元データベースからデータを取り出して2次元のクロス集計表とし,後述する「ドリルダウン」と「スライシング」,「ダイシング」という3つのデータ分析操作(OLAP分析操作)により,データを多次元的に分析する。

 図1[拡大表示]は,多次元データベースとOLAP分析操作を模式化したものである。図1で,さいころ状のものが多次元データベースだ。この例では,「期間」,「製品」,「地域」という3次元のデータベースになっている。これらの次元はそれぞれ階層を持っている。階層とは,「期間」なら「月」とか「年」とかいったものである。

 さいころ内には「販売金額」の数値が入っている。数値は,3つの次元とそれぞれの階層ごとに組み合わせで集計された値になっている。

 例えば,このさいころの手前の面を2次元の表として見てみよう。図1左下のように横軸が「期間」で,たて軸が「地域」の表が作成できる。表内には,期間と地域の組み合わせの集計値(9通り)が含まれている。

 このように,多次元データベースには次元(ディメンション)とその次元を構成する項目(メンバー)をキーとし,非常に多くの集計値(メジャー)が格納されている。

 そのため,リレーショナル・データベースのようにSQL文を用いて,レコード単位で集計値を取り出すことはできない。多次元データベースでは,集計値を2次元の表単位で扱い,ある一つの2次元の表に対し,次の3つの操作を用いて,分析を加えた表として集計値を取り出す。

OLAP分析操作

 OLAP分析操作には,「ドリルダウン」「スライシング」「ダイシング」という3つのデータ分析操作がある。

 ドリルダウンは,ディメンションの階層に従って,データを掘り下げて分析する操作である。図1の例では,「期間」ディメンションの「年」階層から「月」階層にドリルダウンしている。なお,ドリルダウンの反対で,より上位の階層に戻る操作を「ドリルアップ」と呼ぶ。

 スライシングは,多次元データベースの目に見えていない奥行きになっている次元(図1では,期間と地域で集計値を掘り下げているため,製品の階層は見えない)に沿って切れ目を入れて(スライスして),データの対象を絞り込む操作である。図1の例では,「製品」ディメンションに沿ってスライスして,製品Aだけを対象としたデータに絞り込んでいる。

 ダイシングは,多次元データベースをさいころ(ダイス)に見立て,それを転がす(ダイシングする)ことによって,目に見える面を取り替える操作である。図1の例では,「地域」ディメンションと「製品」ディメンションをダイシングにより,取り替えている。

OpenOLAPの構成と動作環境

 OpenOLAPを動作させるためには,表1[拡大表示]に示したソフトウエアが必要である。なお,Linuxディストリビューションや各ソフトウエアのバージョンは,あくまでも開発者が動作確認をしているものである。OpenOLAPは,JSP(Java Server Pages)とSQLで記述されており,これ以外の環境でも動作するだろう(もしくは簡単に移植できるだろう)。

 OpenOLAPの構成を図2[拡大表示]に示す。OpenOLAPでは,「Designer」と呼ばれるモジュールで多次元データベースの作成を,「Viewer」と呼ばれるモジュールでOLAP分析操作を行う。



(中)に続く