(57)【要約】【課題】  効率的で高速のデータ・レコードのユーザ規定ｎ次元マトリクス提示またはビューを発生させるための方法およびシステムを提供する。  【解決手段】  開示するのは、データベースに含まれるデータ・レコードのユーザ定義によるピボット・ビューを発生させるための方法およびシステムである。図３に示すように、まず、基礎にあるリアル・ファクト・テーブルを、「１」から「ｘ」（本例ではｘ＝２０）までのファクトの連続番号を与える連続インデクス値（２００）によって拡張する。図４に示す、結果として得られるピボット・ビューでは、各セル（２１０）において、それらのファクトのインデクスを提示し、対応するセルにおいて売上値を合計しなければならない。ピボット・ビューは、シーケンス・ベクトルによって発生させる。図４のピボット・ビューのための基礎にあるシーケンス・ベクトルを図５に示す。これは、２つの欄（２６０、２７０）から成る。左の欄（２６０）は、「１」から「ｘ」までの連続番号を含み、右の欄（２７０）は、順序付けた配列で図３に示す上述のインデクス値（２７５）を含み、これによって図４のピボット・ビューを順次構築する。
2006503357.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのキー次元および少なくとも１つの対応するデータ値フィールドを有するリアル・データ・レコードを有するｍ次元データベースの少なくとも一部の任意のｎ次元マトリクス提示を発生するためのコンピュータ実施方法であって、
前記ｎ次元マトリクス提示に従って前記データ値フィールドのエントリの分類シーケンスを計算するステップと、
前記ｎ次元マトリクス提示の各次元ごとに、前記分類シーケンスへの対応するエントリポイント情報を計算するステップと、
前記計算した分類シーケンスおよび前記計算したエントリポイント情報に基づいて、前記ｎ次元マトリクス提示の濃度を計算するステップと、
前記濃度に基づいて前記任意のｎ次元マトリクス提示を発生し、前記データ値フィールドを前記分類シーケンスおよび前記エントリポイント情報に基づいて処理する、ステップと、
を有する、方法。
【請求項２】
全てのデータ・レコードの前記キー次元をインデクス値に変換し、前記インデクス値が前記キー次元の対応するキー・アイテムの属性を参照し、前記任意のマトリクス提示を発生するために前記分類したインデクス値を前記リアル・データに再変換する、請求項１に記載の方法。
【請求項３】
１つのキー次元の前記インデクス値をベクトルによって表す、請求項２に記載の方法。
【請求項４】
前記インデクス値を整数によって表す、請求項２または３に記載の方法。
【請求項５】
前記データベースの各次元ごとに、整数値のみから成る参照テーブルを発生し、前記参照テーブルが各データ・レコードごとのレコード識別子を含み、これによって前記データベースの次元構造を維持する、ステップと、
前記参照テーブルに基づいて、前記任意のマトリクス提示の前記次元構造に基づいて、スカラー・ベクトル演算によってシーケンス・ベクトルを発生させるステップと、
前記参照テーブルに基づいて、データ・レコードの前記少なくとも１つの次元の１つに含まれるデータ・レコード量を供給するカウント・ベクトルを発生させ、これによって前記少なくとも１つの次元のデータの差の変化を規定する、ステップと、
前記データベースの前記任意のマトリクス提示を提示し、前記レコード識別子を用いて、前記シーケンス・ベクトルおよび前記カウント・ベクトルに含まれる前記リアル・データを用いてデータ・レコードの前記少なくとも１つの次元をグループ化する、ステップと、
を備える、前出の請求項のいずれかに記載の方法。
【請求項６】
前記シーケンス・ベクトルが整数のみを含む、請求項５に記載の方法。
【請求項７】
前記エントリポイント情報の計算が、第１のブロック要素（ＦＢＥ）インデクスもしくは最後のブロック要素（ＬＢＥ）インデクスまたはその双方に基づいている、前出の請求項のいずれかに記載の方法。
【請求項８】
リアル・データ・レコードの少なくとも１つの次元の第１の次元を、リアル・データ・レコードの前記少なくとも１つの次元の少なくとも第２の次元にマッピングする、前出の請求項のいずれかに記載の方法。
【請求項９】
前記参照テーブルをリアル・ファクト・テーブルに基づいて発生し、該リアル・ファクト・テーブルは、まず、連続インデクス値によって拡張して前記リアル・ファクトの連続番号を与える、請求項５から８のいずれかに記載の方法。
【請求項１０】
前記シーケンス・ベクトルが２つの欄から成り、そのうち左の欄が連続整数を含み、右の欄が順序付けた配列で前記インデクス値を含み、これによって前記任意のマトリクス提示を順次構築することができる、請求項５から９のいずれかに記載の方法。
【請求項１１】
任意のマトリクス提示を発生させるために整数に基づくベクトル計算のみを行う、前出の請求項のいずれかに記載の方法。
【請求項１２】
前分類ステップを行って、後の分類ステップで用いる前記リアル・ファクトの第１のブロックに基づく分類を行い、任意の分類順序を示すために、前記分類を、これらのブロック内で、ピボット提示のキー次元ごとにステップごとに計算する、請求項９から１１のいずれかに記載の方法。
【請求項１３】
前記分類ステップから得られたインデクス値を、分類位置ポインタ・テーブルにおいて用いて、結果として得られる並べ替えテーブルにおけるターゲット・インデクスのための値を決定し、これによって、現在のリアル・ファクト値の値を識別することができる、請求項９から１２のいずれかに記載の方法。
【請求項１４】
前記結果として得られる並べ替えテーブルは、関連する分類シーケンスにおいてターゲットのマトリクス・シーケンスを表す、請求項１３に記載の方法。
【請求項１５】
データ処理システムにおいて実行するためのデータ処理プログラムであって、前記プログラムが前記コンピュータ上で実行された場合に請求項１から１４のいずれかに記載の方法を実行するためのソフトウエア・コード部分を有する、データ処理プログラム。
【請求項１６】
コンピュータ使用可能媒体上に保存されるコンピュータ・プログラム・プロダクトであって、前記プログラムがコンピュータ上で実行された場合に請求項１から１４のいずれかに記載の方法を前記コンピュータに実行させるためのコンピュータ読み取り可能プログラム手段を有する、コンピュータ・プログラム・プロダクト。
【請求項１７】
データベースの少なくとも一部の任意のｎ次元マトリクス提示によって前記データベースに含まれるリアル・ファクト・データを分析するためのオンライン分析処理（ＯＬＡＰ）システムであって、前記データベースが少なくとも１次元のデータ・レコードを有し、各データ・レコードが少なくとも１つのデータ・キーおよび対応するデータ値フィールドを有し、前記ＯＬＡＰシステムが請求項１に記載の方法によって特徴付けられる、ＯＬＡＰシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータによって実行されるデータベース管理システムに関し、具体的には、対応するＯＬＡＰ（オンライン分析処理：OnLine AnalyticalProcessing）およびデータ・ウエアハウス（data warehouse）・アプリケーションに関する。更に具体的には、本発明は、かかるデータベース管理システムに含まれるデータ・レコードのユーザ定義による提示またはビューを発生するための方法およびシステムに関する。さらに具体的には、本発明は、極めて多数のデータ・レコードを有するデータベース管理システムに関する。
【背景技術】
【０００２】
データ・ウエアハウスおよびオンライン分析処理（ＯＬＡＰ）アプリケーションは、多次元データの保存および検索を行う迅速な方法の必要性を強調している。データ・ウエアハウスは、企業の様々なビジネス・システムが収集するデータの全てまたは大部分のための中央レポジトリである。時に、「情報ウエアハウス」という言葉がその代わりに用いられる。通常、データ・ウエアハウスは、企業のメインフレーム・サーバ上に収容されている。様々なオンライン・トランザクション処理（ＯＬＴＰ：onlinetransaction processing）アプリケーションおよび他のソースからのデータは、選択的に抽出されてデータ・ウエアハウス・データベース上で組織化され、分析アプリケーションおよびユーザ・クエリによって用いられる。データ・ウエアハウス処理は、有用な分析およびアクセスのために多様なソースからデータを捕捉することを重視するが、一般に、特殊化した、時にローカルなデータベースにアクセスする必要があり得るエンド・ユーザまたは知識労働者の観点から出発しているわけではない。後者の技術は、一般にデータ・マート（data mart）として既知であり、データ・マイニング（data mining）、ウエブ・マイニング（Web mining）、および意思決定支援システム（ＤＳＳ：decision support system）が、データ・ウエアハウスを利用可能な３種類のアプリケーションである。
【０００３】
ＯＬＡＰは、ユーザが異なる観点から容易かつ選択的にデータを抽出し見ることを可能とするコンピュータ処理である。例えば、ユーザは、データを分析して、１年のある特定の月にある国で販売されたある電気通信会社の携帯電話製品の全てを示すスプレッドシートを表示し、収入の数値を前月の同じ製品のものと比較し、次いで、同じ時間期間のその国での他の製品売上との比較を見るように要求することができる。
【０００４】
この種の分析を容易にするため、ＯＬＡＰデータは、多次元データベースに保存される。リレーショナル・データベースは２次元として考えることができるが、多次元データベースでは、製品、地理上の販売区域、および時間期間等、「データ・キー」と呼ばれることが多い各データ属性を、別個の「ディメンション（dimension）」として考慮する。ＯＬＡＰソフトウエアは、例えば、「ある時間期間中にヨーロッパ地域である価格を超えて販売された全製品」というように、次元の交差点の位置を指定し、それらを表示することができる。時間期間等の属性は、サブ属性に分解することができる。
【０００５】
データ・ウエアハウスと同様、ＯＬＡＰを用いて、データ・マイニング、またはデータ・アイテム間で以前は認識されていなかった関係の発見を行うことができる。ＯＬＡＰデータベースは、データ・ウエアハウスほどの大きさは必要でない。なぜなら、傾向分析のために全てのトランザクション・データが必要なわけではないからである。オープン・データベース・コネクティビティ（ＯＤＢＣ：Open DatabaseConnectivity）を用いて、既存のリレーショナル・データベースからデータをインポートして、ＯＬＡＰのための多次元データベースを作成することができる。
【０００６】
上述のように、ＯＬＡＰの機能性を決定するのは、主に、エンド・ユーザの分析およびナビゲーション活動をサポートする、統合されたデータの動的多次元分析である。その活動には、以下のものが含まれる。
−次元間、階層間、あるいはメンバ間、またはそれら全てを通した、計算およびモデリング。
−連続時間期間に渡る傾向分析。
−画面上で見るためのサブセットのスライシング
−より深い統合レベルへのドリル・ダウン
−基礎にある詳細データへのリーチスルー（Reach-through）
−ビュー・エリアにおける新しい次元の比較のためのローテーション
【０００７】
多くの場合、ＯＬＡＰは、多ユーザ・クライアント／サーバ環境において実施され、データベースのサイズおよび複雑さに関わらず、データベース・アクセスに対して常に迅速な応答を提供しようと試みる。かかるデータベース・アクセスによって配信されるデータのエンド・ユーザに対する提示は、一般に、提示されたデータ・レコードのセルの配列によって主に規定される基礎データベースの一部もしくは全内容のクロス集計表またはピボット提示（pivotpresentation）またはビューによって行われ、これは、る。この配列は、平坦なコンピュータ・モニタを用いる通常の場合、２次元でなければならない。ピボット提示についての別の例は、コンピュータ・メモリ、データベース等で与えられる２次元データ・アレイである。
【０００８】
図１および２に示すように、基礎にあるデータベースの各データ・レコードは、多数のデータ属性すなわちデータ・キーから成る。データ・レコードの次元、従って全データベースの次元も、データ・キーの数によって決定する。
【０００９】
ある具体的なピボット提示は、通常、カスタマ情報、それらのカスタマに販売された対応する物品、および各物品ごとの販売時刻等、データ・レコードの内容の特定のキー配列に対する予め指定されたユーザの好みに応じる。これによって、多くの場合、異なるデータ・レコードの内容または所与のデータ・レコードのデータ・キー要素を、ピボット提示のセルに統合することが必要となる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
多次元データベースにおいてデータ・レコードのピボット提示を発生させるため、多数の手法が存在する。第１の手法は、データベース・クエリによって既存のデータベースのユーザ規定ピボット・ビューを得るために、周知のＳＱＬ（Simple QueryLanguage）を用いることである。しかしながら、大きいデータベースにおけるピボット・ビューの計算は、著しい処理リソースを必要とする。なぜなら、データベースに保存されたデータ・レコードが、基礎にあるクエリ条件に合致するか否かを調べるために、それらデータ・レコードの全てにアクセスしなければならないからである。
【００１１】
第２の手法として、既知のＯＬＡＰソフトウエア・ツールがある。この場合、ハイパーキューブ・データ構造を用いてデータ・レコードを内部で処理するので、中間で発生したＯＬＡＰ情報を保存するために、大きな保存ボリュームを必要とする。
【００１２】
第３の手法によれば、対応するハイブリッド概念を提供するために、上述の第１および第２の手法を組み合わせる。しかしながら、第３の手法も、その性能が著しく変動し、実際のピボット提示に大きく依存する限り、不利である。
【課題を解決するための手段】
【００１３】
従って、本発明の目的は、対応する従来技術の手法よりも効率的で、従って高速に実行し、上述の従来技術の手法の上述の欠点を回避する、データベース管理システムに含まれたデータ・レコードのユーザ規定ｎ次元マトリクス提示またはビューを発生させるためのコンピュータによって実施される方法およびシステムを提供することである。
【００１４】
別の目的は、適切な応答時間を有する、オンライン分析処理（ＯＬＡＰ）環境において使用可能な方法およびシステムを提供することである。
【００１５】
更に別の目的は、それらのマトリクス提示またはビューを発生させるために最小限の処理リソースしか必要としない方法およびシステムを提供することである。
【００１６】
上述の目的は、独立クレームの特徴によって達成される。有利な実施形態は、サブクレームの主題である。
【００１７】
本発明の基礎にある考えは、例えば、連続データ・シーケンスの形態で、ｍ次元ファクト・テーブルに配列するように、多次元データベースの基礎データ・レコードを順番に並べることである。このため、このシーケンスは、好ましくは整数であるプレースホルダー値から成り、これらのプレースホルダー値の各々は、参照テーブルまたはベクトルによって、基礎にある不変のｍ次元ファクト・テーブルにリンクされている。しかしながら、マトリクス提示の次元ｎは、前記次元ｍに等しくすることができる。
【００１８】
基礎にある機構は、具体的には、インデクス値としてのレコード数を除いて、確定的なデータ・キーに属する全てのデータ値フィールドの内容をインデクス値に変換するステップと、前記インデクス値に基づいて最終マトリクス提示を発生させるために全ての分類ステップを実行するステップとを有する。すなわち、全分類機構または全分類エンジンは、これらのインデクス値のみを用いる。
【００１９】
例示した２次元の場合、前記ｎ次元マトリクス提示の「濃度(cardinality)」は、その２次元マトリクスの列および行の数を意味することに留意しなければならない。もっと次元数が多い場合、すなわちｎが２以上である場合、濃度は、必要な提示リソースを規定する。
【００２０】
好適な実施形態では、例えば２次元提示マトリクスの１行のような、基礎にあるマトリクス提示の単一のセルに提示すべきであるデータ・レコードは、前記プレースホルダー値の各々を含むサブシーケンスに連続的に配列されている。このため、前記ピボット提示のこれらの単一セルは、前記サブシーケンスに応じて発生する。この結果、セルのピボット・ビューのため、データ・レコードの全シーケンスのデータ・サブシーケンスを用いることができる。ユーザが指定するピボット提示に必要なこれらのセルの各々は、特に、シーケンスにおいて開始点として定義され、これによって、提示するファクト・テーブルの必要なデータにアクセスする。
【００２１】
最終マトリクス提示は、前述のプレースホルダー値のみを用いてｎ次元ファクト・テーブルを示すそのデータ・シーケンスを用いて発生する。換言すると、マトリクス提示は、垂直２次元マトリクスを用いて得られる。
【００２２】
本実施形態では、前述のデータ・シーケンスは、好ましくは整数から成る前述のシーケンスを有する線形ベクトルによって実現される。これによって、例えばファクト・テーブルに含まれる各次元（グループ）のデータ・レコードを、シーケンス・ベクトルによって各ユーザ定義ピボット構成のため新たに整列させる。そのシーケンス・ベクトルを用いたリアル・データ・レコードに対するアクセスは、データ・レコード・インデクス数を用いて達成される。特定のピボット提示に用いるセル、すなわち特定のピボット・ビューに提示する列および行の計算は、リアルタイムで、すなわちオンラインで、すなわち、全く遅延なく、または、極めて短い遅延もしくはユーザに対する応答時間で、実行することができる。
【００２３】
別の実施形態によれば、まず、基礎にあるファクト・テーブルを参照テーブルに変換し、このテーブルに基づいてシーケンスを発生させる。データ・レコードの前記次元の２つの変化を決定するため、別の実施形態では、カウント・ベクトルを利用する。
【００２４】
従って、本発明による機構は、可能なピボット提示を計算する目的のために、例えば全てのデータ・レコードの前集合のような大きなデータ処理およびデータ保存リソースを必要とするデータベースのデータ・レコードの前処理を必要としない。
【００２５】
更に、中間の整列ステップのため、可能なピボット提示（ビュー）に影響を与えることなく、データ・レコード量、従ってデータベースのサイズを拡張することができ、必要な処理時間は基礎にあるデータベースのサイズと共に線形に変化する。これによって、第１の次元は、データ・レコードの前記少なくとも２つの次元の少なくとも第２の次元にマッピングされる。このため、データベースのデータ・レコードの任意の次元を、互いにマッピングすることができ、これによって、データ・レコードの更に別の次元またはその完全な階層を挿入することによって、既存のデータベースの拡張を可能とする。
【００２６】
上述の従来技術の手法とは異なり、本発明による機構は、ピボット提示を計算するために、大きなデータ・セット間の比較のような動作を必要としない。
【００２７】
更に、ピボット提示の異なる集合段階において、実行時間の問題を生じることなく、データベースの特定のデータ・レコード次元をもっと用いることができる。所与のデータベースの以降の異なるピボット・ビューのためにベクトル演算しか用いないので、ユーザ定義のピボット・ビューを与えるためのデータ・レコードの以前発生したシーケンスは、後のピボット・ビューのため有効に維持され、このため、以降のピボット・ビューは常に、既存のピボット・ビューから推論され、既存のピボット・ビューを破壊しない。
【００２８】
本発明の更に別の態様では、選択された２次元ピボット提示は、一般に、列および行の数によって決定する仮想２次元マトリクスに基づいている。このため、提案したピボット処理機構は、所与のピボット提示について、列および行の量、および、前述のサブシーケンスのシーケンスにおいて、列および行の交差点を提供する。このため、仮想マトリクスのセルの提示は、単に、セルの列および行インデクスによって達成することができる。
【００２９】
このため、任意のユーザ定義ピボット提示を、データベース・レコードから極めて高速に発生することができる。なぜなら、純粋な参照およびカウント技法ならびに整数値で実行される単純な線形（１次元）ベクトル演算のみを用いて、ピボット提示を発生または計算するからである。
【００３０】
本発明によるピボット提示機構は、２次元に限定されず、ｎ次元ピボット提示にも適用することができることを強調しておく。しかしながら、ｎ次元の場合、上述のシーケンス・ベクトルは（ｎ−１）次元である。
【００３１】
以下で、添付図面を参照して、本発明について更に詳細に例示する。添付図面から、本発明の更に別の特徴および利点が明らかになる。
【発明を実施するための最良の形態】
【００３２】
以下に、ほとんどの場合は２次元リアル・ファクト・テーブル（real facts table）によって表される所与のリアル・ファクト量について、本発明に従ってどのように任意のピボット・テーブル（クロス集計表）・ビューを発生させるかを示す。また、基礎にあるピボット・テーブル発生機構を、ｎ次元データ・セットのためのｍ次元マトリクス提示を発生させるために使用可能であることを強調する。更に、この機構は、最小限のコストおよび時間労力で実施することができ、最小限のコンピューティング・リソースしか必要とせず、そのため、高性能の発生が可能となる。
【００３３】
ここで、リアル・ファクト量は、各々がキー次元を規定するデータ・キー、および、各キー次元に含まれるデータ値を含むと想定する。以下に更に詳細に示すように、そのファクト量のピボット・ビューは、キー次元のユーザが選択した規則正しい配列、ピボット・ビューの提示された次元でのキー次元の配置、および可能な集合レベルによって与えられる。
【００３４】
図１および２に、本例ではリアル・ファクト・テーブルによって表す、かかる例示的なファクト量、および、そのリアル・ファクト・テーブルのための例示的なピボット・ビューを示す。この例では、リアル・ファクト・テーブルは、キー次元すなわち「カスタマ」１００、「物品」１１０、および「月」１２０において配列された売上１３０を含む。図２に示す対応する例示的ピボット・ビューは、図１に示すリアル・ファクト・テーブルの（ファクト）データ値１４０を、販売合計（右の欄）１４０として、「カスタマ」／「物品」／「月」１５０〜１７０の順序で提示する（左の３つの欄に示す）。これによって、キー次元「カスタマ」１５０および「物品」１６０は、垂直方向に提示され、キー次元「月」は、四半期の値「Ｑ１」〜「Ｑ４」１７０に統合され、ピボット・ビューの水平方向に提示される。
【００３５】
かかるピボット・ビューを発生させるための基礎にある機構は、ユーザによって選ばれた各任意のピボット提示を、基礎ファクト量のデータ値（例えばシーケンス・ベクトル）の連続的に順序付けた配列に変形するための概念に基づいている。この機構の好適な実施形態を、図３〜５によって例示する。
【００３６】
図３に示すように、本実施形態では、最初に、基礎リアル・ファクト・テーブルを、本例においてファクトに「１」から「２０」までの連続番号を与える連続インデクス値２００（左の欄）によって拡張する。図４に示す、この結果として得られるピボット・ビューでは、各セル２１０において、それらのファクトのインデクスを提示し、対応するセルにおいてどの売上値を合計しなければならないかを示す。
【００３７】
前述のように、図４に示すピボット・ビューは、シーケンス・ベクトルに基づいて発生する。図４のピボット・ビューのための基礎シーケンス・ベクトルを図５に示す。これは、２つの列２６０、２７０から成り、左の列２６０は、本例において再び「１」から「２０」までの連続番号を含み、右の列２７０は、図３に示す前述のインデクス値２７５を、図４のピボット・ビューを順次構築することができる順序付けた配列で含む。
【００３８】
このシーケンス・ベクトルをもっと理解するため、シーケンス・ベクトルの内容を逆の方向で、すなわち図４に示すピボット・ビューから開始して示す。このため、矢印２５０によってピボット・ビューの最初の２行に示すように、ピボット提示のセル２１０において行ごとに左から右にインデクスをまとめると、図５に示すシーケンス・ベクトルが得られる。
【００３９】
上述のように、ピボット・ビューはベクトル演算のみによって発生され、基礎にあるベクトルは整数値のみを含む。従って、以下に述べる処理ステップがどれも、リテラル・キー値、テキスト、または他のいずれかのリアル・ファクト値のような実際のデータ・キー値を用いない限り、大きな性能の利点が達成される。これらの全ての処理ステップにおいて、上述の整数（基準）値のみを用いる。これらの整数処理ステップを終了した場合にのみ、結果として得られるシーケンス・ベクトルに含まれる基準値が、後に説明する割り当てまたは基準（ルックアップ）テーブルによって、対応するリアル・ファクト値に変換し直される。
【００４０】
最初のステップでは、図６に示すリアル・ファクト・テーブルによって例示するように、カスタマ名「ミラー」および「ブラウン」等の、ファクト・テーブルに含まれた異なるキー次元の全てのデータを、そのキー次元における一意の基準値３００によって置換する。これらの一意の基準値が、プレースホルダー値として用いられる。図３に示す例示的なリアル・ファクト・テーブルのファクト量を上述の基準数に変換したものを、図６に示す。
【００４１】
図７に、基準数に変換するための基本機構を示す。これは、既知のルックアップ・テーブル機構の方法で上述の基準値に異なるキー次元のリアル・ファクトを割り当てるために用いる多数の割り当て（または基準）テーブル３５０〜３７０に基づいている。これを、キー次元「カスタマ」３５０、「物品」３６０、および「月」３７０について、図７に示す。図８に示すような、更に別のキー次元「四半期」３８０を集合階層として用いて、キー次元「月」３９０のための更に別の集合を可能とする。
【００４２】
図３に示すリアル・ファクト・テーブルの全てのキー次元について、第１の整数ベクトル４１０は、各キー次元およびキー次元内での要素（基準値）の発生に関連付けて、基礎にあるファクト欄のファクトの分類順序を提供する。第２の整数ベクトル４００は、キー次元要素（例えば「ブラウン」）の各発生ごとに、分類シーケンス４１０内のその対応するブロックの第１の要素を示す第１ブロック要素（ＦＢＥ：First BlockElement）を提供する。これは、図面のうち次に参照する図９〜１１に示されている。これによって、図９〜１１の左側に示すテーブルは、各キー次元ごとに、右側に提示した順序付けベクトルにおける第１のエントリの基準インデクスを提供する。このため、図９に示すキー次元「カスタマ」について例示すると、キー「ブラウン」の全ファクト数４２０は１〜７行目に配置され、キー「ジョーンズ」の全ファクト数４３０は８〜１４行目に、キー「ミラー」の全ファクト数４４０は１５行目からテーブルの最後まで配置されている。
【００４３】
分類順序を含む第１の整数ベクトル４１０および第１ブロック要素インデクスを含む第２の整数ベクトル４００を得るための必要なステップは、この説明の最後に、より詳細に記述する。
【００４４】
キー次元「四半期」の対応する提示は、「月」のベクトルから容易に導出することができるので、ここでは説明しないことを注記しておく。
【００４５】
ここで図１２および１３〜１９を参照し、以下に、所望のピボット・ビューを得るために、前述の整数ベクトル計算技法を用いて、どのようにリアル・ファクト・データを分類するのかを説明する。最終分類に用いるファクトの第１のブロックに基づいた分類を行う前分類ステップから開始して、分類はステップごとに計算する。すなわち、最終分類順序を示すため、これらのブロック内で、ピボット提示のキー次元ごとに計算する。これらの処理ステップによって、分類するキー次元ごとに新しい群を発生させる。これが、以下の分類ステップのため、および、計算の最後にピボット提示のセルの内容を与えるための基礎として機能する。
【００４６】
本例では、キー次元「カスタマ」の分類によって、前分類ブロックを示す。関連ベクトルに基づいて、「マッピング」および「分類位置ポインタ」と称するこれらの図に示すテーブルを、図１２に示すように初期化する。図１２に示すテーブルは、全分類プロセス「カスタマ」対「物品」対「四半期」の特定の分類ステップ「カスタマ」対「物品」を示すスナップショットに過ぎないことを強調しておく。これらの全テーブルは繰り返し処理され、各分類ステップの最後に、「Fact# NewGrp」フィールドにおいて「結果並べ替え」テーブルに含まれるファクトは、それぞれの次の分類ステップの間に、「マッピング」テーブルおよび「分類位置ポインタ」テーブルにおいて再使用されることに言及しておく。しかしながら、第１の分類ステップの前にこれらのテーブルを初期化するために、「マッピング」テーブルおよび「分類位置ポインタ」テーブルの欄を以下のように初期化する。
【００４７】
「マッピング」テーブルの「TmpGrp」欄の各フィールドには、本例「カスタマ」において、分類シーケンスの第１の次元が記入されている。すなわち、「リアル・ファクト」テーブルの前述の一意の基準値３００が用いられている。更に、「分類位置ポインタ」テーブルの「NextPos」欄の各フィールドは、対応する次元の前述のＦＢＥテーブル４００の「Ｐｏｓ」欄を用いて初期化される。
【００４８】
全ての分類ステップの間、「分類したシーケンス」テーブルの「Fact#」欄には、対応する次元４１０、すなわち、対応する分類シーケンス・ステップにおける右側の次元の、「分類したシーケンス」テーブルの「ファクト」欄が記入されている。この結果、２つの前述の初期化ステップ後に、「結果並べ替え」の内容は消去されるので、これらのフィールドには、次の分類ステップの間に新たに記入することができる。そのテーブル内の行数は、リアル・ファクト・テーブルに含まれるファクト数に等しい。以下で実行される処理ステップは、図面で「分類されたシーケンス」と示されているキー次元「物品」に関連する分類順序によって決定する。
【００４９】
図１３〜１９に示すピクチャ・シーケンスに、分類機構自体を更に詳細に示す。これらのピクチャの各々が単一の分類ステップを示し、このため、そのシーケンスに示す分類ステップの全シーケンスは、全分類手順の一部のみを示す。全手順は、図示する４つのテーブルの連結に基づく。
【００５０】
最初に、キー次元「カスタマ」について以前の分類ステップの結果として得られた「分類したシーケンス」と示されているキー次元「物品」のテーブルを、「１」から「２０」までパラメータ「Pseq」の順序で処理する。特に、「Fact#」欄に含まれたファクト数の各々について、マッピング・テーブルにおいて、「TmpGrp」と示される対応するインデクスを決定する。
【００５１】
図１３に示す分類ステップにおいて、結果として得られたインデクス、特に、得られた整数値「３」を、「分類位置ポインタ」テーブルにおいて用いて、次の位置「NextPos」のための値を決定する。これはすなわち、結果として得られる並べ替えテーブルにおけるターゲット・インデクスであり、これによって現在のファクト数の値を識別することができる。更に、マッピング・テーブルの「LDGrp」欄に含まれる対応する値を、「分類したシーケンス」テーブルに含まれる対応する値「DGrp」と比較する。双方の値が異なる場合、「結果並べ替え」テーブルの「開始」欄で、このインデクスに「真」と示し、これによって新たなグループの開始を規定する。図１３において、図示した手順のステータスにおけるパラメータ「NextPos」は、まだ増分されていないことに留意すべきである。
【００５２】
図１４〜１８は、更に別の５つのステップを示し、ステップ７〜１９を省略して、図１９は、「結果並べ替え」と示す最終的に得られる並べ替えテーブル（ベクトル）を示す。これによって、「カスタマ」対「物品」の分類ステップの結果は、図１９に示す「結果並べ替え」テーブルの「Fact#」欄に保存される。
【００５３】
図２０において、図１９に示した最終的な結果並べ替えテーブルを再び示す。これは、ターゲットのピボット・シーケンスを関連する分類シーケンスで示す。欄「NewGrop」では、第１行から始めて、グループ・インデクスを１ずつ増分することによって、各行に値を割り当てる。この増分を行うのは、「開始」欄で各行にブール値「真」が示される場合、すなわち新たなグループのための開始点が示される場合である。これらのグループは、リアル・ファクトによって与えられるキー次元「カスタマ」および「物品」のための可能な異なる組み合わせに関する。リアル・ファクトの最終的な提示のために必要な各基本キー・テキストに対するアクセスを提供するキー次元内のこれらのグループに対応する基準数は、上述の手順の実行中に容易に決定し管理することができる。
【００５４】
更に図２１を参照すると、以前の分類ステップ「カスタマ」対「物品」の結果から開始する次の分類ステップ「カスタマ」対「物品」対「四半期」の初期化を示す。追加の統合ステップを含み、次元「月」を「四半期」に統合することに言及しておく。「分類位置ポインタ」テーブルの「NextPos」欄は、指示値の発生の対応する「PSeq」数によって初期化される。これは、本実施形態では、「結果並べ替え」テーブルの「開始」欄におけるブール「真」値である。
【００５５】
「結果並べ替え」テーブルの「Fact#」欄から開始して、その欄の各フィールドを、図２１に示す「マッピング」テーブルの「TmpGrp」欄に、「結果並べ替え」テーブルの「NewGrp」フィールドにおいて対応する値を記入するためのエントリポイントとして用いる。
【００５６】
図２１〜２８に、以前の図面に従って本実施形態の最終的な分類ステップを示し、これによって最終的なピボット提示を表す。このため、「Fact#」欄に与えられるファクト数および「NewGrp」欄に与えられるグループ・インデクスに基づいて、以前に記載したように、別の対応する「マッピング」テーブルおよび「分類位置ポインタ」を再び初期化し、キー次元「四半期」のための次の分類シーケンスを可能とする。この初期化のために結果として得られるテーブルを図２１に示す。図２２〜２７に、最終分類シーケンスの最初の５つのステップおよび最後の分類ステップを示す。これらのピクチャは、図１４〜１９にするので、ここではこれ以上詳細に説明しない。
【００５７】
図２８に示す「ピボット・シーケンス」テーブルの計算によって、全分類手順を完了させる。全手順により、このように、順序付けたキー次元「カスタマ」対「物品」対「四半期」についての本ピボット提示の順序シーケンス・ベクトルが表される。この順序シーケンス・ベクトルは、「結果並べ替え」テーブルの「Fact#」欄に保存される。「NewGrp」欄に与えられる基礎にあるグループ・インデクスは、基礎にあるピボット提示またはビューの対応するセルに関連する。更に別の対応するファクト基準は、「Fact#」欄における各エントリに基づいて容易に決定することができる。
【００５８】
上に与えた例は、ピボット・ビューの水平特定のため用いられる１つのみのキー次元から成る。分類手順は、ピボット特定に用いられるキー次元の量に限定されないことに留意すべきである。
【００５９】
全体の手順は、各ピボット次元ごとに別個の分類シーケンスを決定することである。全体的なシーケンスは、別個に発生させたシーケンスに分類手順を適用することによって発生し、最初の結果で開始して、上述のような「マッピング」テーブルおよび「分類位置ポインタ」のための入力として次を用いる。
【００６０】
また、全分類プロセスは、図６に示す「リアル・ファクト」テーブルのサブセットのために機能する。図１２に示す「マッピング」テーブルの行数は、「分類したシーケンス」テーブルの「Fact#」欄の可能な最大値、すなわち、「リアル・ファクト」テーブルのファクト行数に対応することに留意すべきである。例えばフィルタ基準のため、ファクトのサブセットのみを分類プロセスに用いる場合、「マッピング」テーブルのサイズは、選択したファクトのサイズに減ずることができる。これを実行することができるのは、「分類したシーケンス」テーブルの「Fact#」欄の上述の各初期化が、対応するサブシーケンス内のリアル・ファクト・インデクスの関連インデクスを用いる場合である。分類プロセスの結果は、「結果並べ替え」テーブルの「Fact#」欄に保存し、これはリアル・ファクト・インデクスに戻す必要がある。
【００６１】
上述のように、「第１ブロック要素」（ＦＢＥ）整数ベクトル４００および「分類順序」整数ベクトル４１０を、各分類ステップの初期化のために用いる。ＬＢＥインデクス・ベクトルは、図６に示す「リアル・ファクト」テーブルのキー次元欄３１０上で計算する。第１のステップとして、前記カウント・ベクトルを計算し、カウント・ベクトルの各フィールドは、「Real Fact#」テーブルにおける対応するキー次元の対応する基準数の発生数を含む。カウント・ベクトルにおける各値は、対応する基準数のためのブロック長を反映する。第１のフィールドから最後のフィールドまで値を合算してカウント・ベクトルを処理すると、各ステップごとに、対応するグループの開始が与えられる。この結果を、ＦＢＥインデクス・ベクトル４００に保存する。
【００６２】
「分類順序」整数ベクトル４１０は、分類手順を用いて計算する。この場合、「分類したシーケンス」の「DGrp」欄には、各フィールドに、例えば「１」のような同じ値を記入する。「Fact#」欄の各フィールドには、「Pseq」欄の対応する値を記入する。「マッピング」テーブルの「TmpGrp」欄の各フィールドには、図６に示す対応する次元キーの値を記入する。「分類位置ポインタ」テーブルの「NextPos」欄には、対応する次元キーの「ＦＢＥ」整数ベクトル４００を記入する。この初期化において分類手順を実行すると、「結果並べ替え」テーブルの「Fact#」欄に「分類順序」整数ベクトル４１０が与えられる。
【００６３】
現在のピボット特定内で、例えば「四半期」のような階層レベルを用いる場合、同じ手順を用いることに留意すべきである。例えば「月」のような、対応する次元キーのリアル・ファクト欄を階層レベルの基準数に変換する場合、「ＦＢＥ」および「分類順序」整数ベクトルを計算することができる。
【００６４】
最後に図４および２０を参照すると、本発明に従ってどのように前記エントリポイントを計算するかが更に詳細に示されている。例えば２次元ピボット提示における列および行の数のような、最終ピボット提示の濃度（cardinality）は、分類手順の別の結果である。ピボット・ビューの前記次元ごとに、対応するピボット・ビュー次元の濃度は、ピボット特定およびピボット・ビューの入力であるファクトに依存する。与えられた例では、垂直次元の濃度は、「カスタマ」対「物品」の分類ステップ後に導出することができる。「結果並べ替え」テーブル（図１９を参照のこと）の「NewGrp」欄の最後のフィールドは、結果として得られるグループ数を含む。この数は、結果として得られるピボット・ビューの垂直次元の濃度と同等である。このため、各ピボット次元を処理すると、対応するピボット次元の必要な濃度が独立して得られる。
【図面の簡単な説明】
【００６５】
【図１】従来技術において既知の例示的なリアル・ファクト・テーブルおよび対応するピボット・ビューを示す。
【図２】従来技術において既知の例示的なリアル・ファクト・テーブルおよび対応するピボット・ビューを示す。
【図３】本発明に従ってピボット・ビューを発生させるための機構の基本的な原理をテーブルによって示す。
【図４】本発明に従ってピボット・ビューを発生させるための機構の基本的な原理をテーブルによって示す。
【図５】本発明に従ってピボット・ビューを発生させるための機構の基本的な原理をテーブルによって示す。
【図６】本発明に従ってピボット・ビューを発生させるための機構の詳細を更に示す。
【図７】本発明に従ってピボット・ビューを発生させるための機構の詳細を更に示す。
【図８】本発明に従ってピボット・ビューを発生させるための機構の詳細を更に示す。
【図９】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１０】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１１】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１２】本発明に従って所望のピボット・ビューを得るためにどのようにリアル・ファクト・データを分類するかを示す概略テーブル図を示す。
【図１３】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１４】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１５】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１６】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１７】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１８】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１９】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図２０】本発明に従った最終結果並べ替えテーブルを示す。
【図２１】本発明に従った最終分類ステップを示す。
【図２２】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図２３】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図２４】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図２５】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図２６】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図２７】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図２８】本発明に従ってシーケンス・ベクトルを発生させるための典型的なベクトル演算を示す。
【図１】
2006503357.tif 000003
【図２】
2006503357.tif 000004
【図３】
2006503357.tif 000005
【図４】
2006503357.tif 000006
【図５】
2006503357.tif 000007
【図６】
2006503357.tif 000008
【図７】
2006503357.tif 000009
【図８】
2006503357.tif 000010
【図９】
2006503357.tif 000011
【図１０】
2006503357.tif 000012
【図１１】
2006503357.tif 000013
【図１２】
2006503357.tif 000014
【図１３】
2006503357.tif 000015
【図１４】
2006503357.tif 000016
【図１５】
2006503357.tif 000017
【図１６】
2006503357.tif 000018
【図１７】
2006503357.tif 000019
【図１８】
2006503357.tif 000020
【図１９】
2006503357.tif 000021
【図２０】
2006503357.tif 000022
【図２１】
2006503357.tif 000023
【図２２】
2006503357.tif 000024
【図２３】
2006503357.tif 000025
【図２４】
2006503357.tif 000026
【図２５】
2006503357.tif 000027
【図２６】
2006503357.tif 000028
【図２７】
2006503357.tif 000029
【図２８】
2006503357.tif 000030
【国際調査報告】
2006503357.tif 000031
2006503357.tif 000032
2006503357.tif 000033