【手続補正書】
【提出日】平成19年5月30日(2007.5.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
選択的属性範囲のメジャー表現を計算する方法であって、前記メジャー表現は第１のメジャーと第２のメジャーとの関係を含み、前記第１のメジャーは第１のデータ型に対応し、前記第２のメジャーは第２のデータ型に対応し、前記関係は算術演算によって定義された方法において、
前記選択的属性範囲の前記メジャー表現を計算するためのリクエストを受け取ること、
前記リクエストを受け取ると、データストアにクエリを行い、前記第１のデータ型に対応する第１のデータセットを検索することであって、前記第１のデータセットは、前記選択的属性範囲の前記第１のメジャーのためのデータだけを含むこと、
第１のキャッシュに前記第１のデータセットを格納すること、
前記第１のキャッシュから第１のインデックスを生成することであって、前記第１のインデックスは、前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲の前記第１のメジャーのためのデータを含むこと、
前記リクエストを受け取ると、前記データストアにクエリを行い、前記第２のデータ型に対応する第２のデータセットを検索することであって、前記第２のデータセットは、前記選択的属性範囲の前記第２のメジャーのためのデータだけを含むこと、
第２のキャッシュに前記第２のデータセットを格納すること、
前記第２のキャッシュから第２のインデックスを生成することであって、前記第２のインデックスは、前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲の前記第２のメジャーのためのデータを含むこと、
前記第１のインデックスから得た前記第１のメジャーのための前記データと、前記第２のインデックスから得た前記第２のメジャーのための前記データに対して算術演算を実行し、結果データを得ること、
前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲に前記結果データを集めること
を含むことを特徴とする方法。
【請求項２】
前記データストアにクエリを行い、前記第１のデータセットを検索することは、前記データストアにクエリを行い、第１のデーターブルに対する一回のアクセスによって前記第１のデータセットを検索することを含むことを特徴とする請求項１記載の方法。
【請求項３】
前記データストアにクエリを行い、前記第２のデータセットを検索することは、前記データストアにクエリを行い、第２のデータテーブルに対する一回のアクセスによって前記第２のデータセットを検索することを含むことを特徴とする請求項１記載の方法。
【請求項４】
前記第１のインデックスを生成することは、前記第１のデータ型に特有の属性にしたがって集約された前記第１のメジャーのためのデータを含む前記第１のインデックスを生成することを含むことを特徴とする請求項１記載の方法。
【請求項５】
前記第２のインデックスを生成することは、前記第２のデータ型に特有の属性にしたがって集約された前記第２のメジャーのためのデータを含む前記第２のインデックスを生成することを含むことを特徴とする請求項１記載の方法。
【請求項６】
選択的属性範囲のメジャー表現を計算するシステムであって、前記メジャー表現は第１のメジャーと第２のメジャーとの関係を含み、前記第１のメジャーは第１のデータ型に対応し、前記第２のメジャーは第２のデータ型に対応し、前記関係は算術演算によって定義されるシステムにおいて、
前記第１のデータ型のデータを含む第１のデータテーブルと、前記第２のデータ型のデータを含む第２のデータテーブルとを記憶するデータストアと、
プロセッサを備え、
前記プロセッサは、
前記選択的属性範囲の前記メジャー表現を計算するリクエストを受け取ること、
前記リクエストを受け取ると、データストアにクエリを行い、前記第１のデータ型に対応する第１のデータセットを検索することであって、前記第１のデータセットは、前記選択的属性範囲の前記第１のメジャーのためのデータだけを含むこと、
第１のキャッシュに前記第１のデータセットを格納すること、
前記第１のキャッシュから第１のインデックスを生成することであって、前記第１のインデックスは、前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲の前記第１のメジャーのためのデータを含むこと、
前記リクエストを受け取ると、前記データストアにクエリを行い、前記第２のデータ型に対応する第２のデータセットを検索することであって、前記第２のデータセットは、前記選択的属性範囲の前記第２のメジャーのためのデータだけを含むこと、
第２のキャッシュに前記第２のデータセットを格納すること、
前記第２のキャッシュから第２のインデックスを生成することであって、前記第２のインデックスは、前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲の前記第２のメジャーのためのデータを含むこと、
前記第１のインデックスから得た前記第１のメジャーのための前記データと、前記第２のインデックスから得た前記第２のメジャーのための前記データに対して算術演算を実行し、結果データを得ること、
前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲に前記結果データを集めること
を実行することを特徴とするシステム。
【請求項７】
前記第１のデータセットは、前記第１のデータテーブルに対する一回のアクセスによって検索されるデータを含むことを特徴とする請求項６記載のシステム。
【請求項８】
前記第２のデータセットは、前記第２のデータテーブルに対する一回のアクセスによって検索されるデータを含むことを特徴とする請求項６記載のシステム。
【請求項９】
前記第１のインデックスは、前記第１のデータ型に特有の属性にしたがって集約された前記第１のメジャーのためのデータを含むことを特徴とする請求項６記載のシステム。
【請求項１０】
前記第２のインデックスは、前記第２のデータ型に特有の属性にしたがって集約された前記第２のメジャーのためのデータを含むことを特徴とする請求項６記載のシステム。
【請求項１１】
選択的属性範囲のメジャー表現を計算するコンピュータ実行可能命令を記録したコンピュータ読み取り可能な記録媒体であって、前記メジャー表現は第１のメジャーと第２のメジャーとの関係を含み、前記第１のメジャーは第１のデータ型に対応し、前記第２のメジャーは第２のデータ型に対応し、前記関係は算術演算によって定義された記録媒体において、
前記コンピュータ実行可能命令は、
前記選択的属性範囲の前記メジャー表現を計算するリクエストを受け取るステップと、
前記リクエストを受け取ると、データストアにクエリを行い、前記第１のデータ型に対応する第１のデータセットを検索するステップであって、前記第１のデータセットは、前記選択的属性範囲の前記第１のメジャーのためのデータだけを含むステップと、
第１のキャッシュに前記第１のデータセットを格納するステップと、
前記第１のキャッシュから第１のインデックスを生成するステップであって、前記第１のインデックスは、前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲の前記第１のメジャーのためのデータを含むステップと、
前記リクエストを受け取ると、前記データストアにクエリを行い、前記第２のデータ型に対応する第２のデータセットを検索するステップであって、前記第２のデータセットは、前記選択的属性範囲の前記第２のメジャーのためのデータだけを含むステップと、
第２のキャッシュに前記第２のデータセットを格納するステップと、
前記第２のキャッシュから第２のインデックスを生成するステップであって、前記第２のインデックスは、前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲の前記第２のメジャーのためのデータを含むステップと、
前記第１のインデックスから得た前記第１のメジャーのための前記データと、前記第２のインデックスから得た前記第２のメジャーのための前記データに対して算術演算を実行し、結果データを得るステップと、
前記第１のデータ型と前記第２のデータ型に共通する前記選択的属性範囲に前記結果データを集めるステップ
を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記データストアにクエリを行い、前記第１のデータセットを検索するステップは、前記データストアにクエリを行い、第１のデータテーブルに対する一回のアクセスによって前記第１のデータセットを検索することを含むことを特徴とする請求項１１記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記データストアにクエリを行い、前記第２のデータセットを検索するステップは、前記データストアにクエリを行い、第２のデータテーブルに対する一回のアクセスによって前記第２のデータセットを検索することを含むことを特徴とする請求項１１記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記第１のインデックスを生成するステップは、前記第１のデータ型に特有の属性にしたがって集約された前記第１のメジャーのためのデータを含む前記第１のインデックスを生成することを含むことを特徴とする請求項１１記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記第２のインデックスを生成するステップは、前記第２のデータ型に特有の属性にしたがって集約された前記第２のメジャーのためのデータを含む前記第２のインデックスを生成することを含むことを特徴とする請求項１１記載のコンピュータ読み取り可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【発明の名称】メジャーの関係を表現及び計算するシステム及び方法
【技術分野】
【０００１】
本発明は、データ分析サービスの分野に関し、より詳細には、データのメジャー(measure)の関係を表現し計算することに関する。
【背景技術】
【０００２】
オンライン分析処理（ＯＬＡＰ）は、多くのウェアハウス(warehouse)及びビジネス分析システムにとって重要な役割をはたす。ＯＬＡＰサービスは、マルチディメンション情報の高速分析を提供する。この目的のために、ＯＬＡＰサービスは、直感的かつ自然な方法でマルチディメンションアクセスとデータナビゲーションを提供し、関心のある特定のデータにまで掘り下げることのできるデータの包括的な視点を提供する。スピードとレスポンスタイムは、ＯＬＡＰサービスの重要な特性であり、この特性によって、ユーザは効率的な手法でかつオンラインによって、データを閲覧し分析することができる。さらに、ＯＬＡＰサービスは、通常、分析を受けるデータのリード及びラグのインディケータ(lead and lag indicators)をランク付けし、集約し、計算する分析ツールを提供する。
【０００３】
データのユーザ認知にしたがってＯＬＡＰキューブをモデル化する。キューブは、ディメンション(dimensions)にしたがってデータ型を編成し、各ディメンションは、データ型の属性にしたがってモデル化される。例えば、キューブは、「顧客」、「位置」及び「時間」のディメンションにしたがって「売上げ」データを編成する。通常、各ディメンションと関連する階層がある。階層は粒度のレベルを含む。例えば、時間ディメンションは、月、週、日と細分化される年から構成される。年のレベルは、粒度が最も広いレベルであり、一方、日のレベルは、粒度が最も細かいレベルである。ディメンション・メンバーは、キューブ内部の特別なセル又はセル範囲を識別するためのインデックスとして動作する。キューブは、メジャーもまた有することができ、そのメジャーは、その属性にしたがってデータ型を表す。例えば、「売上げ」キューブは、「売上高」(sales amount)メジャーをもつことができ、それは、対応する場所の自国の通貨でもたらせる売上の額である。
【０００４】
ＯＬＡＰサービスは、オンライントランザクショナルプロセッシング（ＯＬＴＰ）データベース等のリレーショナルデータベースに保存されているデータを分析的にモデル化するために使用される場合が多い。そのようなリレーショナルデータベースに保存されているデータを複数のテーブルにしたがって編成する。各テーブルは、属性及びメジャーに対応する列(column)によるデータ型を編成する。例えば、「売上げ」キューブを、「顧客」属性、「位置」属性及び「時間」属性及び、「売上高」メジャーに対応する列を備えた「売上げ」テーブルにしたがってモデル化する。さらに、「為替」テーブルは、「位置」属性及び「時間」属性、及び、「為替レート」メジャーに対応する列を含むことができ、ここで、「為替レート」は、対応する国の自国の通貨からＵＳ通貨への変換レートである。
【０００５】
異なるメジャーの関係を計算することが好ましい場合が多い。例えば、「売上げ」テーブルの「売上高」メジャーと「為替」テーブルの「為替レート」メジャーの積を計算し、自国の通貨からＵＳ通貨に売上げを変換することが望ましい。メジャーの関係は、データが利用可能な最も細かいレベルの粒度で最初に計算され、次に、計算された結果を集めて、より広い選択範囲についての結果をつくりだす。例えば、「売上げ」データと「為替」データの両データの最も細かい粒度のレベルが月レベルである場合、４半期のメキシコ通貨の売上げ及びカナダ通貨の売上げをＵＳ通貨に変換する要求があると、４半期の３ヶ月の各月における２つの国の通貨に対して計算され、６つの別々の計算結果が得られる。引き続いて、６つの計算結果は、集められ、全４半期に対するＵＳ通貨単位でのメキシコ及びカナダの全売上げが得られる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のＯＬＡＰシステムにおいては、各計算を行うためには、行単位に各テーブルから別々に、各メジャーのためのデータにアクセスしなければならない。例えば、メキシコとカナダの４半期の売上げを変換するためには、「売上げ」テーブルと「為替」テーブルは、計算に関連する６行の各々に対して別々に６回アクセスされなければならない。行単位の別々のアクセスは、必要な時間量を著しく延長して、複雑な計算を実行する可能性がある。したがって、関係が行単位において計算されないメジャーの関係をメジャー計算するシステム及び方法に関する技術が必要とされる。
【課題を解決するための手段】
【０００７】
メジャー表現(measure expression)は、算術演算によって定義される複数のメジャーの関係を含む。その表現内の各メジャーは、関連するデータ型に対応する。各データ型のデータを関連データテーブルに記憶する。リクエストは、選択的属性範囲(a selected range of attributes)上のメジャー表現を計算するために受け取られる。
【０００８】
本発明の実施形態においては、リクエストは、表現内の関連メジャーに各々が対応する複数キャッシュを検索することによって処理される。各キャッシュは、選択的属性範囲の関連メジャーに関するデータを備える全ての列を含む。全ての列は、関連データテーブルに対して一回アクセスすることによって検索される。
【０００９】
各々が関連キャッシュに対応する複数のインデックスを生成する。各インデックスは、表現内のすべてのメジャーに共通する選択的属性範囲で関連メジャーに関するデータを含む。そのデータを、関連データ型特有の属性によって集約する。
【００１０】
メジャー表現における算術演算は、行単位に各インデックスからのデータに対して実行され、結果データを、表現内の全てのメジャーに共通する選択的属性範囲で集約する。
【００１１】
本発明の追加の特徴及び利点は、添付図面を参照して進行する実施形態の詳細な説明から明らかであろう。
【発明を実施するための最良の形態】
【００１２】
（本発明の例示的なシステム及び方法）
本発明にしたがってデータを分析的にモデル化するシステム例を図２に示す。図に示したように、例えばオンライン分析処理（ＯＬＡＰ）サービス等の分析的データサービス２２０は、例えば、オンライントランザクショナルデータベース（ＯＬＴＰ）等のリレーショナルデータベース内に記憶されたデータをモデル化するために用いられる。分析的データサービス２２０は、リポーティングクライアント２３０によって分析的にモデル化されたデータを提供する。既に述べたように、リレーショナルデータベース２００に保存されたデータは、複数テーブルにしたがって編成され、各テーブルは、特別なデータ型に対応するデータを含む。特別なデータ型に対応するテーブルは、データ属性及びメジャーに対応するカラムにしたがって編成される。
【００１３】
（コンピュータ環境）
図１及び以下の説明は、本発明及び／又は本発明の一部分が実行される好適なコンピューティング環境の簡単かつ一般的な内容を提供することを意図している。必須ではないが、本発明は、クライアントワークステーション又はサーバ等のコンピュータによって実行されるプログラムモジュール等のコンピュータ実行可能命令の一般的な文脈で記載されている。一般的に、プログラムモジュールは、ルーティン、プログラム、オブジェクト、コンポーネント、データ構造及び特別なタスクを実行し又は特別な抽象データ型を実装する同等物を含む。さらに、本発明及び／又はその一部は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベース又はプログラマブルコンシューマ電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ等をはじめとするその他のコンピュータシステム構成を使って実施することができる。また、本発明は、通信ネットワークを介して接続されるリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施することができる。分散コンピューティング環境においては、プログラムモジュールを、ローカル及びリモートのメモリストレージデバイスにおくことができる。
【００１４】
図１に示すように、例示的汎用コンピューティングシステムは、処理ユニット１２１、システムメモリ１２２、システムメモリを含んだ各種システムコンポーネントを処理ユニット１２１に結合するシステムバス１２３を備えた従来型のパーソナルコンピュータ１２０又はそれの同等物を備える。システムバス１２３は、メモリバス又はメモリコントローラ、周辺バス及び各種バスアーキテクチャのいずれかを使用するローカルバスを含んだ幾つかあるバス構造の型の中のいずれかでよい。システムメモリは、リードオンリーメモリ（ＲＯＭ）１２４及びランダムアクセスメモリ（ＲＡＭ）１２５を含む。基本入出力システム１２６（ＢＩＯＳ）は、パーソナルコンピュータ１２０内部の要素間の情報転送のために役立つ基本ルーティンを含み、スタートアップの間等には、ＲＯＭ１２４に記憶される。
【００１５】
パーソナルコンピュータ１２０は、ハードディスクドライブ（図示せず）に対して読み書きをするハードディスクドライブ１２７、着脱式磁気ディスク１２９に対して読み書きをする磁気ディスクドライブ１２８、ＣＤ−ＲＯＭ又はその他の光媒体等の着脱式光ディスク１３１に対して読み書きを行う光ディスクドライブ１３０をさらに備えることができる。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、光ディスクドライブ１３０は、それぞれ、ハードディスクドライブインタフェース１３２、磁気ディスクドライブインタフェース１３３、光ドライブインタフェース１３４を使ってシステムバス１２３に接続される。ドライバーやそれらと関係するコンピュータ可読媒体は、コンピュータ可読命令の不揮発性ストレージ、データ構造、プログラムモジュール及びパーソナルコンピュータのための他のデータを提供する。
【００１６】
本明細書に記載された例示的環境は、ハードディスク、着脱式磁気ディスク１２９及び着脱式光ディスク１３１を使用するが、コンピュータによってアクセス可能なデータを記憶できる他の種類のコンピュータ可読媒体が例示的オペレーティング環境で使用できると理解すべきである。他の種類の媒体は、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイ（Ｂｅｒｎｏｕｌｌｉ）カートリッジ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）等を含む。
【００１７】
多数のプログラムモジュールはハードディスク、磁気ディスク１２９、光ディスク１３１、ＲＯＭ１２４、又は、ＲＡＭ１２５に記憶され、そのプログラムモジュールは、オペレーティングシステム１３５、１又は複数のアプリケーションプログラム１３６、その他のプログラムモジュール１３７及びプログラムデータ１３８を含む。ユーザは、キーボード１４０及びポインティングデバイス１４２等の入力デバイスを使ってパーソナルコンピュータ１２０にコマンド及び情報を入力することができる。その他の入力デバイス（図示せず）は、マイクロホーン、ジョイスティック、ゲームパッド、サテライトディスク等を含むことができる。これら及びその他の入力デバイスは、システムバスに結合されるシリアルポートインタフェース１４６を介して処理ユニット１２１に接続される場合が多いが、パラレルポート、ゲームポート又はユニバーサルシリアルバス（ＵＳＢ）等の他のインタフェースによって接続される場合もある。モニター１４７又は他の種類の表示装置は、ビデオアダプター１４８等のインタフェースを介してシステムバス１２３に接続される。モニター１４７に加えて、パーソナルコンピュータは通常、スピーカー及びプリンター等の他の周辺出力デバイス（図示せず）を含む。図１の例示的システムは、ホストアダプター１５５、スモールコンピュータシステムインタフェース（ＳＣＳＩ）バス１５６、及びＳＣＳＩバス１５６に接続される外部ストレージデバイス１６２を含む。
【００１８】
パーソナルコンピュータ１２０は、リモートコンピュータ１４９等の１又は複数のリモートコンピュータと論理的接続を用いて、ネットワーク環境で動作できる。リモートコンピュータ１４９は、別のパーソナルコンピュータ、サーバ、ルーター０、ネットワークＰＣ、ピアデバイス又は他の共通ネットワークノードであり、図１には一つのメモリストレージデバイス１５０が示されているだけであるが、パーソナルコンピュータ１２０と関連して記述されている構成要素の大半又は全てを通常含む。図１に示された論理的接続は、ローカルエリアネットワーク（ＬＡＮ）１５１及びワイドエリアネットワーク（ＷＡＮ）１５２を含む。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット及びインターネットにおいて一般的である。
【００１９】
ＬＡＮネットワーキング環境で使用される場合、パーソナルコンピュータ１２０は、ネットワークインタフェース又はアダプター１５３を介してＬＡＮ１５１に接続される。ＷＡＮネットワーキング環境で使用される場合、パーソナルコンピュータ１２０は、通常、モデム１５４又はインターネット等の広域ネットワーク１５２上で通信を確立する他の手段を含む。モデム１５４は、内部又は外部に存在し、シリアルポートインタフェース１４６を介してシステムバス１２３に接続される。ネットワーク環境においては、パーソナルコンピュータ１２０と関連して示されるプログラムモジュール又はその一部は、リモートメモリストレージデバイスに記憶される。図示されたネットワーク接続は典型例であり、コンピュータ間の通信リンクを確立する他の手段を用いることもできる。
【００２０】
（本発明の例示的システム及び方法）
本発明に従ってデータを分析的にモデル化する例示的システムを図２に示す。図からわかるように、例えばオンライン分析的処理（ＯＬＡＰ）サービス等の分析的データサービス２２０を用いることによって、例えば、オンライントランザクションデータベース（ＯＬＴＰ）等のリレーショナルデータベースに保存されているデータをモデル化する。分析的データサービス２２０は、リポーティングクライアント２３０によって分析的にモデル化されたデータを提供する。既に記載したように、リレーショナルデータベース２００に保存されているデータを複数テーブルに基づいて編成することができ、各テーブルは、特殊なデータ型に対応するデータを含む。特殊なデータ型に対応するテーブルは、データ属性及びメジャーに対応する列に基づいて編成する。
【００２１】
「顧客ＩＤ」列３１０、「国」列３２０、「月」列３３０及び「売上高」列３４０を有する「売上げ」テーブル３００内に編成される「売上げ」データ型を備える１つのテーブルを図３に示す。「顧客ＩＤ」列３１０、「国」列３２０及び「月」列３３０は、データが有効である最も細かい粒度の「売上げ」データ型の属性を提供する属性列である。特に、「顧客ＩＤ」列３１０は、「売上げ」データ型の顧客属性に関する最も細かい粒度であり、「国」列３２０は、「売上げ」データ型の位置属性に関する最も細かい粒度であり、「月」列３１０は、望ましくは「売上げ」データ型の時間属性に関する最も細かい粒度である。「売上高」列３４０は、「顧客ＩＤ」列３１０、「国」列３２０及び「月」列３３０内の顧客、国及び月に従った「売上高」メジャーのためのデータを含むメジャー列である。「売上高」列３４０は、対応する国の元の通貨で構成された売上高である。
【００２２】
図４を参照すると、「為替」データ型は、「国」列４１０、「月」列４２０、及び「為替レート」列４３０を備える「為替」テーブル４００の中に編成される。「国」列４１０及び「月」列４２０は、データが有効な最も細かい粒度の「為替」データ型の属性を提供する属性列である。特に、「国」列４１０は、「為替」データ型の位置属性に関する最も細かい粒度であり、「月」列４２０は、「為替」データ型の時間属性の最も細かい粒度である。「為替レート」列４３０は、「国」列４１０及び「月」列４２０内の国及び月にしたがった「為替レート」メジャーのためのデータを含むメジャー列である。「為替レート」列３４０は、自国の通貨をＵＳ通貨に変換するレートである。
【００２３】
本発明による分析データサービス２２０によって、メジャー表現は、例えば、「売上げ」テーブル３００からの「売上高」メジャー３４０、及び、「為替」テーブル４００からの「為替レート」メジャー４３０等の複数のメジャーに対して定義される。メジャー表現は、算術演算によって定義される複数のメジャーの関係を含む。例えば、メジャー表現「ＵＳ売上げ」は、以下に示す通り、「売上高」メジャー３４０と「為替レート」メジャー４３０の積として定義する。
（ＵＳ売上げ）ＭＥ＝（売上高）Ｍ＊（交換レート）Ｍ
【００２４】
メジャー表現内に含まれるメジャーは、共通属性を有するメジャーデータ型を必ずしも必要としない。例えば、「売上げ」データ型の顧客属性は、「為替」データ型の属性ではない。分析的データサービス２２０は、選択的属性範囲のメジャー表現の計算を要求するクエリを受信し処理する。本発明の一実施形態にしたがうクエリを処理する例示的方法を、図５を参照して以下に説明する。メジャー表現は、メジャーの関係を含むが、以下の方法は、２つのメジャーを含むメジャー表現を参照して説明する。しかしながら、重要なことは、以下の方法は、２つのメジャーを含むメジャー表現に制限されないことである。方法は、処理ステップを表現中の追加のメジャーに広げることによって３以上のメジャーを含むメジャー表現に適用する。
【００２５】
一般的に、表現内のメジャーの選択的属性範囲内のデータは、データベース２００から検索され、キャッシュされる。重要なことは、メジャー表現がメジャーの関係として定義されているため、表現内の各メジャーの選択的属性範囲内のデータを備える全ての列が、検索され、対応データテーブルに対する１回のアクセスによってキャッシュされる。例えば、「ＵＳ売上げ」を計算するために、「売上高」メジャー３４０に関して選択的属性範囲内のデータを備える全ての列は、検索され、「売上げ」テーブル３００に対する１回のアクセスによってキャッシュされ、一方、「為替レート」メジャー４３０に関して選択的属性範囲内のデータを備える全ての列は、検索され、「為替」テーブル４００に対する一回のアクセスによってキャッシュされる。データの複数列を検索する１回のアクセスは、行単位でデータを検索する複数アクセスが好ましい。データテーブルへのアクセス数を減らすことにより、リクエストの処理に要する時間を非常に減らすことができる。
【００２６】
図５を参照すると、ステップ５１０において、メジャー表現は分析データサービス２２０で定義される。メジャー表現は、第１のメジャーと第２のメジャーの上で実行される算術演算として定義する。例えば、上述の「ＵＳ売上げ」メジャーは、第１のメジャーの「売上高」３４０及び第２のメジャーの「為替レート」３４０の積として定義する。
【００２７】
ステップ５１２において、クエリは、分析データサービス２２０で受信され、選択的属性範囲に対するメジャー表現の計算を要求する。例えば、クエリは、第１クウォーター（１月、２月及び３月）における顧客「１」のメキシコ位置に関する「ＵＳ売上げ」の計算をリクエストする。
【００２８】
ステップ５１４において、第１のキャッシュは、第１のデータ型に対応するデータベース２００内の第１のデータテーブルから検索される。第１のキャッシュは、選択的属性範囲の第１のメジャーに関するデータを含む。メジャー表現「ＵＳ売上げ」に対応する例示的第１のキャッシュ６００を図６に示す。第１のキャッシュ６００は、「売上げ」テーブル３００から検索され、「顧客ＩＤ」列６１０、「国」列６２０、「月」列６３０及び「売上高」列６４０を備える。「顧客ＩＤ」列６１０は、顧客「１」に関するエントリだけを含み、それは、選択的な顧客属性範囲を備える。「国」列６２０は、メキシコに関するエントリだけを含み、それは、選択的な位置属性の範囲を備える。「月」列６３０は、１月、２月及び３月に関するエントリだけを含み、それは、選択的な時間範囲を備える。「売上高」列６４０は、「顧客ＩＤ」列６１０、「国」列６２０及び「月」列６３０内の顧客、国及び月にしたがった「売上高」メジャー３４０に関するデータを含むメジャー列である。重要なことは、第１のキャッシュの全ての列を、「売上げ」テーブル３００に対して一回アクセスすることによって編集できる。
【００２９】
ステップ５１６において、第１のインデックスは、第１のキャッシュから生成される。第１のインデックスは、第１のデータ型と第２のデータ型に共通する選択的属性範囲の第１のメジャーに関するデータを含む。その結果、第１のインデックスにおいては、第１のメジャーに関するデータは、第１のデータ型特有の属性によって集約される。メジャー表現「ＵＳ売上げ」に対応する例示的第１のインデックス７００を図７に示す。第１のインデックス７００は、「国」列７１０、「月」列７２０及び「売上高」列７３０を含む。「国」列７１０及び「月」列７２０は、「売上げ」データ型及び「為替」データ型の両方に共通する属性に対応する属性列である。「顧客ＩＤ」列６１０は、第１のキャッシュ６００内に含まれ、しかし、それは、「売上げ」データ型特有であるため、第１のインデックス７００内に含まれないことが理解できる。「売上高」列７３０は、「国」列７１０及び「月」列７２０内の国及び月にしたがって「売上高」メジャー３４０に関するデータを含むメジャー列である。
【００３０】
「売上高」列７３０内のデータは、顧客「１」だけに関する売上げを含むように集約化され、それは、選択的な顧客範囲を備える。特に、「売上げ」テーブル３００内に示されているように、売上げの３．００ペソは、１月にメキシコでなされており、１．００ペソは、顧客「１」によりもたらされ、２．００ペソは、顧客「２」によりもたらされる。その結果、第１のインデックス７００は、売上げの１．００ペソだけが１月にメキシコでもたらされ、顧客「１」によりなされた１．００ペソの売上げを反映し、顧客「２」は選択された顧客範囲内でないので、顧客「２」によりなされた２．００ペソの売上げを反映しない。
【００３１】
ステップ５１８において、第２のキャッシュは、第２のデータ型に対応するデータベース２００内の第２のデータテーブルから検索される。第２のキャッシュは、選択的属性範囲の第２のメジャーに関するデータを含む。メジャー表現「ＵＳ売上げ」に対応する例示的第２のキャッシュ８００を図８に示す。第２のキャッシュ８００は、「為替」テーブル４００から検索され、「国」列８１０、「月」列８２０及び「為替レート」列８３０を含む。「国」列８１０は、メキシコだけに関するエントリを含み、それは、選択的な位置属性の範囲を備える。「月」列８２０は、１月、２月及び３月だけのエントリを含み、それは、選択的な時間属性の範囲を備える。第２のキャッシュ８００は、「顧客ＩＤ」列を含まないことが理解できる。なぜならば、顧客データは、「為替」データ型に適用できないからである。「為替レート」列８３０は、「国」列８１０内及び「月」列８２０内の国及び月にしたがって、「為替レート」メジャー４３０に関するデータを含むメジャー列である。重要なことは、第２のキャッシュ８００内の全ての列を、「為替」テーブル４００に対する一回アクセスするだけで編集できる。
【００３２】
ステップ５２０において、第２のインデックスは、第２のキャッシュから生成される。第２のインデックスは、第１のデータ型と第２のデータ型に共通する選択的属性範囲の第２のメジャーに関するデータを含む。その結果、第２のインデックスにおいては、第２のメジャーに関するデータは、第２のメジャー特有の属性によって集約される。「ＵＳ売上げ」に関しては、第２のキャッシュ８００は、「売上げ」データ型と「為替」データ型の両方に共通する位置属性及び時間属性だけを備えるため、第２のインデックスは、第２のキャッシュ８００と同一である。
【００３３】
ステップ５２２において、メジャー表現で定義されている算術演算は、第１のインデックスからの第１のメジャーに関するデータと第２のインデックスからの第２のメジャーに関するデータに対して実行される。演算は、行単位で実行され、各メジャー表現エントリは、対応する列からの第１のメジャーエントリと第２のメジャーエントリに基づいて計算される。
【００３４】
メジャー表現「ＵＳ売上げ」に対応する例示的メジャー表現計算９００を図９に示す。計算９００は、「国」列９１０、「月」列９２０、「売上高」列９３０、「交換レート」９４０及び「ＵＳ売上げ」列９５０を含む。「国」列９１０と「月」列９２０は、「売上げ」データ型及び「為替」データ型の両方に共通する属性に対応する属性列である。「売上高」列７３０及び「交換レート」列９４０は、第１のインデックス７００と第２のインデックス８００からの「売上高」メジャー３４０及び「為替レート」メジャー４３０に関する集約データを含むメジャー列である。
【００３５】
「ＵＳ売上げ」列９５０は、「国」列９１０及び「月」列９２０内の国及び位置にしたがってメジャー表現「ＵＳ売上げ」に関するデータを含むメジャー表現である。「ＵＳ売上げ」列９５０内のエントリは、対応する月に関する「売上高」列９３０及び「為替レート」列９４０内のエントリの積として月ベースで月に対して計算される。
【００３６】
ステップ５２４において、選択的属性範囲の全体のメジャー表現は、ステップ５２２で計算された各列に関する結果メジャー表現エントリを集約することによって計算される。計算９００内に示されたように、第１クウォーターの全メジャー表現「ＵＳ売上げ」である「＄１４．５０」は、第１クオータの各月に関する個々のメジャー表現エンティティの合計によって計算される。
【００３７】
本発明は、各種図面の好適な実施形態と組み合わせて記述されているが、その他の類似実施形態を使用することができ、また、本発明から逸脱せずに本発明と同じ機能を実行するために追加物を記述された実施形態に加えることができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の態様及び／又は本発明の態様の一部を組み込むことができる汎用コンピュータシステムを表すブロック図である。
【図２】本発明による分析的にデータをモデル化する例示的システムのブロック図である。
【図３】本発明による「売上げ」データに対応するリレーショナルデータベーステーブルのサンプルを示す図である。
【図４】本発明による「為替」データに対応するリレーショナルデータベースのサンプルを示す図である。
【図５】本発明によるメジャー表現を計算する例示的方法のフローチャートを示す図である。
【図６】本発明による例示的第１のキャッシュを示す図である。
【図７】本発明による例示的第１のキャッシュを示す図である。
【図８】本発明による例示的第２のキャッシュを示す図である。
【図９】本発明によるメジャー表現の例示的計算を示す図である。
【符号の説明】
【００３９】
１２０  コンピュータ
１２２  システムメモリ
１３６  アプリケーションプログラム
１３７  他のプログラム
１３８  プログラムデータ
１２７  ハードディスクドライブ
１２１  処理ユニット
１３２  ハードディスクドライブI/F
１４８  ビデオアダプター
１５５  ホストアダプター
１３３  磁気ディスクドライブI/F
１３４  光ディスクドライブI/F
１２８  フロッピー（登録商標）ディスクドライブ
１３０  光ディスクドライブ
１２３  システムバス
１４６  シリアルポートI/F
１５３  ネットワークI/F
１５６  ＳＣＳIバス
１４７  モニター
１６２  ストレージデバイス
１２９  ストレージ
１３１  ストレージ
１４２  マウス
１４０  キーパッド
１５４  モデム
１５０  メモリ
１４９  リモートコンピュータ
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2005018751.tif 000001
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2005018751.tif 000002