(57)【要約】【課題】  非正規化状態の次元テーブルにおける次元階層を効率的に抽出する次元テーブル処理装置５０を提供する。【解決手段】  第２情報提示手段５２は、管理者が第１情報に係る事実テーブルの中から選択した事実テーブルを受理して、該事実テーブルに対してスタースキーマにより関連付けられている次元テーブルについての情報を第２情報として管理者に提示する。次元階層抽出手段５３は、管理者が第２情報に係る次元テーブルの中から選択した次元テーブルを処理対象次元テーブルとして受理し、該処理対象次元テーブルにおける各列について該列に属する各セルのデータに基づき所定の評価値を計算し、各列の評価値に基づき各列の次元階層を抽出する。第３情報提示手段５４は、次元階層抽出手段が抽出した処理対象次元テーブルの次元階層を第３情報として管理者に提示する。【選択図】      図５
2006318422.tif 000002
【特許請求の範囲】
【請求項１】
多次元データベースに含まれている複数個の事実テーブルについての情報を第１情報として管理者に提示する第１情報提示手段、
前記管理者が第１情報に係る事実テーブルの中から選択した事実テーブルを受理して該事実テーブルに対してスタースキーマにより関連付けられている次元テーブルについての情報を第２情報として前記管理者に提示する第２情報提示手段、
前記管理者が第２情報に係る次元テーブルの中から選択した次元テーブルを処理対象次元テーブルとして受理し、該処理対象次元テーブルにおける各列について該列に属する各セルのデータに基づき所定の評価値を計算し、各列の評価値に基づき各列の次元階層を抽出する次元階層抽出手段、
前記次元階層抽出手段が抽出した前記処理対象次元テーブルの次元階層を第３情報として前記管理者に提示する第３情報提示手段、及び
前記管理者が第３情報に基づき承認した次元階層を承認済み次元階層として受理する承認受理手段、
を有していることを特徴とする次元テーブル処理装置。
【請求項２】
前記処理対象次元テーブルが非正規化されたもの及び正規化されたもののどちらであるかを判定し前記処理対象次元テーブルが非正規化されたものであれば前記次元階層抽出手段が前記処理対象次元テーブルを受理し、また、前記処理対象次元テーブルが正規化されたものであれば正規化次元テーブル用処理手段が前記処理対象次元テーブルを受理するように切替を実施する受理切替手段、
受理した処理対象次元テーブルに対し該処理対象次元テーブルを出発点の次元テーブルとして順番に、参照元の列をもつ次元テーブルから参照整合制約による参照先の列をもつ次元テーブルへ辿っていき、各次元テーブルにおいて参照先となった各列の次元階層を、出発点の次元テーブルの列からの辿り順に、より上位の次元階層に位置付けて抽出する前記正規化次元テーブル用処理手段、及び
前記正規化次元テーブル用処理手段が前記次元テーブルについて抽出した次元階層を前記管理者に第３情報として提示する前記第３情報提示手段、
を有していることを特徴とする請求項１記載の次元テーブル処理装置。
【請求項３】
前記次元階層抽出手段は、前記管理者が第２情報に係る次元テーブルの中から選択した次元テーブルに代えて、第２情報に含まれる全部の次元テーブルを処理対象とすることを特徴とする請求項１記載の次元テーブル処理装置。
【請求項４】
前記承認済み次元階層は、前記管理者が第３情報に基づき修正して承認した修正付き次元階層を含む前記承認受理手段、
を有していることを特徴とする請求項１記載の次元テーブル処理装置。
【請求項５】
前記修正付き次元階層は１個以上の次元階層を含み、該１個以上の次元階層には、前記第３情報で提示した複数個の次元階層において前記管理者が一部の次元階層を削除してその結果として残った１個以上の次元階層、前記第３情報で提示した複数個の次元階層において所定の次元階層から枝分かれした枝上のすべての次元階層を前記管理者が削除してその結果として残った１個以上の次元階層、又は前記枝の枝分かれ点を変更された１個以上の次元階層が含まれていることを特徴とする請求項４記載の次元テーブル処理装置。
【請求項６】
承認済み次元階層を多次元データベースのメタデータとして保存する保存手段、
を有していることを特徴とする請求項１記載の次元テーブル処理装置。
【請求項７】
次元階層抽出手段における前記評価値とは、各列におけるカーディナリティ、又は所定の列に対する各列の相関係数であることを特徴とする請求項１記載の次元テーブル処理装置。
【請求項８】
処理対象次元テーブルにおいて、各列について該列に属する各セルのデータに基づき評価値を計算する評価値計算手段、
前記評価値に基づき前記処理対象次元テーブルの各列を順位付けする順位付け手段、及び
前記順位付けに従い前記処理対象次元テーブルの各列の次元階層を決定する次元階層決定手段、
を有していることを特徴とする次元階層抽出装置。
【請求項９】
前記評価値とは、各列におけるカーディナリティ、又は所定の列に対する相関係数であることを特徴とする請求項８記載の次元階層抽出装置。
【請求項１０】
多次元データベースに含まれている複数個の事実テーブルについての情報を第１情報として管理者に提示する第１情報提示ステップ、
前記管理者が第１情報に係る事実テーブルの中から選択した事実テーブルを受理して該事実テーブルに対してスタースキーマにより関連付けられている次元テーブルについての情報を第２情報として前記管理者に提示する第２情報提示ステップ、
前記管理者が第２情報に係る次元テーブルの中から選択した次元テーブルを処理対象次元テーブルとして受理し、該処理対象次元テーブルにおける各列について該列に属する各セルのデータに基づき所定の評価値を計算し、各列の評価値に基づき各列の次元階層を抽出する次元階層抽出ステップ、
前記次元階層抽出ステップが抽出した前記処理対象次元テーブルの次元階層を第３情報として前記管理者に提示する第３情報提示ステップ、及び
前記管理者が第３情報に基づき承認した次元階層を承認済み次元階層として受理する承認受理ステップ、
を有していることを特徴とする次元テーブル処理方法。
【請求項１１】
前記処理対象次元テーブルが非正規化されたもの及び正規化されたもののどちらであるかを判定し前記処理対象次元テーブルが非正規化されたものであれば前記次元階層抽出ステップが前記処理対象次元テーブルを受理し、また、前記処理対象次元テーブルが正規化されたものであれば正規化次元テーブル用処理ステップが前記処理対象次元テーブルを受理するように切替を実施する受理切替ステップ、
受理した処理対象次元テーブルに対し該処理対象次元テーブルを出発点の次元テーブルとして順番に、参照元の列をもつ次元テーブルから参照整合制約による参照先の列をもつ次元テーブルへ辿っていき、各次元テーブルにおいて参照先となった各列の次元階層を、出発点の次元テーブルの列からの辿り順に、より上位の次元階層に位置付けて抽出する前記正規化次元テーブル用処理ステップ、及び
前記正規化次元テーブル用処理ステップが前記次元テーブルについて抽出した次元階層を前記管理者に第３情報として提示する前記第３情報提示ステップ、
を有していることを特徴とする請求項１０記載の次元テーブル処理方法。
【請求項１２】
前記次元階層抽出ステップでは、前記管理者が第２情報に係る次元テーブルの中から選択した次元テーブルに代えて、第２情報に含まれる全部の次元テーブルを処理対象とすることを特徴とする請求項１０記載の次元テーブル処理方法。
【請求項１３】
前記承認済み次元階層は、前記管理者が第３情報に基づき修正して承認した修正付き次元階層を含む前記承認受理ステップ、
を有していることを特徴とする請求項１０記載の次元テーブル処理方法。
【請求項１４】
前記修正付き次元階層は１個以上の次元階層を含み、該１個以上の次元階層には、前記第３情報で提示した複数個の次元階層において前記管理者が一部の次元階層を削除してその結果として残った１個以上の次元階層、前記第３情報で提示した複数個の次元階層において所定の次元階層から枝分かれした枝上のすべての次元階層を前記管理者が削除してその結果として残った１個以上の次元階層、又は前記枝の枝分かれ点を変更された１個以上の次元階層が含まれていることを特徴とすることを特徴とする請求項１３記載の次元テーブル処理方法。
【請求項１５】
承認済み次元階層を多次元データベースのメタデータとして保存する保存ステップ、
を有していることを特徴とする請求項１０記載の次元テーブル処理方法。
【請求項１６】
次元階層抽出ステップにおける前記評価値とは、各列におけるカーディナリティ、又は所定の列に対する各列の相関係数であることを特徴とする請求項１０記載の次元テーブル処理方法。
【請求項１７】
処理対象次元テーブルにおいて、各列について該列に属する各セルのデータに基づき評価値を計算する評価値計算ステップ、
評価値に基づき前記処理対象次元テーブルの各列を順位付けする順位付けステップ、及び
前記順位付けに従い前記処理対象次元テーブルの各列の次元階層を決定する次元階層決定ステップ、
を有していることを特徴とする次元階層抽出方法。
【請求項１８】
前記評価値とは、各列におけるカーディナリティ、又は所定の列に対する相関係数であることを特徴とする請求項７記載の次元階層抽出方法。
【請求項１９】
多次元データベースに含まれている複数個の事実テーブルについての情報を第１情報として管理者に提示する第１情報提示ステップ、
前記管理者が第１情報に係る事実テーブルの中から選択した事実テーブルを受理して該事実テーブルに対してスタースキーマにより関連付けられている次元テーブルについての情報を第２情報として前記管理者に提示する第２情報提示ステップ、
前記管理者が第２情報に係る次元テーブルの中から選択した次元テーブルを処理対象次元テーブルとして受理し、該処理対象次元テーブルにおける各列について該列に属する各セルのデータに基づき所定の評価値を計算し、各列の評価値に基づき各列の次元階層を抽出する次元階層抽出ステップ、
前記次元階層抽出ステップが抽出した前記処理対象次元テーブルの次元階層を第３情報として前記管理者に提示する第３情報提示ステップ、及び
前記管理者が第３情報に基づき承認した次元階層を承認済み次元階層として受理する承認受理ステップ、
をコンピュータに実行させるための次元テーブル処理プログラム。
【請求項２０】
請求項１９の次元テーブル処理プログラムにおいて、
前記処理対象次元テーブルが非正規化されたもの及び正規化されたもののどちらであるかを判定し前記処理対象次元テーブルが非正規化されたものであれば前記次元階層抽出ステップが前記処理対象次元テーブルを受理し、また、前記処理対象次元テーブルが正規化されたものであれば正規化次元テーブル用処理ステップが前記処理対象次元テーブルを受理するように切替を実施する受理切替ステップ、
受理した処理対象次元テーブルに対し該処理対象次元テーブルを出発点の次元テーブルとして順番に、参照元の列をもつ次元テーブルから参照整合制約による参照先の列をもつ次元テーブルへ辿っていき、各次元テーブルにおいて参照先となった各列の次元階層を、出発点の次元テーブルの列からの辿り順に、より上位の次元階層に位置付けて抽出する前記正規化次元テーブル用処理ステップ、及び
前記正規化次元テーブル用処理ステップが前記次元テーブルについて抽出した次元階層を前記管理者に第３情報として提示する前記第３情報提示ステップ、
をコンピュータに実行させるための次元テーブル処理プログラム。
【請求項２１】
請求項１９の次元テーブル処理プログラムにおいて、
前記次元階層抽出ステップでは、前記管理者が第２情報に係る次元テーブルの中から選択した次元テーブルに代えて、第２情報に含まれる全部の次元テーブルを処理対象とする次元テーブル処理プログラム。
【請求項２２】
請求項１９の次元テーブル処理プログラムにおいて、
前記承認済み次元階層は、前記管理者が第３情報に基づき修正して承認した修正付き次元階層を含む前記承認受理ステップ、
をコンピュータに実行させるための次元テーブル処理プログラム。
【請求項２３】
請求項２２の次元テーブル処理プログラムにおいて、
前記修正付き次元階層は１個以上の次元階層を含み、該１個以上の次元階層には、前記第３情報で提示した複数個の次元階層において前記管理者が一部の次元階層を削除してその結果として残った１個以上の次元階層、前記第３情報で提示した複数個の次元階層において所定の次元階層から枝分かれした枝上のすべての次元階層を前記管理者が削除してその結果として残った１個以上の次元階層、又は前記枝の枝分かれ点を変更された１個以上の次元階層が含まれている次元テーブル処理プログラム。
【請求項２４】
請求項１９の次元テーブル処理プログラムにおいて、
承認済み次元階層を多次元データベースのメタデータとして保存する保存ステップ、
をコンピュータに実行させるための次元テーブル処理プログラム。
【請求項２５】
請求項１９の次元テーブル処理プログラムにおいて、
次元階層抽出ステップにおける前記評価値とは、各列におけるカーディナリティ、又は所定の列に対する各列の相関係数である次元テーブル処理プログラム。
【請求項２６】
処理対象次元テーブルにおいて、各列について該列に属する各セルのデータに基づき評価値を計算する評価値計算ステップ、
評価値に基づき前記処理対象次元テーブルの各列を順位付けする順位付けステップ、及び
前記順位付けに従い前記処理対象次元テーブルの各列の次元階層を決定する次元階層決定ステップ、
をコンピュータに実行させるための次元階層抽出プログラム。
【請求項２７】
請求項２６の次元階層抽出プログラムにおいて、
前記評価値とは、各列におけるカーディナリティ、又は所定の列に対する相関係数である次元階層抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データウェアハウス等で使用される次元テーブルにおける次元階層を処理する次元テーブル処理装置、次元階層抽出装置、次元テーブル処理方法、次元階層抽出方法及びプログラムに関するものである。
【背景技術】
【０００２】
ＯＬＡＰを使用する多次元データ分析では、リレーショナルデータベース上でデータウェアハウスあるいはデータマートを構築し、分析の視点となる事象を定めて様々な角度から柔軟な集計を行っている。この際、アプリケーションから見た分析の視点となる属性には階層といった考え方が存在し、分析の細かさを決定する。
【０００３】
具体的には、製品別の売り上げという視点でレポートを分析する場合、「大分類ごとの売上高」、「中分類ごとの売上高」、「製品コードごとの売上高」といった３つの分析の粒度が視点の階層となる。この階層を多次元データ分析では「次元階層」と呼ぶ。これは、属性となる製品などの情報が格納されるマスターテーブルが、「次元テーブル」と呼ばれるからである。
【０００４】
データウェアハウスあるいはデータマートを利用した分析アプリケーションを構築する場合、この次元階層や多次元データモデルを容易に構築する仕組みはデータウェアハウス管理者にとって非常に重要な作業になる。
【０００５】
従来技術における次元階層の構築は次のように行なわれている。
（１）ＤＢＡ（データベース管理者）は、関連する次元テーブルをデータベース内のテーブルの一覧から選択する。 
（２）ＤＢＡは、選択した各テーブルに対して、次元階層として必要である列を選択する。
（３）ＤＢＡは、選択した列（属性）について、属性からの概念等に基づき階層上の上下関係を把握し、上位の次元階層から下位の次元階層へ向かって順番にテーブルや列を手作業で構築中のデータベースやテーブルにそれぞれ追加する。
【０００６】
特許文献１は、多次元データベースの処理に関し、２個の木構造を結合する仕組みについて開示する。該仕組みでは、特許文献１の図９〜図１５に関連して説明されているように、結合前の２個の木構造において重複するカテゴリは、所定のルールに従い、結合後の木構造では、１個にまとめられ、これにより、木構造内に同一のカテゴリが重複して存在するのを排除している。
【０００７】
特許文献２は、段落００１２において、事実テーブルに結合されている次元テーブル（マスタテーブル）から読み込んだ結合キーに基づき結合キーテーブルを作成し、それをテストデータの生成に役立てている。
【０００８】
特許文献３は、患者規則帰納法（ＰＲＩＭ）を使って、大量のデータレコードの集合内に高い平均値領域を見つけ出し、該領域に対してＯＬＡＰ（Ｏｎｌｉｎｅ  Ａｎａｌｙｔｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ）ツールにより集中解析することにより、解析の効率化を図っている。
【特許文献１】特開２０００−１９４７１０公報
【特許文献２】特開２０００−２０５２９公報
【特許文献３】特開２００２−３２８９３７公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＤＢＡにより従来、手作業で行われていた次元階層の抽出は、ＤＢＡが、列としての属性の概念に基づき各列の上下関係を把握して、この把握に基づき、あるいは参照整合制約上の次元テーブルの連鎖関係を把握して、この把握に基づき、行なわれることになるので、すなわち、次元階層の抽出作業に概念把握等の高度の処理が存在するので、このような作業手順を、非正規化された次元テーブルの各列の次元階層の抽出に関するコンピュータ化に適用する場合には、難が生じる。
【００１０】
特許文献１〜３は、多次元データベースの処理、事実テーブル、及びＯＬＡＰなどを開示するものの、非正規化された次元テーブルにおける次元階層抽出処理をコンピュータ化するのに有利な方策はまったく示唆していない。
【００１１】
本発明の目的は、非正規化された次元テーブルにおける次元テーブル処理をコンピュータ化するのに有利な次元テーブル処理装置、次元階層抽出装置、次元テーブル処理方法、次元階層抽出方法及びプログラムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の次元テーブル処理装置、次元階層抽出装置、次元テーブル処理方法、次元階層抽出方法及びプログラムによれば、処理対象の次元テーブルにおいて次元階層を抽出しようとする列について、その列に属する各セルのデータに基づき例えばカーディナリティや相関係数値等の評価値が計算される。そして、評価値に基づき各列の次元階層が抽出される。
【００１３】
評価値を計算する対象となっている処理対象の次元テーブルは非正規化されている。次元テーブル処理装置及び方法が次元テーブルについて抽出した次元階層は、管理者に提示されるが、好ましくは、管理者は次元テーブル処理装置及び方法から提示のあった次元階層について承認するか拒否（拒否とは非承認を意味する。）するかを決めることができるようになっている。承認には、全面的な承認だけでなく、部分的な承認が含まれる。次元テーブル処理装置及び方法が管理者に提示する次元階層情報には、枝分かれを含む次元階層情報（例：図１２）が含まれてもよいとする。管理者による提示次元階層情報に対する部分的な承認には、提示次元階層情報に対して、例えば、少なくとも、一部の次元階層を削除したり、一部の枝（該枝上には１個以上の次元階層が階層順に配置されている。）を削除したり、枝の枝分かれ点を変更したりすることが含まれる。
【００１４】
全面的に又は部分的に承認された次元階層は、好ましくはデータウェアハウス及び／又はデータマートのメタデータとして保存され、ユーザが、後に、ＯＬＡＰを利用して、階層的なデータ分析を行う際に、利用される。
【発明の効果】
【００１５】
本発明によれば、次元階層を抽出しようとする次元テーブルに対し、各列に係るカーディナリティ及び相関係数等の評価値を計算し、各列間の評価値に基づき次元階層を決定するので、次元階層の抽出処理を円滑に自動化（コンピュータ化）できる。
【発明を実施するための最良の形態】
【００１６】
図１は組織内のデータベース１０の概略構成図である。データベースシステム１０は、基幹系システム１１と情報系システム１２とに分けられる。基幹系システム１１は、基幹系データベース１３及び外部データベース１４を備えている。情報系システム１２は、さらに、１個のデータウェアハウス１６と、目的別及び／又は部門別の複数個のデータマート１８とを備えている。データウェアハウス１６及びデータマート１８はそれぞれメタデータ１７，１９を有し、メタデータ１７，１９にはＯＬＡＰ用メタデータが含まれる。データウェアハウス１６は、基幹系データベース１３及び外部データベース１４のデータを統合して構築される。ユーザは、パーソナルコンピュータ２３においてＯＬＡＰを使用しつつ、データマート１８から所望の情報を提供される。
【００１７】
図２はデータウェアハウス１６及びデータマート１８におけるスタースキーマ構造及びスノーフレークスキーマ構造を示している。事実テーブル２５と、次元テーブル２６，２８及び非正規化次元テーブル２７とはスタースキーマ構造を形成している。次元テーブル２６と次元テーブル３０とはスノーフレーク構造を形成している。スタースキーマ構造及びスノーフレークスキーマ構造は共に参照整合制約に基づいている。図２の例では、非正規化次元テーブル２７は非正規化されており、次元テーブル２６，２８，３０は正規化されている。
【００１８】
図３は図２の非正規化次元テーブル２７の具体的内容を示している。図４は内容上、図３の非正規化次元テーブル２７に代替可能となっている正規化された複数個の次元テーブルを示している。図４において、事実テーブル２５と次元テーブル３３とはスタースキーマ構造を形成し、次元テーブル３３−次元テーブル３４、及び次元テーブル３４−次元テーブル３５は参照整合制約に基づくスノーフレークスキーマ構造を形成している。例えば、分類を階層化し（販売製品についての分類を例えば大分類、中分類及び小分類に３個に分ける。）、各階層分類ごとの売上げを分析する場合、複数個の正規化された次元テーブル（次元テーブル３３，３４，３５）を参照整合制約により結合することは、コンピュータの負荷を増大させて、処理時間を増大させるのに対し、非正規化された次元テーブル（非正規化次元テーブル２７）では、結合が省略でき、処理が高速化できる利点がある。
【００１９】
図３の非正規化次元テーブル２７は、釣り製品についての非正規化された次元テーブルとなっている。図３の例では、各製品は、製品ＩＤ（ＰＲＯＤＵＣＴＩＤ）、製品名（ＰＲＯＤＵＣＴＮＡＭＥ）、ファミリー名（ＦＡＭＩＬＹＮＡＭＥ）、及びカテゴリ名（ＣＡＴＥＧＯＲＹＮＡＭＥ）を属性としてもつ。製品名、ファミリー名及びカテゴリ名は製品についてのそれぞれ小分類、中分類及び大分類であると想定して、以下の説明を行なう。ファミリー名には、ロックキャスティングロッド（Ｒｏｃｋ  Ｃａｓｔｉｎｇ  Ｒｏｄ）、フライロッド（Ｆｌｙ  Ｒｏｄ）、バスロッド（Ｂａｓｓ  Ｒｏｄ）、スピニング（Ｓｐｉｎｎｉｎｇ）及びベイト（Ｂａｉｔ）がある。カテゴリ名には、ロッド（Ｒｏｄ）及びリール（Ｒｅｅｌ）がある。
【００２０】
図５は次元テーブル処理装置５０の機能ブロック図である。次元テーブル処理装置５０は第１情報提示手段５１、第２情報提示手段５２、次元階層抽出手段５３、第３情報提示手段５４及び承認受理手段５５を有している。第１情報提示手段５１は、多次元データベースに含まれている複数個の事実テーブルについての情報を第１情報として管理者に提示する。第２情報提示手段５２は、管理者が第１情報に係る事実テーブルの中から選択した事実テーブルを受理して、該事実テーブルに対してスタースキーマにより関連付けられている次元テーブルについての情報を第２情報として管理者に提示する。次元階層抽出手段５３は、管理者が第２情報に係る次元テーブルの中から選択した次元テーブルを処理対象次元テーブルとして受理し、該処理対象次元テーブルにおける各列について該列に属する各セルのデータに基づき所定の評価値を計算し、各列の評価値に基づき各列の次元階層を抽出する。第３情報提示手段５４は、次元階層抽出手段が抽出した処理対象次元テーブルの次元階層を第３情報として管理者に提示する。承認受理手段５５は、管理者が第３情報に基づき承認した次元階層を承認済み次元階層として受理する。
【００２１】
後述の図２０の次元階層抽出方法９９は、次元テーブル処理装置５０とは発明のカテゴリ（装置のカテゴリ及び方法のカテゴリ）が相違するのみで、技術内容はほぼ共通であり、両者を代表して次元テーブル処理装置５０について技術事項を説明する。第１情報は、例えば、図６のような表示形式で、管理者のモニター（図示せず）の画面にリスト表示される。多次元データベースは例えばデータウェアハウス１６（図１）に保存されているものであり、該多次元データベースに含まれている次元テーブル及び事実テーブルが図６のリストに幾つか存在している。次元テーブルは事実テーブルより多く、リストに含まれている。次元テーブルの管理者とは例えばＤＢＡである。
【００２２】
第２情報は、例えば、図７のように、管理者のモニターの画面に画像表示される。管理者が第１情報から選択した事実テーブル６０と共に、該事実テーブル６０に対して、スタースキーマにより関連付けられている複数個（図では５個）の次元テーブル６１ａ〜ｅが画面に表示される。これら次元テーブル６１ａ〜ｅは、たいていは、非正規化されている次元テーブルであるが、正規化されている次元テーブルも存在することがある。管理者は、典型的には、第２情報より１個の次元テーブルを選択するが、複数個の次元テーブルを選択してもよいとする。複数個の次元テーブルが選択された場合、次元階層抽出手段５３〜承認受理手段５５では、選択された各次元テーブルに対して各処理が行われることになる。管理者が選択した次元テーブルが例えば図３の非正規化次元テーブル２７であったと仮定して、説明する。
【００２３】
次元階層抽出手段５３において計算される評価値は例えばカーディナリティ（Ｃａｒｄｉｎａｌｔｙ）又は相関係数である。カーディナリティ及び相関係数については後で詳説する。セルとは、テーブルにおいて行と列とが交差する升目のことであり、各タプル（行）の属性（列）に係るデータがセルに書き込まれている。図３の非正規化次元テーブル２７では、ロックキャスティング１（Ｒｏｃｋ  Ｃａｓｔｉｎｇ  １）とか、フライロッド（Ｆｌｙ  Ｒｏｄ）とか、リール（Ｒｅｅｌ）とかのデータが書き込まれている１つ１つがセルとなっている。評価値と非正規化された次元テーブルの列の次元階層とは、対応関係があるので、各列の評価値に基づき列間の階層関係、したがって各列の次元階層が抽出できる。第３情報提示手段５４は、次元階層抽出手段５３が抽出した次元階層を第３情報として管理者に提示する。
【００２４】
第３情報は、例えば、図８のように、管理者のパソコンのモニターの画面に画像表示される。各列の属性名としてのカテゴリ名（ＣＡＴＥＧＯＲＹＮＡＭＥ）、ファミリー名（ＦＡＭＩＬＹＮＡＭＥ）及び製品名（ＰＲＯＤＵＣＴＮＡＭＥ）が階層の上位から下位へ順番に並べられて画面表示される。次元階層抽出手段５３が抽出した次元階層に対し、管理者は、場合によっては、承認できないことがあるので、管理者は、第３情報として提示された次元階層の採用について承認権をもち、承認した次元階層が承認受理手段５５により受理される。承認後の処理は例えば後述の図１３の保存手段８１によって行われる。
【００２５】
こうして、次元テーブル処理装置５０では、非正規化された次元テーブルの各列間の階層関係としての次元階層が、各列について該列に属する各セルのデータに基づき計算した所定の評価値に基づき、抽出される。該抽出処理には、或る列の属性名が他の列の属性名に対して上位概念にあるか下位概念にあるかの概念把握を必要としないので、コンピュータ処理へ支障なく適用できる。
【００２６】
次元テーブル処理装置５０は例えばコンピュータ・ソフトウェアとして実現される。コンピュータ・ソフトウェアの具体的なプログラムでは、変数及び配列が使用され、それらは、主記憶装置及び／又は補助記憶装置等の記憶手段に対するデータの読み書きを利用して、値の代入、更新及び読み出しが行われる。記憶手段を含む次元テーブル処理装置５０の構成は次のとおりとなる。ただし、データの読み書きに係る手段のみ説明する。記憶手段は多次元データベースを記憶する。前述の第１情報提示手段５１は、多次元データベースに含まれている複数個の事実テーブルを記憶手段から読み出し、該事実テーブルについての情報を第１情報として管理者に提示する。前述の第２情報提示手段５２は、管理者が第１情報に係る事実テーブルの中から選択した事実テーブルを受理して、該事実テーブルに対してスタースキーマにより関連付けられている次元テーブルを記憶手段から読み出し、該次元テーブルについての情報を第２情報として管理者に提示する。次元階層抽出手段５３は、管理者が第２情報に係る次元テーブルの中から選択した次元テーブルを処理対象次元テーブルとして受理し、該処理対象次元テーブルにおける各列について該列に属する各セルのデータを記憶手段から読み出し、各セルのデータに基づき所定の評価値を計算し、各列の評価値に基づき各列の次元階層を抽出する。
【００２７】
図９は次元テーブル処理装置５０により抽出した次元階層を利用した分析例を示している。ユーザは、分析作業にＯＬＡＰを使用し、各階層分類ごとに販売実績が分析されている。すなわち、西暦２００３年の各四半期（Ｑｔｒ１，Ｑｔｒ２，・・・）の販売実績を（ａ）大分類としてのカテゴリ別、（ｂ）中分類としてのファミリー別、及び（ｃ）小分類としての製品別に分析され、分析結果が例えばパーソナルコンピュータ２３（図１）の画面に表示される。分析結果は、画面への出力の外、プリンタから印刷物として出力されてもよい。
【００２８】
図１０は別の次元テーブル処理装置７０の機能ブロック図である。次元テーブル処理装置７０では、図５の次元テーブル処理装置５０に対して、受理切替手段７１及び正規化次元テーブル用処理手段７２が追加され、第３情報提示手段５４は機能を追加されている。受理切替手段７１は、処理対象次元テーブルが非正規化されたもの及び正規化されたもののどちらであるかを判定し、処理対象次元テーブルが非正規化されたものであれば、次元階層抽出手段５３が処理対象次元テーブルを受理し、また、処理対象次元テーブルが正規化されたものであれば、正規化次元テーブル用処理手段７２が処理対象次元テーブルを受理するように、切替を実施する。正規化次元テーブル用処理手段７２は、受理した処理対象次元テーブルに対し該処理対象次元テーブルを出発点の次元テーブルとして順番に、参照元の列をもつ次元テーブルから参照整合制約による参照先の列をもつ次元テーブルへ辿っていき、各次元テーブルにおいて参照先となった各列の次元階層を、出発点の次元テーブルの列からの辿り順に、より上位の次元階層に位置付けて抽出する。第３情報提示手段５４は、正規化次元テーブル用処理手段７２が次元テーブルについて抽出した次元階層を管理者に第３情報として提示する。
【００２９】
図１０の次元テーブル処理装置７０について、記憶手段のデータの読み書きに関与する手段を抜粋して、その構成を説明すると次のようになる。正規化次元テーブル用処理手段７２は、受理した処理対象次元テーブルに対し該処理対象次元テーブルを出発点の次元テーブルとして順番に、参照元の列をもつ次元テーブルから参照整合制約による参照先の列をもつ次元テーブルへ辿っていき、各次元テーブルにおいて参照先となった各列の次元階層を、出発点の次元テーブルの列からの辿り順に、より上位の次元階層に位置付けて抽出する。
【００３０】
後述の図２１の次元階層抽出方法１０９は次元テーブル処理装置７０とは発明のカテゴリ（装置のカテゴリ及び方法のカテゴリ）が相違するのみで、技術内容はほぼ共通であり、両者を代表して次元テーブル処理装置７０について技術事項を説明する。管理者は、例えば、図７の表示から１個の次元テーブルを選択するが、該選択された次元テーブルが、非正規化されたものではなく、正規化されたものである場合があり得る。その場合、次元階層抽出手段５３による評価値の計算及び次元階層の抽出は困難となるので、正規化次元テーブル用処理手段７２が正規化次元テーブルにおける次元階層抽出処理を代行する。例えば、図７において、次元テーブル６１ｂが図４の正規化された次元テーブル３３であり、管理者は、図７の第２情報提示において、次元テーブル６１ｂを選択した場合を想定する。正規化次元テーブル用処理手段７２は、図４の参照整合制約に基づき下位の次元テーブル３３から上位の方へ（スノーフレークスキーマの先端の方へ）次元テーブル３４及び次元テーブル３５を順番に辿ることにより、カテゴリ名、ファミリー名及び製品名の間における上位から下位への次元階層は、辿り順とは逆に、カテゴリ名→ファミリー名→製品名と並ぶことを抽出する。正規化次元テーブル用処理手段７２により抽出された次元階層は、次元階層抽出手段５３により抽出された次元階層と同様に、第３情報提示手段５４により第３情報として管理者に提示される。
【００３１】
次元テーブルが正規化されたものであるか非正規化されたものであるかは、参照整合制約に基づきさらに先の次元テーブルへ辿ることができるか否かにより検出できる。第２情報に含まれる次元テーブルの内、正規化された次元テーブルは、参照整合制約に基づきさらに先の次元テーブルへ辿れるのに対し、非正規化された次元テーブルは、該次元テーブルに対して参照整合制約により結合している次元テーブルは存在しないので、参照整合制約に基づき上位の階層の次元テーブルへ辿れない。
【００３２】
次元テーブル処理装置５０，７０の変形形態では、次元階層抽出手段５３は、管理者が第２情報に係る次元テーブルの中から選択した次元テーブルに代えて、第２情報に含まれる全部の次元テーブルを処理対象とする。
【００３３】
この場合、管理者は、第２情報に係る次元テーブルの中から処理対象次元テーブルとする次元テーブルの選択を省略することができる。ユーザには、次元テーブル処理装置５０，７０により各次元テーブルについて抽出された次元階層を、承認するか否かの権利が残される。ユーザにより承認されなかった次元階層は、承認受理手段５５が受理しない。
【００３４】
次元テーブル処理装置５０，７０の別の変形形態では、承認受理手段５５における承認済み次元階層は、管理者が第３情報に基づき修正して承認した修正付き次元階層を含む。好ましくは、修正付き次元階層は１個以上の次元階層を含み、該１個以上の次元階層には、（ａ）第３情報で提示した複数個の次元階層において管理者が一部の次元階層を削除してその結果として残った１個以上の次元階層、（ｂ）第３情報で提示した複数個の次元階層において所定の次元階層から枝分かれした枝上のすべての次元階層を管理者が削除してその結果として残った１個以上の次元階層、又は（ｃ）枝の分岐点を変更された１個以上の次元階層が含まれている。（ａ）の例は図１１に示され、（ｂ）の例は図１２に示され、（ｃ）の例は図１２においてＤａ３及びＤａ４の枝について、その枝分かれ点をＤ２から例えばＤｂ３やＤｂ４へ変更することである。
【００３５】
管理者が、次元テーブル処理装置５０，７０が抽出した次元階層に対して、修正できるようにしたことにより、不要や不適格な次元階層がデータベースに取り込まれるのを排除できる。
【００３６】
図１１は、第３情報提示手段５４が管理者に提示した第３情報に対して、管理者が一部削除の修正を行なった場合を示している。第３情報提示手段５４が、上位から下位の次元階層へ順番にＤ４→Ｄ３→Ｄ２→Ｄ１を提示したのに対し、管理者は、Ｄ３は不適格又は不要としてこれを削除する。この削除に伴い、次元階層Ｄ２の直上の次元階層は、Ｄ３からＤ４へ自動的に変更される。
【００３７】
図１２は、第３情報提示手段５４が管理者に提示した第３情報に対して、管理者が、所定の次元階層から枝分かれした枝を削除する修正を行なった場合を示している。第３情報提示手段５４が、上位から下位の次元階層へ順番にＤａ４→Ｄａ３→Ｄ２→Ｄ１と、Ｄｂ５→Ｄｂ４→Ｄｂ３→Ｄ２→Ｄ１とを提示しており、Ｄ２から上位階層方向へはＤａ３とＤｂ３との２個に分岐している。これに対し、管理者はＤａ４→Ｄａ３の枝を削除した。次元階層の枝分かれの具体例については、図１８において詳述する。
【００３８】
図１３はさらに別の次元テーブル処理装置８０について主要部のみを抜粋した機能ブロック図である。次元テーブル処理装置８０では、次元テーブル処理装置５０又は７０の承認受理手段５５の次段に保存手段８１が追加される。保存手段８１は、承認済み次元階層を例えば図１のメタデータ１７又はデータマート１８のような多次元データベースのメタデータとして保存する。保存手段による保存場所は例えば前述の記憶手段である。
【００３９】
後述の図２２の次元テーブル処理方法１１４は次元テーブル処理装置８０とは発明のカテゴリ（装置のカテゴリ及び方法のカテゴリ）が相違するのみで、技術内容はほぼ共通であり、両者を代表して次元テーブル処理装置８０について技術事項を説明する。次元階層をメタデータとして保存することにより、ＯＬＡＰ等において次元階層が活用できる。
【００４０】
次元テーブル処理装置５０，７０，８０において、次元階層検出手段５３における評価値とは、例えば各列におけるカーディナリティ、又は基準の列に対する相関係数である。
【００４１】
カーディナリティについて説明する。カーディナリティとは、非正規化された次元テーブルの各列における固有値の個数と定義する。図１４は図３の非正規化次元テーブル２７について計算したカーディナリティを示している。製品名には計１０個の固有値が存在するので、製品名の列のカーディナリティは１０となる。ファミリー名には、ロックキャスティングロッド（Ｒｏｃｋ  Ｃａｓｔｉｎｇ  Ｒｏｄ）、フライロッド（Ｆｌｙ  Ｒｏｄ）、バスロッド（Ｂａｓｓ  Ｒｏｄ）、スピニング（Ｓｐｉｎｎｉｎｇ）及びベイト（Ｂａｉｔ）の計５個の固有値が存在するので、ファミリー名の列のカーディナリティは５となる。カテゴリ名には、ロッド（Ｒｏｄ）及びリール（Ｒｅｅｌ）の計２個存在するので、カテゴリ名の列のカーディナリティは２となる。
【００４２】
各列（列＝属性）のカーディナリティを検出するＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）は次のとおりである。（１）〜（３）はそれぞれ属性が製品名、ファミリー名及びカテゴリ名であるカーディナリティを検出するＳＱＬに対応している。「DB2ADMIN.PRODUCT」は非正規化次元テーブル２７について使用したテーブル名であり、ＴＴは副問合せの結果を一時的に格納するテーブル名である。ｃｏｕｎｔ（１）は、ＴＴの出発点の列の固有値の個数を計数する集約関数である。カーディナリティ（Ｃａｒｄｉｎａｌｉｔｙ）が低い（Ｌｏｗ）属性程、階層（Ｈｉｅｒａｒｃｈｙ）では上位（Ｔｏｐ）となり、また、カーディナリティが高い（Ｈｉｇｈ）属性程、階層では、下位（Ｂｏｔｔｏｍ）となる。
【００４３】
(1) select count(1) from (select distinct PRODUCTNAME from DB2ADMIN.PRODUCT) TT
(2) select count(1) from (select distinct FAMILYNAME from DB2ADMIN.PRODUCT) TT
(3) select count(1) from (select distinct CATEGORYNAME from DB2ADMIN.PRODUCT) TT
【００４４】
相関係数について説明する。図１５は図３の非正規化次元テーブル２７について計算した相関係数を示している。図１５では、説明の便宜上、製品ＩＤ、製品名、ファミリー名及びカテゴリ名の列をそれぞれＣｏｌ１〜Ｃｏｌ４と名付けている。図１５の相関テーブル（Ｃｏｒｒｅｌａｔｉｏｎ  Ｔａｂｌｅ）に、列間の相関係数が記入されている。図１６は相関係数の計算のために図３の非正規化次元テーブル２７の各固有値を各列ごとに割り振った数値（自然数）を示すテーブルである。非正規化次元テーブル２７の異なる固有値（図３）は、異なる自然数（図１６）へ変換されるとともに、自然数は１から順番に使用されている。図１７は相関係数ｒの算出式である。図１５の相関テーブルでは、列（Ｃｏｌ１〜Ｃｏｌ４）に対する行（製品ＩＤ、製品名、ファミリー名及びカテゴリ名）の相関係数が記載されており、図１７の相関係数算出式では、図１６において基準列における数値をｘの数値とし、基準列に対して相関関係を調べられる列の数値をｙの数値としている。
【００４５】
図１５の相関表の相関係数から分かるように、基準列Ｃｏｌ１に対する相関係数調査列Ｃｏｌ２，Ｃｏｌ３，Ｃｏｌ４の相関係数はそれぞれ１．００、０．９７及び０．８５であり、基準列Ｃｏｌ２に対する相関係数調査列Ｃｏｌ３，Ｃｏｌ４の相関係数はそれぞれ０．９７および０．８５である。最初の基準列は、典型的には、事実テーブルの属性に含まれる非正規化次元テーブル２７の列としてのＣｏｌ１が選択される。Ｃｏｌ２に対してもっとも相関係数の高い列はＣｏｌ３の０．９７であるので、Ｃｏｌ３は、Ｃｏｌ２の直上の次元テーブルとされる。次に、このＣｏｌ３に対してもっとも相関係数の高い列はＣｏｌ３の０．８９であるので（相関係数の計算された列はＣｏｌ３しかないので、）、Ｃｏｌ３は、Ｃｏｌ２の直上の次元テーブルとされる。図１５の下部の相関（Ｃｏｒｒａｌａｔｉｏｎ）及び階層（Ｈｉｅｒａｃｈｙ）の領域に図示されているように、相関の低い（Ｌｏｗ）列程、階層は高くなる。
【００４６】
図１８は図１２で説明した次元階層が枝分かれする非正規化次元テーブルの具体例を示している。カーディナリティを計算すると、商品コードのカーディナリティは１０、商品名のカーディナリティは１０、商品区分のカーディナリティは４、容器種別のカーディナリティは２となる。カーディナリティから単純に次元階層を抽出すると、次元階層が上位から下位となる順番に容器種別→商品区分→商品名と並ぶ。しかしながら、商品区分と容器種別を対比すると、商品区分のビールが、商品コードの１，２では、容器種別の缶に含まれるのに対し、商品コードの３では、容器種別のビンに含まれている。したがって、カーディナリティから単純に、容器種別は商品区分より上位の次元階層と判断するのは早計となる。商品名−商品区分間、及び商品名−容器種別間では、カーディナリティに基づいて下位の次元階層とされた商品名における１個の固有値が、カーディナリティに基づいて上位の次元階層とされた商品区分又は容器種別における複数個の固有値に対応付けられることはない。したがって、商品名から１個、上位の次元階層へは、商品区分と容器種別との２個へ枝分かれすることになる。次元テーブル処理装置５０，７０，８０は、このような枝分かれを、下位の列の固有値と上位の列の固有値とが複数：１の関係にあるか、又は複数：複数の関係にあるかのいずれかにあるかを判定し、複数：複数の関係にあれば、枝分かれが起きていると判断する。
【００４７】
図１９は次元階層抽出装置９０の機能ブロック図である。次元階層抽出装置９０は、評価値計算手段９１、順位付け手段９２及び次元階層決定手段９３を有している。評価値計算手段９１は、処理対象次元テーブルにおいて、各列について該列に属する各セルのデータに基づき評価値を計算する。順位付け手段９２は、評価値に基づき処理対象次元テーブルの各列を順位付けする。次元階層決定手段９３は、順位付けに従い処理対象次元テーブルの各列の次元階層を決定する。
【００４８】
後述の図２３の次元階層抽出方法１５０は次元階層抽出装置９０とは発明のカテゴリ（装置のカテゴリ及び方法のカテゴリ）が相違するのみで、技術内容はほぼ共通であり、両者を代表して次元階層抽出装置９０について技術事項を説明する。評価値計算手段９１における評価値とは、例えば、各列におけるカーディナリティ、又は所定の列に対する相関係数である。評価値をカーディナリティとする場合、カーディナリティが低い列程、上位の次元階層となる。評価値を相関係数とする場合、基準の列に対する相関係数が一番高い列が、基準の列に近い次元階層となる。次元階層抽出装置９０は、評価値計算手段９１における処理に先立ち、対象次元テーブルが非正規化であるか否かを調べ、非正規化されている次元テーブルのみを対象次元テーブルとすることもできる。
【００４９】
図２０は次元テーブル処理方法９９のフローチャートである。第１情報提示ステップＳ１００では、多次元データベースに含まれている複数個の事実テーブルについての情報を第１情報として管理者に提示する。第２情報提示ステップＳ１０１では、管理者が第１情報に係る事実テーブルの中から選択した事実テーブルを受理して、該事実テーブルに対してスタースキーマにより関連付けられている次元テーブルについての情報を第２情報として管理者に提示する。次元階層抽出ステップＳ１０２では、管理者が第２情報に係る次元テーブルの中から選択した次元テーブルを処理対象次元テーブルとして受理し、該処理対象次元テーブルにおける各列について該列に属する各セルのデータに基づき所定の評価値を計算し、各列の評価値に基づき各列の次元階層を抽出する。第３情報提示ステップＳ１０３では、次元階層抽出ステップＳ１０２において抽出した処理対象次元テーブルの次元階層を第３情報として管理者に提示する。承認受理ステップＳ１０４では、管理者が第３情報に基づき承認した次元階層を承認済み次元階層として受理する。
【００５０】
図２１は別の次元テーブル処理方法１０９のフローチャートである。次元テーブル処理方法９９との相違点のみを説明する。受理切替ステップＳ１１０では、処理対象次元テーブルが非正規化されたもの及び正規化されたもののどちらであるかを判定し、処理対象次元テーブルが非正規化されたものであれば、次元階層抽出ステップＳ１０２が処理対象次元テーブルを受理し、また、処理対象次元テーブルが正規化されたものであれば、正規化次元テーブル用処理ステップＳ１１１が処理対象次元テーブルを受理するように切替を実施する。正規化次元テーブル用処理ステップＳ１１１では、受理した処理対象次元テーブルに対し該処理対象次元テーブルを出発点の次元テーブルとして順番に、参照元の列をもつ次元テーブルから参照整合制約による参照先の列をもつ次元テーブルへ辿っていき、各次元テーブルにおいて参照先となった各列の次元階層を、出発点の次元テーブルの列からの辿り順に、より上位の次元階層に位置付けて抽出する。第３情報提示ステップＳ１０３では、正規化次元テーブル用処理ステップＳ１１１において次元テーブルについて抽出した次元階層を管理者に第３情報として提示する。
【００５１】
次元テーブル処理方法９９，１０９の次元階層抽出ステップＳ１０２では、管理者が第２情報に係る次元テーブルの中から選択した次元テーブルに代えて、第２情報に含まれる全部の次元テーブルを処理対象とすることもできる。
【００５２】
図２２は別の次元テーブル処理方法１１４のフローチャートである。Ｓ１０３までのステップは、次元テーブル処理方法９９，１０９のものと同一である。次元テーブル処理方法９９，１０９との相違点について述べると、承認受理ステップＳ１０４では、修正付き次元階層は１個以上の次元階層を含み、該１個以上の次元階層には、第３情報で提示した複数個の次元階層において管理者が一部の次元階層を削除してその結果として残った１個以上の次元階層、第３情報で提示した複数個の次元階層において所定の次元階層から枝分かれした枝上のすべての次元階層を管理者が削除してその結果として残った１個以上の次元階層、又は枝の分岐点を変更された１個以上の次元階層が含まれている。さらに、保存ステップＳ１２０では、承認済み次元階層を多次元データベースのメタデータとして保存する。
【００５３】
次元テーブル処理方法９９，１０９，１１４において、次元階層抽出ステップＳ１０２における評価値とは、各列におけるカーディナリティ、又は所定の列に対する各列の相関係数である。
【００５４】
図２３は次元階層抽出方法１５０のフローチャートである。評価値計算ステップＳ１５１では、処理対象次元テーブルにおいて、各列について該列に属する各セルのデータに基づき評価値を計算する。順位付けステップＳ１５２では、評価値に基づき処理対象次元テーブルの各列を順位付けする。次元階層決定ステップＳ１５３では、順位付けに従い処理対象次元テーブルの各列の次元階層を決定する。評価値とは、例えば、各列におけるカーディナリティ、又は所定の列に対する相関係数である。
【００５５】
本発明の装置及び方法は、ハードウェア、ソフトウェア、又はそれらの組み合わせにより実現可能である。ハードウェアとソフトウェアとの組み合わせによる実行において、所定のプログラムを有するコンピュータシステムにおける実行が典型的な例と挙げられる。かかる場合、該所定プログラムが該コンピュータシステムにロードされ実行されることにより、該プログラムは、コンピュータシステムを制御し、本発明に係る処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、又は（ａ）他の言語・コード・表記への変換、（ｃ）他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハードディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のコンピュータシステムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、又は複数に分割して、単一又は複数の記録媒体に格納することもできる。
【００５６】
図２４は本発明のプログラムが実装されるコンピュータ２００の概略構成図である。コンピュータ本体２０１はＣＰＵ２０２及び主記憶装置２０３を含み、ＣＰＵ２０２はさらに演算装置２０４及び制御装置２０５を含む。演算装置２０４は、演算、比較及び判断等を行い、制御装置２０５は主記憶装置２０３や演算装置２０４等を制御する。システムバス２１０は、データバス、アドレスバス及び制御バスから成り、ＣＰＵ２０２、主記憶装置２０３、入力インターフェース２１５、入出力インターフェース２１６、及び出力インターフェース２１７が接続されている。入力装置２２０は例えばキーボードや読出し専用ＣＤドライブ等であり、データを入力インターフェース２１５を介してシステムバス２１０へ送る。外部記憶装置２２１は、例えば、ＨＤ（ハードディスク）装置や読書き可能なＣＤドライブ等であり、入出力インターフェース２１６を介してシステムバス２１０とデータを送受する。出力装置２２２は、例えばディスプレイやプリンタであり、出力インターフェース２１７を介してシステムバス２１０からのデータを受ける。本発明のプログラムは、例えばＨＤ装置等の外部記憶装置２２１に保存され、実行時には主記憶装置２０３へ読み込まれる。
【００５７】
本発明のプログラムは、次元テーブル処理方法９９，１０９，１１４又は次元階層抽出方法１５０における各ステップをコンピュータ２００に実行させる。あるいは、本発明のプログラムは、次元テーブル処理装置５０，７０，８０又は次元階層検出装置９０における各手段としてコンピュータ２００を機能させる。具体的には、次のとおりである。
【００５８】
次元テーブル処理プログラムは、
多次元データベースに含まれている複数個の事実テーブルについての情報を第１情報として管理者に提示する第１情報提示ステップ、
管理者が第１情報に係る事実テーブルの中から選択した事実テーブルを受理して該事実テーブルに対してスタースキーマにより関連付けられている次元テーブルについての情報を第２情報として管理者に提示する第２情報提示ステップ、
管理者が第２情報に係る次元テーブルの中から選択した次元テーブルを処理対象次元テーブルとして受理し、該処理対象次元テーブルにおける各列について該列に属する各セルのデータに基づき所定の評価値を計算し、各列の評価値に基づき各列の次元階層を抽出する次元階層抽出ステップ、
次元階層抽出ステップが抽出した処理対象次元テーブルの次元階層を第３情報として管理者に提示する第３情報提示ステップ、及び
管理者が第３情報に基づき承認した次元階層を承認済み次元階層として受理する承認受理ステップ、
をコンピュータに実行させるためのものである。
【００５９】
次元テーブル処理プログラムは、さらに、次のステップをコンピュータに実行させてもよい。
処理対象次元テーブルが非正規化されたもの及び正規化されたもののどちらであるかを判定し処理対象次元テーブルが非正規化されたものであれば次元階層抽出ステップが処理対象次元テーブルを受理し、また、処理対象次元テーブルが正規化されたものであれば正規化次元テーブル用処理ステップが処理対象次元テーブルを受理するように切替を実施する受理切替ステップ、
受理した処理対象次元テーブルに対し該処理対象次元テーブルを出発点の次元テーブルとして順番に、参照元の列をもつ次元テーブルから参照整合制約による参照先の列をもつ次元テーブルへ辿っていき、各次元テーブルにおいて参照先となった各列の次元階層を、出発点の次元テーブルの列からの辿り順に、より上位の次元階層に位置付けて抽出する正規化次元テーブル用処理ステップ、及び
正規化次元テーブル用処理ステップが次元テーブルについて抽出した次元階層を管理者に第３情報として提示する第３情報提示ステップ。
【００６０】
好ましくは、次元テーブル処理プログラムは、次元階層抽出ステップでは、管理者が第２情報に係る次元テーブルの中から選択した次元テーブルに代えて、第２情報に含まれる全部の次元テーブルを処理対象とする。
【００６１】
好ましくは、次元テーブル処理プログラムでは、承認済み次元階層は、管理者が第３情報に基づき修正して承認した修正付き次元階層を含む承認受理ステップ。
【００６２】
好ましくは、次元テーブル処理プログラムでは、修正付き次元階層は１個以上の次元階層を含み、該１個以上の次元階層には、第３情報で提示した複数個の次元階層において管理者が一部の次元階層を削除してその結果として残った１個以上の次元階層、第３情報で提示した複数個の次元階層において所定の次元階層から枝分かれした枝上のすべての次元階層を管理者が削除してその結果として残った１個以上の次元階層、又は枝の分岐点を変更された１個以上の次元階層が含まれている。
【００６３】
さらに、次元テーブル処理プログラムは次のステップをコンピュータに実行させることもできる。
承認済み次元階層を多次元データベースのメタデータとして保存する保存ステップ。
【００６４】
次元テーブル処理プログラムでは、次元階層抽出ステップにおける評価値とは、例えば、各列におけるカーディナリティ、又は所定の列に対する各列の相関係数である。
【００６５】
次元階層抽出プログラムは次のステップをコンピュータに実行させる。
処理対象次元テーブルにおいて、各列について該列に属する各セルのデータに基づき評価値を計算する評価値計算ステップ、
評価値に基づき処理対象次元テーブルの各列を順位付けする順位付けステップ、及び
順位付けに従い処理対象次元テーブルの各列の次元階層を決定する次元階層決定ステップ。
【００６６】
次元階層抽出プログラムでは、評価値とは、例えば、各列におけるカーディナリティ、又は所定の列に対する相関係数である。
【図面の簡単な説明】
【００６７】
【図１】組織内のデータベース１０の概略構成図である。
【図２】データウェアハウス及びデータマートにおけるスタースキーマ構造及びスノーフレークスキーマ構造を示す図である。
【図３】図２の非正規化次元テーブルの具体的内容を示す図である。
【図４】内容上、図３の非正規化次元テーブルに代替可能となっている正規化された複数個の次元テーブルを示す図である。
【図５】次元テーブル処理装置の機能ブロック図である。
【図６】第１情報の提示例を示す図である。
【図７】第２情報の提示例を示す図である。
【図８】第３情報の提示例を示す図である。
【図９】次元テーブル処理装置により抽出した次元階層を利用した分析例を示す図である。
【図１０】別の次元テーブル処理装置の機能ブロック図である。
【００６８】
【図１１】第３情報提示手段が管理者に提示した第３情報に対して、管理者が一部削除の修正を行なった場合を示す図である。
【図１２】第３情報提示手段が管理者に提示した第３情報に対して、管理者が、所定の次元階層から枝分かれした枝を削除する修正を行なった場合を示す図である。
【図１３】他の次元テーブル処理装置について主要部のみを抜粋した機能ブロック図である。
【図１４】図３の非正規化次元テーブルについて計算したカーディナリティを示す図である。
【図１５】図３の非正規化次元テーブルについて計算した相関係数を示す図である。
【図１６】相関係数の計算のために図３の非正規化次元テーブルの各固有値を各列ごとに割り振った数値を示すテーブルである。
【図１７】相関係数ｒの算出式である。
【図１８】図１２で説明した次元階層が枝分かれする非正規化次元テーブルの具体例を示す図である。
【図１９】次元階層抽出装置の機能ブロック図である。
【図２０】次元テーブル処理方法のフローチャートである。
【００６９】
【図２１】別の次元テーブル処理方法のフローチャートである。
【図２２】別の次元テーブル処理方法のフローチャートである。
【図２３】次元階層抽出方法のフローチャートである。
【図２４】本発明のプログラムが実装されるコンピュータの概略構成図である。
【符号の説明】
【００７０】
１６：データウェアハウス、１７：メタデータ、１８：データマート、１９：メタデータ、２５：事実テーブル、２６：次元テーブル、２７：非正規化次元テーブル、２８〜３５：次元テーブル、５０：次元テーブル処理装置、５１：第１情報提示手段、５２：第２情報提示手段、５３：次元階層抽出手段、５４：第３情報提示手段、５５：承認受理手段、６０：事実テーブル、６１：次元テーブル、７０：次元テーブル処理装置、７１：受理切替手段、７２：正規化次元テーブル用処理手段、８０：次元テーブル処理装置、８１：保存手段、９０：次元階層抽出装置、９１：評価値計算手段、９２：順位付け手段、９３：次元階層決定手段。
【図１】
2006318422.tif 000003
【図２】
2006318422.tif 000004
【図３】
2006318422.tif 000005
【図４】
2006318422.tif 000006
【図５】
2006318422.tif 000007
【図６】
2006318422.tif 000008
【図７】
2006318422.tif 000009
【図８】
2006318422.tif 000010
【図９】
2006318422.tif 000011
【図１０】
2006318422.tif 000012
【図１１】
2006318422.tif 000013
【図１２】
2006318422.tif 000014
【図１３】
2006318422.tif 000015
【図１４】
2006318422.tif 000016
【図１５】
2006318422.tif 000017
【図１６】
2006318422.tif 000018
【図１７】
2006318422.tif 000019
【図１８】
2006318422.tif 000020
【図１９】
2006318422.tif 000021
【図２０】
2006318422.tif 000022
【図２１】
2006318422.tif 000023
【図２２】
2006318422.tif 000024
【図２３】
2006318422.tif 000025
【図２４】
2006318422.tif 000026
【手続補正書】
【提出日】平成17年5月16日(2005.5.16)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2006318422.tif 000027