(57)【特許請求の範囲】
【請求項１】
システムであって、
データベースを構成する複数のデータを格納するためのメモリと、
複数のデータを階層構造に集約するための階層処理モジュールとを含み、前記階層構造は、階層的な親子関係に編成される複数のレベルを含み、各レベルは、複数のメンバのうちの同様のタイプのメンバの集まりであり、各メンバは、前記データベースの複数の項目のうちの１つの次元で表わされる項目であり、前記次元は、前記階層構造内に含まれるデータの属性に対応しており、
前記階層構造内のデータから、前記複数のレベルのうちの１つのレベルについて、複数のタイプの複数の属性の値に基づいて、１つ以上の属性に対応する新たな次元を生成することにより、オンライン分析処理および多次元計画アプリケーションにおける相互属性分析および操作のための疑似階層構造を作成するための次元分割モジュールとを含み、前記複数の属性は、前記１つの次元で表わされるメンバに有効であり、前記１つのレベルおよび当該レベルの下位のレベルは、当該１つのレベルにおけるメンバおよび当該下位のレベルにおけるメンバが表示されないように非アクティブであり、次元分割は、前記階層構造の１つ以上のデータ要素を選択的に再配列することと、前記階層構造の１つ以上のデータ要素を選択的に再構成することと、前記階層構造の１つ以上のデータ要素を選択的に再配置することとの１つ以上を含み、
少なくとも前記疑似階層構造の一部に基づいて多次元スプレッドシートにおける多次元データの組を表示するための多次元データビューモジュールを含み、
一つの次元は、前記階層構造内に含まれる前記データの属性に対応する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
米国を除くすべての指定国の出願人であり、かつ米国籍で米国にあるリテック社（RETEK, INC.）、および米国のみの出願人であり、かつ英国籍で英国在住のリチャード・エイドリアン・モリス（Richard Adrian Morris）は、ＰＣＴ出願としてこの出願を提出し、２００３年８月１２日に出願された米国特許出願番号１０／６３９，５５１の優先権を主張する。
【０００２】
技術分野
この出願は概して、多次元計画システムにおける多次元データのための相互属性分析の製造の方法、装置、および製品に関し、より特定的には、次元分割による、オンライン分析処理（ＯＬＡＰ）および多次元計画アプリケーションにおける相互属性分析および操作の方法、装置、ならびに製品に関する。
【背景技術】
【０００３】
背景
長年にわたって、リレーショナルデータモデルに基づく報告および分析アプリケーションは、「属性」の値に基づいてデータを集計することによって、多少特別な「属性」に基づく合計を生成する機能を有してきた。このシナリオでは、「属性」は、たとえば製品の供給業者、場所が属する地区、および同様の事実などの、特定のメンバまたは位置についての一次元の事実であり、さまざまな形態の明細集計によって報告および「分析」される事実と結び付けられることができる。これらの「属性」は、たとえこのような「次元」が多次元モデルにおける次元と同一のものを表わさないとしても、「次元」であると位置付けられることが多い。
【０００４】
ＯＬＡＰ（オンライン分析処理）および多次元計画アプリケーション（ＭＤＰ）は、従来より異なるアプローチを取ってきた。たとえば商品計画のために使用されるＭＤＰアプリケーションは、ＯＬＡＰタイプのアプリケーションであるが、ユーザが、データ値を変更し、すべての他の関連する値をそのアプリケーションに自動的に再計算させるという高性能な機能を有するアプリケーションである。これらのタイプのアプリケーションでは、メンバはともに次元に関連付けられる。商品計画システムのための例では、メンバは、次元において表わされる個々の製品または個々の場所である。ここで、次元は、たとえばすべてのタイプの場所などの、関連するメンバのすべての異なるタイプを表わす。次元において、同様のタイプのメンバがレベルにグループ化され、レベルはたとえば店、地区、地域などのエンティティ、およびこの例の商品計画システムのためのエンティティの他の集まりを表わしてもよい。レベルは、階層を構築するために使用される親子関係を介して、ともに関連付けられる。したがって、たとえば、店は区域の子であってもよく、区域は地区の子であってもよく、地区は地域の子であってもよい。この階層は、図１ａに示される線図１０１によって概略的に表わされることができる。
【０００５】
図１ａでは、階層１０１は「店２２３」１１１についての値から始まる。この店１１１の総売上は、西地区１１２についての合計の中に含まれ、次いで米国地域１１３についての合計の中に含まれ、最終的には、会社全体１１４についての合計に含まれる。もちろん、この階層におけるさまざまなレベルについての合計は、他の店、地域および地区についての値をさまざまな合計の中に含む。
【０００６】
ＯＬＡＰおよびＭＤＰアプリケーションでは、階層は統合または集約を規定し、一旦階層が規定されると自動的に生じるロールアップを生成するための経路を規定する。これらの階層は典型的には、いくつかの管理プロセスまたはインターフェイスを介して予め規定され、これらの階層を属性の階層から区別するために正式な階層と称されてもよい。ＯＬＡＰおよびＭＤＰアプリケーションは典型的には、一つの次元で複数の階層をサポートする。これらの複数の階層は通常、代替階層と称される。したがって、図１ａに示されるこの例の場所の階層が小売組織における営業場所の階層を表わす場合、同一の店は、さらに、図１ｂ内に示される代替階層１０２においてそのブランド名によって分析されてもよい。この代替階層１０２では、店の値１２１は階層１０２の最下位に示される。中間値１２２がブランド名のために示され、この会社１２３についての合計は階層１０２の最上位にある。任意の数のこのような階層が可能である。
【０００７】
店１２１のブランド名１２２が属性であることが示され得るであろう。いくつかのＯＬＡＰおよびＭＤＰアプリケーションの場合、このような属性の階層は、ユーザによって要求されるときに、属性の値から動的に構築されてもよい。それらのアプリケーションでは、正式な階層または属性の階層としてどの特定の関係がモデル化されるべきであるかについての判断は、このアプリケーションにとっての使いやすさ、定義の容易さ、および性能調整のうちの１つである。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＯＬＡＰおよびＭＤＰアプリケーションによって動的な属性の階層を構築することへのこのアプローチは、いかなるタイプの相互属性分析も提供しない。属性が相当に静的な値を有し、このような値が非常に少数である場合、相互属性分析の何らかの制限された形態を可能にする正式な代替階層が構築され得る。たとえば、製品の２つの属性が統一小売価格（ＰＰ）および原産国（ＣＯＯ）である場合、代替階層は図２に示されるように構築され得るであろう。
【０００９】
これらの代替階層２０１−２０２は、個々の統一小売価格（たとえば高、中、および低）および原産国を表わすメンバを与える。たとえばＵＳＡ／高ｐｐ、ＵＳＡ／中ｐｐ、カナダ／中ｐｐ、およびその他の属性の組合せなどの、これらの属性の組合せを表わすメンバが存在するとき、それは、さらに、制限された相互属性分析を可能にする。しかしながら、この正式な代替階層のアプローチは、より動的な属性とともに使用されることができず、少なからずの属性が存在するときに管理的で、エンドユーザの悪夢になる。これは、非常に多数の正式な代替階層が維持され、使用される必要があるだろうという理由からである。次元分割による、オンライン分析処理（ＯＬＡＰ）および多次元計画アプリケーションにおける相互属性分析および操作を提供するためのシステムならびに方法として本明細書に記載されるこの発明は、この問題に対する解決法を提供する。
【課題を解決するための手段】
【００１０】
概要
この発明は概して、次元分割による、オンライン分析処理（ＯＬＡＰ）および多次元計画アプリケーションにおける相互属性分析および操作の方法、装置、ならびに製品に関する。この発明の１つの局面は、次元分割によって、オンライン分析処理および多次元計画アプリケーションにおいて相互属性分析および操作を提供するためのシステムである。このシステムは、データを階層データ構造に集約するための階層処理モジュールと、階層データ構造内のデータから疑似階層データ構造を作成するための次元分割モジュールと、多次元スプレッドシートにおける階層データ構造に従って多次元データの組を表示するための多次元データビューモジュールとを有する。一つの次元は、階層データ構造内に含まれるデータの属性に対応する。
【００１１】
この発明の別の局面は、次元分割によって、オンライン分析処理および多次元計画アプリケーションにおいて相互属性分析および操作を提供するための方法を実現するために使用される方法ならびに対応するコンピュータデータ製品である。この方法は、メンバの複数の次元を有する階層組織を生成し、次元は関連するメンバのすべての可能な異なるタイプであって、メンバは属性を有し、この方法は、さらに、メンバの複数の次元についてのレベルの組を規定し、レベルは、同様のメンバの集まりであって、階層的な親子関係に編成され、レベルの組はアクティブにされるメンバの組によって規定され、この方法は、さらに、階層組織の上方向に属性値の小計を出すことによって、階層組織における各々のレベルについての属性値を決定し、階層組織における各々のレベルについての属性値についての視覚的表示を二次元の表形式で提示する。
【図面の簡単な説明】
【００１２】
【図１】（ａ）および（ｂ）は、この発明が作用する１つの可能な実施例に従う分析処理システムとともに使用される、小売販売組織のための例示的な階層組織を示す。
【図２】この発明が作用する１つの可能な実施例に従う分析処理システムとともに使用される、小売販売組織のための代替的な例示的な階層組織を示す。
【図３】この発明の例示的な実施例に従う、売上および在庫データの二次元表現を含む、例示的なスプレッドシートを示す。
【図４】この発明の１つの実施例に従う小売販売分析処理システムの一部であり得るさまざまな計算システムを構築するために使用され得る計算システムを示す。
【図５】この発明のさらに別の例示的な実施例に従う、図６と組合せて使用される別の例示的な階層を示す。
【図６】この発明の例示的な実施例に従う、小売販売環境において売上および在庫データを表わす多次元スプレッドシートの一部を示す。
【図７】この発明の例示的な実施例に従う、小売販売環境において売上データを表わす完全な多次元スプレッドシートを示す。
【図８】この発明の別の例示的な実施例に従う、別の例示的な生成された階層を示す。
【図９】この発明の例示的な実施例に従う、売上データの多次元表現の無効な組合せを含む例示的なスプレッドシートを示す。
【図１０】この発明の例示的な実施例に従う小売販売分析処理システム内の属性の疑似階層の組を示す。
【発明を実施するための形態】
【００１３】
詳細な説明
この発明は、次元分割による、オンライン分析処理（ＯＬＡＰ）および多次元計画アプリケーションにおける相互属性分析および操作の方法、装置、ならびに製品に関する。この発明の例示的な実施例の以下の詳細な説明では、本明細書の一部を形成する添付の図面が参照され、図面は例示によって示され、この発明が実施され得る具体的な例示的な実施例である。これらの実施例は、当業者がこの発明を実施することを可能にするのに十分詳細に記載され、この発明の精神または範囲から逸脱することなく、他の実施例が利用されることができ、他の変更がなされ得ることが理解されるべきである。したがって、以下の詳細な説明は限定的な意味で取られるべきではなく、この発明の範囲は特許請求の範囲によってのみ規定される。
【００１４】
本明細書および特許請求の範囲全体にわたって、以下の用語は、文脈が明らかにそうでないように規定しない限り、本明細書において明確に関連する意味を取る。「接続される」という用語は、いかなる中間装置もない、接続される要素間の直接的な接続を意味する。「結合される」という用語は、接続される要素間の直接的な接続、または１つ以上の受動もしくは能動中間装置を介する間接的な接続のいずれかを意味する。「回路」という用語は、所望の機能をもたらすためにともに結合される、能動的および／または受動的な、単一の構成要素または複数の構成要素のいずれかを意味する。「信号」という用語は、少なくとも１つの電流、電圧、またはデータ信号を意味する。図面を参照して、同一の番号は図面全体にわたって同一の部分を示す。
【００１５】
図１ａおよび図１ｂは、この発明が作用する１つの可能な実施例に従って、分析処理システムとともに使用される、小売販売組織のための例示的な階層組織を示す。図１ａおよび図１ｂを参照して上述されたように、これらの階層は、この発明に従ってシステムに存在する販売分析および操作処理を規定するために使用される。図２は、この発明が作用する１つの可能な実施例に従って、分析処理システムとともに使用される、小売販売組織のための代替的な例示的な階層組織を示す。これらの図は、本明細書全体にわたって使用される階層を示す。
【００１６】
図１および図２に示される例では、たとえば店のブランド名、または品目の原産国もしくは統一小売価格などの所与のメンバにとって相当に静的である属性が示される。最先端の計画および分析システムも、動的な属性値、状態情報のさまざまな形態に基づく属性値、またはメンバについての複数の値を有してもよい属性値を必要とし、必要とされる値は要求の文脈から求められてもよい。これらのタイプまたは類似のタイプの属性はいずれも、次元分割とともに利用され、使用されてもよい。
【００１７】
動的な属性値は、多次元データに基づく属性値であると考えられ得る。すべての他のアクティブな次元のメンバが属性の定義に十分に指定される場合、各々のメンバについての単一値のみが存在し、それは属性として扱われることができる。このタイプの属性の一例は、２００３年春のシーズンのための、会社全体の計画された売上数量であってもよく、これは各々の製品の属性であると考えられることができる。メンバの状態に基づく属性は、たとえばシーズン前の計画が社長によって承認されたなどの、計画の方法論におけるチェックポイントが達せられたかどうか、またはメンバが特定のアラートもしくは例外を有するかどうかなどの、アプリケーションによってサポートされるどんなタイプの状態情報でも利用し得る。
【００１８】
文脈に影響されやすい属性は上述の動的な属性の拡張機能であるが、すべての他の次元におけるメンバは十分に指定されない。したがって、たとえば、顧客のファッション性を捉える多次元の部分が存在し得る。これは、製品分類ごとおよび店ごとに変化するように想定されてもよい。たとえば、アトランタの店はドレスに関しては先を行くファッションであってもよいが、コートに関しては後を追うファッションであってもよい。ドレスのクラスの文脈が一旦確立されると、この情報は各々の店についての単一値に分解し、したがって、まるでそれが属性であるかのように使用されてもよい。
【００１９】
次元分割において効果的に使用するために、いくつかの属性がバンド化プロセスを経てもよく、分析のために同様の値をともにバンドにグループ化することに注目されたい。このバンド化プロセスがなければ、多くの数字または日付に基づく属性は実質的には役に立たない。なぜなら、ほとんどのメンバが異なる値を有するであろうという理由からである。したがって、たとえば、２００３年春のシーズンのための、会社全体の計画された売上数量は、一例として、０−２，０００個、２，０００−５，０００個、または５，０００−１０，０００個のバンドに入れられてもよいだろう。
【００２０】
ほとんどのＯＬＡＰシステムは、ユーザがセルの値をまったく操作できないようにするか、または詳細なメンバのためのこのような操作のみを可能にする。詳細なメンバは、階層の「最下位」に位置するメンバである。他方で、ＭＤＰアプリケーションは、ユーザがいかなるレベルにおいてもセルへの変更を操作できるようにし、たとえば階層の下方に高レベルの変更を拡散させるステップ、式または規則を適用して詳細なメンバのための関連する測定単位を再計算するステップ、およびすべての変更された測定単位の結果を統合するステップなどを含む計算プロセスによって、データの完全性および相互一貫性が保証される。読み出し専用の相互属性分析は、多少の利点があるが、ＭＤＰアプリケーションの多くのユーザによって所望される機能性には及ばないであろう。ＭＤＰアプリケーションがより高いレベルで変更を拡散させるので、次元分割は、さらに、ＭＤＰアプリケーションのための実行可能な技術であるようにある種の拡散プロセスをサポートしなければならない。
【００２１】
ほとんどのＭＤＰアプリケーションの場合、拡散プロセスは一度に単一階層の下方に作用する。複数の代替階層における関連する変更を分解するために連立方程式を解くことが可能であるが、このアプローチは典型的には、システムの動作に対する不必要な複雑化であると考えられてきた。したがって、ほとんどのＭＤＰアプリケーションは、単一階層のみにおけるメンバがいつでも操作されることを可能にする。いくつかのＭＤＰアプリケーションは、ユーザにこのアクティブな階層を予め定めさせ、セルを保護するために、通常保護処理と称されるプロセスを使用させるか、またはその階層の中にないどのメンバのためにも、少なくとも一時的にセルを操作不可能にする。より精巧なＭＤＰアプリケーションはアクティブな階層を予め定めることはなく、すべてのレベルが既に変更されている単一階層にあり得ないレベルのメンバを保護するのみである。これは実質的には、使用するための実際の「アクティブな階層」を開けたままにするが、さらに他のレベルにおいて変更がなされるときには、選択がより制限され、強制されることになるであろう。したがって、次元分割がＭＤＰアプリケーションのための実行可能な技術であるように、システムは、さらに、ある種の階層保護処理をサポートしなければならない。
【００２２】
ほとんどのＯＬＡＰおよびＭＤＰアプリケーションは、データが閲覧および分析され得るさまざまな方法を有する。すべてのこのようなアプリケーションは本来多次元であるので、ビュー方法はすべて、データの多次元の性質を意図的に利用する。多次元データを閲覧する最も一般的な形態は、ある種のスプレッドシートビューである。スプレッドシートは物理的に二次元であるので、物理的な二次元のみにおいてモデル化されるいくつかの次元を示すためにある種の表現が見付けられなければならない。
【００２３】
図３ａは、四次元のモデルの典型的な表現を示す多次元スプレッドシートの単純な例である。入れ子になった次元（つまり、任意の向きに２つ以上の次元）の厳密な表現およびページ領域は、同一の階層における異なるレベルでのメンバ間の階層関係を示すために使用される表現と同様に、アプリケーションごとに異なる。ここで、次元は、場所の次元３０１、製品の次元３１１−３１３、時間の次元３０２−３０６、および測定単位の次元３２１−３２２として識別されることができる。
【００２４】
次元は、ビューの横方向、ビューの下方向、およびページ領域の３つの向きのうちの１つの向きに、多次元スプレッドシートに配置される。図３ａにおける例では、場所の次元はページ領域３０１にある。ページ領域における次元はアクティブなメンバを１つだけ有し、この場合には、場所１および目に見えるすべてのデータセル３３１は、そのメンバのためのものである。ほとんどのＯＬＡＰおよびＭＤＰアプリケーションは、ページメンバがすばやく、容易に変更され得るさまざまな方法を有し、これらの方法には、ＶＣＲのような制御、ドリルアップおよびダウン、ならびにリレーショナルのようなクエリによってメンバを発見することが含まれる。したがって、スプレッドシートは、ページの次元のメンバの各々の組合せのためのページを有する、単一の論理的な報告のページであると考えられ得る。セルのための十分な多次元アドレスは、すべてのページメンバに加えて、そのセルのためのすべての行および列のヘッダに示されるメンバから見付けられ得る。したがって、たとえば、図３ａにおける左上のセル３３２は、週１  ３０２のための場所１  ３０１における品目１  ３１１の売上のためのものである。
【００２５】
横方向の領域３０２−３０６における次元は、列のヘッダとして位置付けられるメンバを有する。図３ａでは、時間の次元は横方向であり、週のデータ３０２−３０５および月のデータ３０６のために示される２つの異なるレベルからのメンバを有する。下方向の領域３１１−３１３および３２１−３２２における次元は、行のヘッダとして位置付けられるメンバを有する。図３ａでは、製品または品目３１１−３１３の次元、および測定単位、つまり売上３２１および在庫３２２の両方の次元は下方向である。
【００２６】
ほとんどのＯＬＡＰおよびＭＤＰアプリケーションは、スプレッドシートビューを配置し、それらのビュー内で次元の向きを判断するための非常に柔軟なプロセスを有し、ビューにおける次元の向きを変更するために「スライスアンドダイス」プロセスが通常使用される。ほとんどのアプリケーションはどんな領域においても二次元以上をサポートする。図３ａにおける例は下方向の領域において二次元を示す。横方向の領域における二次元の表現は、図３ｂに示される次元３４０のようなものであろう。
【００２７】
図３ｂは、行形式で図３ａに示された同一のデータを列形式で示す。場所１のデータ３４１は、表の内容によって表わされる。品目の次元のデータ３５１−３５３のための列データは、最上部の列の見出しに示され、売上および在庫データ３６１−３６６は各々の品目の下の代替的な列に示される。同様に、時間の次元は、完全なスプレッドシートの表の行に表わされてもよい。
【００２８】
ほとんどのＯＬＡＰおよびＭＤＰアプリケーションは、複数のビューがいつでもアクティブであることを可能にし、通常は、それらのビューは次元における異なる代替階層を使用してもよい。ビューの配置の目的で、次元分割は代替階層と非常によく似たように機能し、したがって、通常の代替階層を有するビューもあれば、次元分割を通じてもたらされた次元を有するビューもある。したがって、次元分割の、次元への影響についての以下の記載は、通常、分割された次元を使用しているビューにのみ当てはまるのに対して、拡散のために使用されるアクティブな階層、したがって保護処理に関する上の記載は、すべてのビューにわたって当てはまる。
【００２９】
図４は、この発明の１つの実施例に従って、小売販売計画および分析処理システムの一部であり得る、さまざまな計算システムを構築するために使用され得る計算システムを示す。相互次元ＯＬＡＰ処理システムの例示的な実施例では、計算システム４００はマルチメディアディスプレイデータパッケージの作成および編集システムを提供するように動作する。
【００３０】
処理システム４００は、図４に示される計算システム４００を参照して示されるものよりも多くの構成要素を含んでもよいことを、当業者は理解する。しかしながら、示される構成要素はこの発明を実施するための例示的な実施例を開示するのに十分である。図４に示されるように、処理システム４００は、ネットワークインターフェイスユニット４１０を介して、ＷＡＮ／ＬＡＮ１００または他の通信ネットワークに接続される。ネットワークインターフェイスユニット４１０は処理システム４００をＷＡＮ／ＬＡＮ１００に接続するための必要な回路を含み、ＴＣＰ／ＩＰプロトコルを含むさまざまな通信プロトコルとともに使用するために構築されることを当業者は理解する。典型的には、ネットワークインターフェイスユニット４１０は、処理システム４００内に含まれるカードである。
【００３１】
処理システム４００は、さらに、処理ユニット４１２、ビデオディスプレイアダプタ４１４、および大容量メモリ４１６を含み、すべてはバス４２２を介して接続される。大容量メモリは概して、ＲＡＭ４１６、ＲＯＭ４３２、ならびにたとえばハードディスクドライブ４２８、テープドライブ、ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭドライブ４２６、および／またはフロッピー（登録商標）ディスクドライブなどの１つ以上の永久的な大容量記憶装置を含む。大容量メモリは、処理システム４００の動作を制御するためのオペレーティングシステム４２０を格納する。この構成要素は、たとえばＵＮＩＸ（登録商標）、ＭＡＣ  ＯＳ（登録商標）、ＬＩＮＵＸ（登録商標）、またはマイクロソフトウインドウズＮＴ（Microsoft WINDOWS（登録商標）NT）などの、当業者に公知の汎用サーバオペレーティングシステムを含んでもよい。基本的な入力／出力システム（「ＢＩＯＳ」）４１８も処理システム４００の低レベル動作を制御するために与えられる。
【００３２】
上述の大容量メモリは、別のタイプのコンピュータ可読媒体、つまりコンピュータ記憶媒体を示す。コンピュータ記憶媒体は、たとえばコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの、情報の格納のためのどんな方法または技術においても実現される揮発性および不揮発性の、取外し可能および取外し不可能な媒体を含んでもよい。コンピュータ記憶媒体の例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用されることができ、計算装置によってアクセスされることができるその他の媒体を含む。
【００３３】
大容量メモリは、さらに、マルチメディアディスプレイデータパッケージを提供するためのプログラムコードおよびデータを格納する。より具体的には、大容量メモリは、相互属性ＯＬＡＰ分析および操作アプリケーションプログラム４３０、ユーティリティプログラム４３４、ならびに関連するプログラムを含むアプリケーションを格納する。相互属性ＯＬＡＰ分析および操作アプリケーションプログラム４３０は、コンピュータ４００によって実行されるときに、上述の論理を実行することを含むユーザ表示を生成する、コンピュータが実行可能な命令を含む。
【００３４】
処理システム４００は、さらに、たとえばマウス、キーボード、スキャナ、または他の入力装置などの、外部装置と通信するための入力／出力インターフェイス４２４を含む。同様に、処理システム４００は、さらに、たとえばＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭドライブ４２６およびハードディスクドライブ４２８などの追加の大容量記憶装置を含んでもよい。ハードディスクドライブ４２８は処理システム４００によって利用されて、アプリケーションプログラム、データベース、および、相互属性ＯＬＡＰ分析および操作アプリケーションプログラム４３０によって使用されるプログラムデータを特に格納する。たとえば、顧客データベース、製品データベース、イメージデータベース、およびリレーショナルデータベースが格納されてもよい。これらのデータベースの動作および実現は当業者に周知である。
【００３５】
次元分割は、相互属性分析および操作を可能にするためにＯＬＡＰおよびＭＤＰアプリケーションにおいて使用され得る技術である。基本的には、次元分割は、次元の単一レベルのメンバを取り入れ、そのレベルのメンバに有効な（いくつかの可能なタイプの:上を参照）属性の値に基づいて１つ以上の属性の次元を作成することを含む。元の次元は消えることはないが、次元分割がアクティブである間は、相互属性分析がアクティブであるときに、分割されたレベルよりも高いレベル（つまり、両親、祖父母など）のみが閲覧され得るように元の次元は形態を変化させる。基本的には、分割されたレベルおよびそれより低いどんなレベル（子、孫など）も、次元分割プロセスの一部として現われる新しい属性の次元に包含されている。
【００３６】
レベルが保護処理によって現在のところ保護されている場合、次元はそのレベルにおいて分割されないかもしれないことに注目されたい。次元が一旦この態様で分割されると、次元および次元分割プロセスの一部として生成される属性の次元は、たとえばスプレッドシートビューなどの多次元データのビューを配置する目的で、通常の次元として扱われる。それらは通常の次元として扱われるので、どんな向きに位置付けられてもよく、これは、当初分割された次元が現在では、ページ、横方向および下方向の３つの向きのうち２つ以上に位置決めされる構成要素を有することができ、相互属性分析を容易にすることを意味する。
【００３７】
一例はこれをより明確にする。図３ａの基礎として使用される四次元（製品、場所、時間、および測定単位）のモデルを考慮されたい。製品の次元における品目のレベルで、品目の統一小売価格（ＰＰ）および原産国（ＣＯＯ）を記載する属性が存在すると仮定する。例を単純化するために（この発明を限定することによってではなく）、図５に示されるように、製品の次元において単一階層のみが存在するとさらに仮定する。階層５００は、会社合計５０１、事業部５０２、課５０３、種類５０４、および個々の品目５０５を含む。製品の次元を品目レベルにおいて、統一小売価格および原産国の属性について分割させる。製品の次元の分割がアクティブである間、このモデルは実質的に、製品、場所、時間、測定単位、統一小売価格、および原産国の６つの次元を有する。これは、図６に示されるように、向きを有する多次元スプレッドシートビューを可能にするであろう。
【００３８】
図６は、この発明の例示的な実施例に従って、小売販売環境における売上および在庫データを表わす多次元スプレッドシートの部分を示す。元の製品の次元の３つの構成要素（統一小売価格、原産国、および切捨てられた製品の次元）はすべて、異なる向きであることに注目されたい。つまり、原産国の次元は（測定単位の次元とともに）横方向６１１−６１３にあり、統一小売価格の次元は下方向６２１−６２４にあり、製品の次元は（場所および時間の次元とともに）ページ領域６０１にある。製品の次元のために示されるメンバは種類である。図５における階層からわかるように、種類は品目の直接の親であり、分割されたレベルである。種類、課、事業部、または合計のレベルにおけるいずれのメンバも閲覧し得るが、このビューの向きにより、種類は、製品の次元において現在利用可能な最も低いレベルである。
【００３９】
このスプレッドシートにおけるセルは多次元モデルにおける単一のセルに対応することをもはや想定できないことに注目されたい。たとえば、最上部の最も左のセル６４１を取り上げたい。測定単位を売上として識別し、場所を場所１として識別し、期間をシーズン１として識別することができる。しかしながら、製品に対してはこのような明確性がない。製品の次元が分割されたので、種類１  ６０１、低ＰＰ６２１、およびＵＳＡ６１１ａという、製品の定義の３つの構成要素を識別することができる。この場合、セルに表わされる製品はすべて、種類１  ６０１に属し、属性値低ＰＰ（統一小売価格）６２１およびＵＳＡ（ＣＯＯ）６１１ａを有する、分割されたレベルにおける製品（つまり、品目）である。その組合せに適合する製品はただ１つであり得る（この場合、セルにおける値はその製品についての値と同じである）が、その組合せに適合する製品がいくつか存在する可能性がより高く（この場合、セルにおける値はすべての製品についての測定単位の値の適切な集合である）、その組合せに適合する製品が存在しない可能性があり、それは無効な組合せであり得る。無効な組合せは、ユーザインターフェイスにおいて強調表示されることになり、デフォルト値を示し、操作不可能になる。
【００４０】
次元分割の実行の際に分割されるレベルを含む次元のみが、その実行によって影響を受ける。すべての他の次元は変化のないままである。しかしながら、２つ以上の元の次元が分割されることにより、一度にアクティブな次元分割の実行は２つ以上存在し得ることに注目されたい。次元分割の１つの可能な実施例では、個々の次元は単一レベルにおいて一度だけ分割されてもよい。このプロセスは、同一の次元が他の実施例における異なるレベルにおいて二度以上分割されることを妨げることはない。次元分割の実行がアクティブである間、分割されたレベルは通常、非アクティブになり、そのレベルにおけるメンバはもはや閲覧できない。さらに、分割されたレベルよりも低いレベル、つまり、どの階層においてもそのレベルの子孫であるレベルはいずれも非アクティブである。
【００４１】
次元分割がアクティブである間、分割されたレベルを含んでいなかった代替階層はいずれも利用不可能である。このプロセスは、さらに、分割されたレベルを含まない階層にのみ現われるレベルがいずれも利用不可能になることを意味する。分割されたレベルを含んでいたそれらの代替階層はすべて利用可能であるが、それらの階層において利用可能な最下位レベルは、分割されたレベルの親であるレベルである。
【００４２】
分割されたレベルおよびそれより下位のメンバは通常、非アクティブである。なぜなら、元の次元の構成要素が異なる向きで示されている、たとえば横方向の次元もあれば下方向の次元もあるスプレッドシートビューにおいて、上記のようなメンバが表示され得る簡単な方法がないからである。この目的のために、ページ領域における次元は、相互属性分析をもたらすのに必要とされるように、横方向または下方向に最も外側の次元であると考えられてもよい。しかしながら、向きが、分割された次元の１つ以上の構成要素が下方向であり、すべての他の構成要素がページ領域にあるか、または元の次元の１つ以上の構成要素が横方向であり、すべての他の構成要素がページ領域にあるようなものである場合、分割されたレベルにおける基礎をなす品目は明確な態様で示されてもよい。事実、図７は、この発明の例示的な実施例に従って、小売販売環境における売上データを表わす多次元スプレッドシート７０１の一部を示し、すべての構成要素は下方向またはページ領域にある。この表示はオプションであり、ユーザによって明示的に選択または選択解除されるべきであることに注目されたい。
【００４３】
上に与えられる例では、生成される次元は実質的には単一レベルを有する次元であり、単一レベルは属性である。典型的には、個々の属性値についての値に加えて、合計が必要とされる。さらに、属性の次元には単一の生成される未知のメンバが典型的には存在することになる。この結果は、属性値が割当てられていないか、または決まっていないメンバのためのものになる。この未知のメンバを与えることにより、分割されたレベルにおけるすべてのメンバが属性の次元において親を有し、したがって、合計がすべての分割されたレベルのメンバを含み、合計が正しいことが保証されることになる。
【００４４】
次元分割プロセスは、合計が２つの方法のうちの１つで生成されることを可能にすることになる。その２つの方法のうちの１つとは、他の属性値と同一のレベルにおける追加の合計のメンバとしての方法、または属性値を表わすすべてのメンバの親である、より高いレベルにおけるメンバとしての方法のいずれかである。このプロセスは、次いで、非常に単純な階層を生成することになる。
【００４５】
図８は、この発明の別の例示的な実施例に従って階層を生成される別の例を示す。属性値が元々階層的であるか、または階層の態様で表現され得る場合、次元分割プロセスは、生成される次元のために階層が構築されることを可能にすることになる。可能な階層の属性の一例は、品目の色８００である。ファッションの小売業者は、たとえば深紅色、さくらんぼ色、または緋色といった赤の色調などの詳細な色８１１、およびたとえば赤または青などの一般的な色８１２を分析し、図８に示されるように、属性値から階層を構築するであろう。
【００４６】
図９は、この発明の例示的な実施例に従って、売上データの多次元表現の無効な組合せを含む例示的なスプレッドシートからのヘッダを示す。上述のように、次元分割の後、たとえばスプレッドシートなどの多次元のビューにおけるいくつかのセルが論理的には存在してもよいが、分割されたレベルにおけるメンバにはいずれにも位置付けしない。図６で参照された上の例では、統一小売価格の属性のために低ＰＰの値を有するいくつかの品目が種類１に存在してもよく、原産国の属性のためにＵＳＡの値を有するいくつかの品目が種類１に存在してもよいが、それら両方の値を有する品目は種類１には存在しない。他の次元におけるどのメンバについても、種類１、低ＰＰおよびＵＳＡについてのセルはいずれも、無効な組合せを表わす。
【００４７】
無効な組合せのセルに位置付けする、基礎をなすメンバの組合せがないので、このようなセルはユーザインターフェイスによって保護されることになり、ユーザがデータ値を変更することを防ぐ。より精巧なユーザインターフェイスは、無効な組合せに対応するセルを隠すことができるであろう。次元分割プロセスはこの選択をユーザに提供することになる。たとえば、図９に示されるように、統一小売価格の属性のために低ＰＰを有し、原産国のためにＵＳＡの属性値を有する品目は存在しないが、すべての他の組合せが存在する場合、統一小売価格および原産国の両方の次元が横方向であるときに、列のヘッダは図９に示される表によって表わされるであろう。
【００４８】
次元分割の実行がアクティブであるときにユーザが相互属性分析からのセルの値を操作することができるように、ＭＤＰアプリケーションは変更を拡散できなければならない。定義により、変更されるセルのレベルが階層の最下位にあることができないので、このプロセスが発生する。通常は、これらのタイプのアプリケーションは正式な階層を使用して、変更を下向きに拡散させる。しかしながら、次元分割がアクティブであるとき、分割された次元において下方向に拡散するために正式な階層はない。結果として、多少異なるが、関連する技術が使用されなければならない。
【００４９】
たとえ正式な階層が存在しないとしても、アプリケーションは、分割された次元における疑似階層に存在したであろう疑似レベル、およびそれらの疑似レベル間の関係を論理的に推理してもよく、したがって、適切な拡散経路を判断し得る。これらの疑似レベルはすべて、分割されたレベルより上位のいずれかの階層における実際のレベルであり、レベルのない場合を含めて、属性の次元当りただ１つのレベルが使用されるどんな数の属性の次元のすべての組合せとも組合せられる。階層における有効な疑似レベルは以下を含むであろう。
【００５０】
種類、種類／ＣＯＯ、種類／ＣＯＯ／ＰＰ、種類／ＰＰ、課、
課／ＣＯＯ、課／ＣＯＯ／ＰＰ、課／ＰＰ、および
属性の他の組合せ
図１０は、この発明の例示的な実施例に従って、属性の組のための疑似階層の組の一部を示す。この例では、疑似階層は３つのレベル１０１１−１０１３に分割されてもよい課１００１で開始する。これらの３つのレベルは、課／ＰＰレベルの属性１０１１、課／ＣＯＯレベルの属性１０１２、および種類の属性１０１３を含む。これらのレベル１０１１−１０１３の各々は、それ自体が３つの追加のレベルの属性１０２１−１０２３に分割されてもよい。これらの追加のレベルの属性は、課／ＰＰ／ＣＯＯレベルの属性１０２１、種類／ＰＰレベルの属性１０２２、および種類／ＣＯＯレベルの属性１０２３を含む。これらの３つのレベルの属性は、各々の品目についてのレベル１０４１より上位の階層を完成させるために、単一の種類／ＰＰ／ＣＯＯレベルの属性１０３１にまとめられてもよい。課１００１から品目１０４１までの代替階層は、データの異なるビューにおけるこれらの属性および他の属性を使用して、構築されてもよい。
【００５１】
特定の属性の次元を含まない疑似レベルは、その属性の次元における合計に対応する。したがって、たとえば、種類／ＣＯＯは、分割されたレベルにおけるメンバの統一小売価格に関係なく、特定の種類および原産国についての、分割されたレベルにおけるすべてのメンバを表わすメンバを有する。
【００５２】
疑似階層および疑似レベル間の親子関係を判断するために、以下の規則に従うべきである。
【００５３】
１）  一対の疑似レベルについて、各疑似レベルが、他方の疑似レベルにはない少なくとも１つの属性の次元を含む場合（たとえば、種類／ＣＯＯおよび課／ＰＰ）、この一対の疑似レベルは同一の疑似階層の中にはあり得ない。
【００５４】
２）  一対の疑似レベルについて、実際のレベルが同一の実際の階層に現われない場合、この一対の疑似レベルは同一の疑似階層の中にはあり得ない。我々は単一の製品のみの階層を有するので、この例は我々の例には該当し得ない。
【００５５】
３）一対の疑似レベルについて、実際のレベルが高い方の疑似レベルが、実際のレベルが低い方の疑似レベルよりも多くの属性の次元を有する場合、この一対の疑似レベルは同一の疑似階層の中にはあり得ない。たとえば、課／ＣＯＯ／ＰＰレベルと種類／ＣＯＯレベルとは同一の階層の中にはあり得ない。
【００５６】
４）  複数のレベルの属性の階層がサポートされる場合、第１の疑似レベルが属性の次元においてより高いレベルを有し、第２の疑似レベルがより高い実際のレベルのためのものであるか、または第２の属性の次元においてより高いレベルのためのものであれば、この２つの疑似レベルは同一の疑似階層の中にはあり得ない。したがって、色の属性の次元（上の例を参照）を含んだ次元分割の実行の際には、課／詳細な色と種類／一般的な色とは同一の疑似階層の中にはあり得ない。
【００５７】
５）  上の基準に合格する一対の疑似レベルは、同一の疑似階層の中にあり得る。属性の次元が少ない方の疑似レベルが親である（したがって、種類／ＣＯＯは種類／ＣＯＯ／ＰＰの親であり、課／ＰＰは種類／ＣＯＯ／ＰＰの親である）。両方の疑似レベルが同一の属性の次元を有する場合、実際のレベルが高い方の疑似レベルが親である（したがって、課／ＣＯＯは種類／ＣＯＯの親である）。
【００５８】
保護処理の目的で、ユーザが変更した疑似レベルがわかっているので、どの疑似レベルしたがってどのセルが拡散する疑似階層上にあり得ず、したがって、保護されなければならないかを判断するために規則が使用され得る。拡散の目的で、拡散する疑似階層を判断するために、変更を有する疑似レベルおよび上記の規則が使用され得る。この疑似階層が一旦判断されると、拡散は通常継続し得る。
【００５９】
次元分割および相互属性分析を使用するビューにおいて、その分割されたレベルにおける変更またはその分割されたレベルより下位の変更はあり得ないことに注目されたい。したがって、分割されたレベルが次元における最下位レベルよりも高い場合、変更される最も低い疑似レベルは最下位レベルに直接拡散されることになる。しかしながら、ビューの向きが分割されたレベルの表示をサポートする（図７参照）か、またはＭＤＰアプリケーションが異なる階層を有する複数のビューをサポートする場合には、分割されたレベルにおいて、または分割されたレベルと最下位レベルとの間で変更がなされる可能性がある。この場合には、このような変更は、変更される最も低い疑似レベルと最下位レベルとの間で使用するように適切な階層を規定することになる。すべての疑似レベルが正確に集約されるように集約経路を判断するために、上記の規則も使用されてもよい。
【００６０】
上述の次元分割は、次元分割の基礎形であると考えられてもよく、分割される次元は他の次元に特に関係なく分割される。つまり、分割された次元の構成要素間の関係は、他の次元によって変化することはない。ＯＬＡＰまたはＭＤＰアプリケーションは、元の次元に実質的に取って代わる関係の単一の組を有する、このタイプの分割された次元を管理することができる。
【００６１】
分割された次元の構成要素間の関係が文脈に依存して変化し得る場合に、次元分割のより複雑な形態がさらに要求される。２つ以上のこれらの文脈を含むデータの組を単一のエンドユーザセッションが要求し得ることが仮定されなければならない。基本的には、この要求は、各々の異なる文脈のために、分割された次元の構成要素間の関係の別個の組が存在するというものである。いくつかの例がこの要求を説明する。
【００６２】
小売業者のための商品計画システムは典型的には、通常等級付けまたはクラスタリングと称されるプロセスを通じて、場所および時間の計画によって、特定のタイプの製品の展開をサポートする。このプロセスの目的は、扱わなければならない場所の数を減少させることであり、その結果、店は非常に似た店の集まりを表わす等級にグループ化される。店がどれほど似ていなければならないかという厳密な定義は、かなり異なるに違いない。合計を与えるために、通常は、その等級における典型的な店を考慮に入れ、その等級における店の数によって値を拡張することによって、各々の等級のために計画が作られてもよい。このプロセスでは、各々の製品は、プロセスのこの段階でクラスまたはサブクラスを典型的には含んでもよく、独自の等級付け関係を有する。なぜなら、店の業績は、需要、株式保有能力などの地域の差を反映するために、製品ごとに異なることになるからである。グループ化を判断するために使用される店の特性が属性と称したものであるので、等級付けプロセス自体は、次元分割を使用することになる明らかなエンドユーザビジネスの例である。
【００６３】
等級関係を有するユーザは典型的には、一度に１つの製品に取組み、したがって、どのような文脈の中で等級関係が作用しているかということは、ユーザにとって明らかになる。この状況では、使用されるべき関係について曖昧さはない。しかしながら、さまざまな理由のために、ユーザは複数の文脈を含む計画環境内で作業することになる可能性がある。複数の文脈とは、たとえば、ユーザが計画の責任を担うすべてのクラスである。サプライチェーン計画アプリケーションは、複数の場所（たとえば、倉庫など）からの同一製品の部品調達をサポートしてもよい。最も単純な例では、使用されるべき供給源は固定されることになる。より複雑な実現例では、供給源は時間によって変化し得る。
【００６４】
文脈に影響されやすい次元分割の１つの可能な例示的な実施例では、ユーザ制御入力機構は、表示されるべきデータのための文脈をユーザが選択することを可能にする。ユーザ制御入力機構は、たとえばラジオボタン、チェックボックス、およびその他の入力選択ユーザインターフェイス制御などのシステムへのユーザインターフェイスの入力選択エレメントから構成されてもよく、文脈に影響されやすい次元分割の使用および状態をユーザが指定することを可能にする。ユーザが制御入力を選択することによってユーザ制御入力機構が起動されるとき、上述の次元分割プロセスが起動される。したがって、次元分割に利用可能なメンバの組は、表示される特定の文脈に関係するデータにビューを規定する際に使用するために、ユーザに提示される。ユーザは、特定の文脈を規定する際に使用するための可能な次元のメンバのうちの１つを選択するために、これらの入力制御を利用してもよい。ユーザは所望の文脈を対話式に規定してもよく、上述のように表示されるデータへの適切なビューを有してもよい。
【００６５】
図４は、この発明が実現され得る好適な動作環境の一例を示す。この動作環境は好適な動作環境の一例に過ぎず、この発明の使用または機能性の範囲についていかなる限定を提案することを意図しているものではない。他の周知の計算システム、環境、および／またはこの発明とともに使用するのに好適であり得る構成は、パーソナルコンピュータ、サーバコンピュータ、ヘルド‐ヘルド（held-held）またはラップトップ装置、マルチプロセ
ッサシステム、マイクロプロセッサをベースにしたシステム、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などを含むが、それらに限定されるものではない。
【００６６】
この発明は、さらに、１つ以上のコンピュータまたは他の装置によって実行される、たとえばプログラムモジュールなどの、コンピュータが実行可能な命令の一般的な文脈において記載されてもよい。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象的なデータタイプを実現するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。典型的には、プログラムモジュールの機能性はさまざまな実施例に所望であるように組合されるか、または分散されてもよい。
【００６７】
通信ネットワーク１００に取付けられる処理装置は、典型的には、少なくともある種のコンピュータ可読媒体を含む。コンピュータ可読媒体は、これらの装置によってアクセスされることができる利用可能などんな媒体であってもよい。限定ではなく例として、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含んでもよい。コンピュータ記憶媒体は、たとえばコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの、情報の格納のためのどんな方法または技術においても実現される、揮発性および不揮発性の、取外し可能および取外し不可能な媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用されることができ、処理装置によってアクセスされることができるその他の媒体を含むが、それらに限定されるものではない。
【００６８】
通信媒体は、典型的には、たとえば搬送波または他の搬送機構などの変調されたデータ信号の状態でコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具体化し、どんな情報送達媒体をも含む。「変調されたデータ信号」という用語は、情報を信号でコード化する態様で設定または変更される１つ以上の特性を有する信号を意味する。限定ではなく例として、通信媒体は、たとえば有線ネットワークまたは直接有線接続などの有線媒体、ならびにたとえば音波、ＲＦ、赤外線および他の無線媒体などの無線媒体を含む。上記のどんな組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００６９】
さらに、本明細書に記載される実施例は、プログラマブル処理装置によって実行される論理的な動作として実現される。この発明のこれらのさまざまな実施例の論理的な動作は、（１）計算システム上で実行する、コンピュータが実現するステップまたはプログラムモジュールのシーケンスとして、および／または（２）計算システム内の相互接続される機械モジュールまたはハードウェア論理として、実現される。この実現は、この発明を実現する計算システムの性能要件に依存して選択できる問題である。したがって、本明細書に記載されるこの発明の実施例を構成する論理的な動作は、動作、ステップ、またはモジュールとさまざまに称されることができる。
【００７０】
この発明の上の実施例は、小売販売環境において、次元分割による、オンライン分析処理（ＯＬＡＰ）および多次元計画アプリケーションにおける相互属性分析および操作の方法、装置、ならびに製品を記載するが、表示計算システムおよび中央サーバのための特定の計算構造の使用はこの発明の例示的な実施例にすぎないことを当業者は認識する。特許請求の範囲に列挙されるように、この発明の範囲から逸脱することなく他の実施例が利用されてもよく、動作の変更がなされてもよいことが理解されるべきである。
【００７１】
したがって、この発明の例示的な実施例の上の記載は、例示および説明の目的で提示されてきた。例示的な実施例は網羅的であるように意図されるものではなく、開示される厳密な形態にこの発明を限定するように意図されるものではない。上の教示の観点で、多くの修正および変形が可能である。この発明の範囲はこの詳細な説明を用いてではなく、特許請求の範囲によって限定されることが意図される。この発明は現在のところ、小売販売環境において、次元分割による、オンライン分析処理（ＯＬＡＰ）および多次元計画アプリケーションにおける相互属性分析および操作の方法、装置、ならびに製品として実施される。
【図１】
0005468150.tif 000002
【図２】
0005468150.tif 000003
【図３】
0005468150.tif 000004
【図４】
0005468150.tif 000005
【図５】
0005468150.tif 000006
【図６】
0005468150.tif 000007
【図７】
0005468150.tif 000008
【図８】
0005468150.tif 000009
【図９】
0005468150.tif 000010
【図１０】
0005468150.tif 000011