(57)【要約】【課題】  ディメンション・モデルを自動的に定義しおよび構築するため単純化された発見型分析を利用できるシステム、方法および装置を提供すること。【解決手段】  本発明は、ディメンション・モデルを自動的に定義し構築するため単純化された発見型分析を利用することで、関係スキーマの相互関係を活用する。また、ユーザは、定義および構築プロセスの両方で結果に影響力を及ぼすために会話型で参画することが可能である。関係スキーマは関係データベース等で構成される。ディメンション・モデルはＯＬＡＰオブジェクト等で構成される。また、ディメンション・モデルを定義すること、ディメンション・モデルを構築すること、および／あるいはディメンション・モデルを定義すること、構築することの両方を、ユーザが、単一のマウス・クリックのような、単一のユーザ動作により、開始することができる手段が提供される。【選択図】  図３
2004303213.tif 000002
【特許請求の範囲】
【請求項１】
データ分析システムであって、
関係データスキーマからデータ相互関係に基づきディメンション・モデルを定義するために、単純化された発見型分析を利用する自動化された構造ラベリングシステムと、
前記自動化された構造ラベリングシステムにより定義された前記ディメンション・モデルを組み立てるための自動化されたモデル構築システムと
を備えることを特徴とするデータ分析システム。
【請求項２】
前記自動化された構造ラベリングシステムおよび前記自動化されたモデル構築システムで構成されるグループから選択された少なくとも１つとユーザが対話することを可能とするユーザインタフェース・コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項３】
前記ユーザインタフェース・コンポーネントは、グラフィカル・ユーザインタフェースを備えることを特徴とする請求項２に記載のシステム。
【請求項４】
前記自動化された構造ラベリングシステムおよび前記自動化されたモデル構築システムで構成されるグループから選択された少なくとも１つを、単一のユーザ動作によりユーザが開始することを可能とする入力コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項５】
前記入力コンポーネントは、単一のコンピュータマウス・クリックを備えることを特徴とする請求項４に記載のシステム。
【請求項６】
前記関係データスキーマは関係データベースを備えることを特徴とする請求項１に記載のシステム。
【請求項７】
前記ディメンション・モデルは、ＯＬＡＰオブジェクト、ＲＯＬＡＰオブジェクト、およびＭＯＬＡＰオブジェクトで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項１に記載のシステム。
【請求項８】
データ分析方法であって、
単純化された発見型分析を利用し関係データスキーマからデータ相互関係に基づき自動的にディメンション・モデルを定義すること
を備えることを特徴とするデータ分析方法。
【請求項９】
前記ディメンション・モデルを定義した後で、前記ディメンション・モデルを自動的に構築することをさらに備えることを特徴とする請求項８に記載の方法。
【請求項１０】
ユーザが単一のユーザ動作により前記ディメンション・モデルを定義することを開始することを可能とするための手段を提供することをさらに備えることを特徴とする請求項８に記載の方法。
【請求項１１】
前記ディメンション・モデルを定義すること、前記ディメンション・モデルを構築すること、ならびに前記ディメンション・モデルを定義することおよび構築することの両方で構成されるグループから選択された少なくとも１つを、ユーザが、単一のユーザ動作により、開始することを可能とするための手段を提供することをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１２】
ユーザに対して、前記ディメンション・モデルの少なくとも１つの構造および少なくとも１つの特性を対話的に提供することをさらに備えることを特徴とする請求項８に記載の方法。
【請求項１３】
前記構造は、少なくとも１つのファクトテーブル、少なくとも１つの縮退テーブル、および少なくとも１つのディメンション・テーブルで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記特性は、少なくとも１つのディメンション、少なくとも１つの属性、少なくとも１つのメジャー、および少なくとも１つのメジャーグループで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記ディメンション・モデルを定義することにおいて容易にするためにユーザ入力を採用することをさらに備えることを特徴とする請求項８に記載の方法。
【請求項１６】
前記ユーザ入力は、少なくとも一部において、全体的な自動化、限定された対話、および完全な対話モードで構成されるグループから選択された少なくとも１つを備えるユーザの対話レベルを備えることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記ディメンション・モデルを構築することにおいて容易にするためにユーザ入力を採用することをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１８】
前記ユーザ入力は、少なくとも一部において、全体的な自動化、限定された対話、および完全な対話モードで構成されるグループから選択された少なくとも１つを備えるユーザの対話レベルを備えることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記関係データスキーマは、関係データベースを備えることを特徴とする請求項８に記載の方法。
【請求項２０】
前記ディメンション・モデルを定義することは、
前記ディメンション・モデルの少なくとも１つの構造に、ｓｔｒｏｎｇファクト、ｓｔｒｏｎｇディメンション、ファクトおよびディメンションの両方、ディメンション、およびファクトで構成されるグループから選択された少なくとも１つであるというラベリングをすることを備えることを特徴とする請求項８に記載の方法。
【請求項２１】
前記構造はテーブルを備えることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記ラベリングは、
ｏｕｔアークのみを有する構造を備えるｓｔｒｏｎｇファクトと、
少なくとも２つのｉｎアークを有する構造、ディメンションからの１つのｉｎアークを有する構造、ならびにファクト構造からの１つのｉｎアークとゼロおよび１つのｏｕｔアークで構成されるグループから選択された少なくとも１つとを有する構造で構成されるグループから選択された少なくとも１つを備えるｓｔｒｏｎｇディメンションと、
ファクト構造からの１つのｉｎアークおよび、他のファクト構造から発しているとしてラベリングされたディメンションを含むクラスタへの少なくとも２つのアークを有する構造を備えるファクトならびにディメンションの両方と、
ファクト構造からの１つのｉｎアークを有する構造を備えるディメンションと
で構成されるグループから選択された少なくとも１つに基づくことを特徴とする請求項２０に記載の方法。
【請求項２３】
ｏｕｔアークのみを有する頂点に対して等価的なラベリングを有する構造を識別することにより、パーティションのクラスタを判定することをさらに備えることを特徴とする請求項２０に記載の方法。
【請求項２４】
前記等価的なラベリングは、外部キー／主キー対において用いられないメジャータイプを有する同一の主キーおよび同一の濃度の列を備えることを特徴とする請求項２３に記載の方法。
【請求項２５】
前記パーティションをディテールクラスタにグループ化すること、および
単一の頂点として分析すること
をさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２６】
前記ディメンション・モデルを構築することは、
ファクトクラスタに比して同程度に多数のディテールを創生すること、
ディテールにおいてその中に存在するファクト構造名を格納すること、
ファクト構造のディテールの中にメジャー列として数字表現の列を定義し前記メジャー列に対しメジャーを創生すること、
ファクト構造のディテールの中に数字表現の列が存在しない場合には、計数メジャーを創成すること、
ディテールをディメンションに結合すること、
ファクト構造の中の隠された時間ディメンションを検出すること、
他のいかなるディテールよりも多数のメジャーを有するディテールに基づきディメンション・モデルに名前を付与すること、および
少なくとも１つのディメンションのために加工していない階層および実質の階層で構成されるグループから選択された少なくとも１つを構築すること
を備えることを特徴とする請求項９に記載の方法。
【請求項２７】
前記ディメンション・モデルは、ＯＬＡＰオブジェクト、ＲＯＬＡＰオブジェクト、およびＭＯＬＡＰオブジェクトで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項８に記載の方法。
【請求項２８】
データ分析システムであって、
関係データスキーマからのデータ相互関係に基づきディメンション・モデルを定義するために、単純化された発見型分析を利用するための手段と、
自動化された構造ラベリングシステムにより定義された前記ディメンション・モデルを構築するための手段と
を備えることを特徴とするデータ分析システム。
【請求項２９】
前記自動化された構造ラベリングシステムおよび自動化されたモデル構築システムで構成されるグループから選択された少なくとも１つと、ユーザが対話することを可能とする手段
をさらに備えることを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記自動化された構造ラベリングシステムおよび前記自動化されたモデル構築システムで構成されるグループから選択された少なくとも１つを、単一のユーザ動作によりユーザが開始することを可能とするための手段をさらに備えることを特徴とする請求項２８に記載のシステム。
【請求項３１】
ユーザインタフェースであって、
自動化されたデータ分析システムと通信するために適合されたインタフェースと、
少なくとも１つの特性に関連するデータ分析システムの中でのデータ処理の表示を提供するためのインタフェースと関連付けられた少なくとも１つの出力と、
少なくとも一部について、ディメンション・モデルを定義するための方法、およびディメンション・モデルを組み立てるための方法で構成されるグループから選択された少なくとも１つのユーザの選択に基づき前記データ処理に影響力を及ぼすための少なくとも１つの入力と
を備えることを特徴とするユーザインタフェース。
【請求項３２】
前記自動化されたデータ分析システムは、
関係データスキーマからのデータ相互関係に基づきディメンション・モデルを定義するための、単純化された発見型分析を利用する自動化された構造ラベリングシステムと、
前記自動化された構造ラベリングシステムにより定義された前記ディメンション・モデルを組み立てるための自動化されたモデル構築システムと
で構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項３１に記載のインタフェース。
【請求項３３】
前記出力は、ディメンション、属性、集計関数、テーブル形式、メジャー、およびメジャーグループで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項３１に記載のインタフェース。
【請求項３４】
前記入力は、ディメンション、属性、集計関数、テーブル形式、メジャー、およびメジャーグループで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項３１に記載のインタフェース。
【請求項３５】
前記自動化された構造ラベリングシステムおよび前記自動化されたモデル構築システムで構成されるグループから選択された少なくとも１つを、単一のユーザ動作により開始するための入力をさらに備えることを特徴とする請求項３２に記載のインタフェース。
【請求項３６】
前記インタフェースは、グラフィカル・ユーザインタフェースおよびテキストベースのインタフェースで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項３１に記載のインタフェース。
【請求項３７】
データ分析を容易にする２あるいはそれ以上のコンピュータ・コンポーネントの間に伝達されるデータパケットであって、
関係データスキーマからのデータ相互関係に基づきディメンション・モデルを定義するために、単純化された発見型分析を利用する自動化された構造ラベリングシステムからのデータと、
前記自動化された構造ラベリングシステムにより定義された前記ディメンション・モデルを組み立てるための自動化されたモデル構築システムからのデータと、
前記自動化された構造ラベリングシステム、および前記自動化されたモデル構築システムで構成されるグループから選択された少なくとも１つを単一のユーザ動作により開始するための入力からのデータと、
前記データ分析のデータ処理の表示を提供するようにインタフェースに関連付けられた出力からのデータと、
少なくとも一部について、ディメンション・モデルを定義するための方法、およびディメンション・モデルを組み立てるための方法で構成されるグループから選択された少なくとも１つのユーザの選択に基づきデータ処理に影響力を及ぼすためインタフェースに関連付けられた入力からのデータと
で構成されるグループから選択された少なくとも１つに、一部について、基づいたディメンション・モデル分析データを備えることを特徴とするデータパケット。
【請求項３８】
前記単一のユーザ動作により開始するための入力は、コンピュータマウス・クリックからのデータを備えることを特徴とする請求項３７に記載のデータパケット。
【請求項３９】
前記インタフェースに関連付けられた出力は、グラフィカル・ユーザインタフェースのためのデータを備えることを特徴とする請求項３７に記載のデータパケット。
【請求項４０】
前記関係データスキーマは、関係データベースを備えることを特徴とする請求項３７に記載のデータパケット。
【請求項４１】
前記ディメンション・モデルは、ＯＬＡＰオブジェクト、ＲＯＬＡＰオブジェクト、およびＭＯＬＡＰオブジェクトで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項３７に記載のデータパケット。
【請求項４２】
データ分析を容易にするためのシステムの、コンピュータで実行可能なコンポーネントを格納するコンピュータ可読媒体であって、
関係データスキーマからのデータ相互関係に基づきディメンション・モデルを定義するために、単純化された発見型分析を利用する自動化された構造ラベリングシステムと、
前記自動化された構造ラベリングシステムにより定義された前記ディメンション・モデルを組み立てるための自動化されたモデル構築システムと、
前記自動化された構造ラベリングシステム、および前記自動化されたモデル構築システムで構成されるグループから選択された少なくとも１つを単一のユーザ動作により開始するための入力と、
前記自動化されたデータ分析システムのデータ処理の表示を提供するためインタフェースに関連付けられた出力と、
少なくとも一部について、ディメンション・モデルを定義するための方法、およびディメンション・モデルを組み立てるための方法で構成されるグループから選択された少なくとも１つのユーザの選択に基づきデータ処理に影響力を及ぼすためインタフェースに関連付けられた入力と
で構成されるグループから選択された少なくとも１つに、少なくとも一部について、基づくデータの集合に関連付けられた情報を提供する自動化されたデータ分析システムを備えることを特徴とするコンピュータ可読媒体。
【請求項４３】
前記単一のユーザ動作により開始するための入力は、コンピュータマウス・クリックからのデータを備えることを特徴とする請求項４２に記載のコンピュータ可読媒体。
【請求項４４】
前記インタフェースに関連付けられた出力は、グラフィカル・ユーザインタフェースのためのデータを備えることを特徴とする請求項４２に記載のコンピュータ可読媒体。
【請求項４５】
前記関係データスキーマは、関係データベースを備えることを特徴とする請求項４２に記載のコンピュータ可読媒体。
【請求項４６】
前記ディメンション・モデルは、ＯＬＡＰオブジェクト、ＲＯＬＡＰオブジェクト、およびＭＯＬＡＰオブジェクトで構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項４２に記載のコンピュータ可読媒体。
【請求項４７】
コンピュータ、サーバ、および携帯型電子装置で構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項８に記載の前記方法を採用する装置。
【請求項４８】
コンピュータ、サーバ、および携帯型電子装置で構成されるグループから選択された少なくとも１つを備えることを特徴とする請求項１に記載のシステムを採用する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析に関し、より詳細には、単純化された発見型分析を利用する関係スキーマに基づき自動的にディメンション・モデルを生成、および構築するための方式、および方法に関する。
【背景技術】
【０００２】
現代社会ではコンピュータおよびコンピュータ技術に負うところが大きくなってきた。それは特に顧客および製品販売のためのビジネスの領域ですさまじく浸透している。ジャスト・イン・タイムの在庫および重点化された広告戦略を持つ会社は一般的に競争相手より安くプロダクトを生産し、それをより速く顧客に配達する。コンピュータ技術が企業、情報および顧客を一緒にネットワーク化することによりこのタイプの企業の優位性が可能となる。当初はコンピュータがただローカル・エリア・ネットワーク（ＬＡＮ：Local Area Network）よりなるネットワークを経て他のコンピュータと通信をするのみであったが、インターネットの出現により事実上誰もがコンピュータを用いてグローバルなネットワークに参加することが可能となった。これは中小の企業が、資金調達をしたり、ネットワークを構築することなしに、より大きい企業に対する競争力を持つことを可能とする。
【０００３】
コンピュータ処理とネットワーキング技術がより強力で、安全で、そして信頼性が高くなるに伴い、より多くの消費者、卸売業者、小売り業者、企業家、教育機関等が、伝統的な手段に代えてビジネスを遂行するために、パラダイムを変更し、インターネットのようなネットワークを採用している。今では多くの企業がウェブサイトおよびオンライン・サービスを提供している。例えば、今日では、消費者はインターネットを経て彼らのアカウントにアクセスし、残高問い合わせ、資金移動、および請求書支払いのような、利用可能な取引処理を遂行することができ、その件数は日々増加しつつある。
【０００４】
一般的には、企業は顧客およびビジネスの情報を集め、それをデータベースとして知られる大きなエンティティの中に格納する。それはコンピュータ・プログラムが必要なデータ片を迅速に選択することが可能であるように組織化された情報の集積である。データベースは、技術的にますます多くのデータが集積されることが可能となるにつれ、大きさは天文学的になり、かつ幾何級数的に膨張し得る。一般的に、データベースはフィールド、レコード、およびファイルにより構成される。フィールドは１つの情報の断片、レコードはフィールドの１つの完全な集合であり、ファイルはレコードの集積である。データベースの情報にアクセスするためにはデータベース管理システム（ＤＢＭＳ：DataBase Management System）が利用される。ＤＢＭＳはユーザがデータベースとの間でデータを入力し、構造化し、選択することができるようにするプログラムの一群である。
【０００５】
企業においてはしばしば発生するように、利益を増やし、経営コストをより削減することを求める圧力は常にある。このために、ビジネスインテリジェンス（ＢＩ）ソリューションが大規模データベースの情報にアクセスすることを支援するために開発された。最近の大部分のビジネスではデータが相互に関係付けられた関係型のデータベースに移行している。前のイベントと関係がある格納されたデータについての、「誰が？」、および「何が？」という質問に答えるため、戦術的な情報を格納するためにデータウエアハウスが開発された。しかしながら、データウエアハウスにはただ過去のデータを検索することについての能力を持つだけであるという事実に依る制限があることが判明した。そのため、ただ「誰が？」、および「何が？」という質問に答えるだけではなく、データについての「もしーーーなら何を？」、および「なぜ？」にも答えるために、ＯＬＡＰ（OnLine Analytical Processing）方式が開発された（特許文献１を参照）。ＯＬＡＰ方式は、アナリスト、企業管理者、および経営者、等が、迅速で、信頼性のある、対話型のプロセスを通して、情報の中を見抜く力を手に入れることを可能とする、集合的データに対する多次元的見方である。ＯＬＡＰの主要なコンポーネントはＯＬＡＰサーバであり、クライアントとＤＢＭＳの間に位置する。ＯＬＡＰサーバはデータベースの中にデータがどのように構成されているかを理解し、かつデータを分析するための特別な機能を有する。
【０００６】
分析ツールは、ＯＬＡＰツールを含み、極度な量のデータに対するアクセス時間の削減を支援する。これらのツールを利用することにより、ユーザはすべてのデータを逐語的に検索するよりむしろデータについて概括的な質問あるいは「問い合わせ（query）」を尋ねることが可能である。すなわち、「データについてのデータ」すなわちメタデータが質問プロセスを促進し、および必要とされるネットワークバンド幅を削減することを支援する。この種の分析においては、ＯＬＡＰオブジェクトのようなディメンション・モデルが重要な役割を演ずる。ディメンション・モデルはデータベース中のデータから組み立てられる、すなわち「構築される」。大部分のデータ分析方式において一般的であるように、ユーザに供給される最終データはそれが基づいているディメンション・モデルの完全性に大きく依存する。したがって、ディメンション・モデルがデータベース中のデータから導かれる情報を正確に反映して構築されることがますます重要になる。
【０００７】
データベースのサイズが増大すると、ディメンション・モデルもまたサイズの増加をきたす可能性があるということは明白である。これはまた必要とされるディメンション・モデルの複雑さをも増大させる。モデルを構築しようとするユーザは多くの時間と努力を要しつつ、適切に構成されたことを保証するために継続的取り組みが必要であることを悟ることになるであろう。さらに、三次元より大きいモデルでの増大する複雑さ、膨大な量のメジャー、および入り組んだタイミング等々が加わり、これは一大事業となる。モデルが構築される場合には、エンドユーザのクエリに対して回答を引き出すために採用される可能性のある情報が常に含まれていなければならない。したがって、ディメンション・モデル、すなわち「キューブ」を構成することが等しく重要である。データベース情報が類似である場合であっても、異なる企業においては異なる質問への答えを必要とする。また同一企業の中の異なる部署では、他の部署とは異なる回答を必要とする場合がある。
【０００８】
【特許文献１】米国特許第６，１２２，６３６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
企業が競合力を維持するためには、その競合相手よりも常に良く事を実行するように努力しなければならない。賢明な、いっそう直観的なビジネスソリューションを利用することでこの成果は増大される。ＯＬＡＰオブジェクトのようなディメンションのモデリングは、企業がその競合状態において最良であることを支援する鍵となる。それはこの分析手法なしで利用可能ではないデータストアから、価値のある、かつ「隠れた」情報が抽出されることを可能とする。多くの企業が次から次に自らの隠されたデータを発見するにつれ、ディメンションのモデリングが厳しい市場におけるビジネスの成功のために決定的であるということを理解されるであろう。
【課題を解決するための手段】
【００１０】
本発明の一定の形態の基本的な理解を提供するために、以下に本発明の単純化された概要を提示する。この要約は発明の広範囲な概観ではない。これは発明の鍵／決定的な要素を識別すること、あるいは発明の範囲の輪郭を描くことを意図するものではない。その唯一の目的は、後に提示されるより詳細な記述への導入として単純化された形式で、本発明の一定の概念を提示することである。
【００１１】
本発明は、一般的にはデータ分析に関し、より詳細には、単純化された発見型分析を利用して関係スキーマに基づき自動的にディメンション・モデルを生成し、構築することに関する。ディメンション・モデルについての定義を自動的に創生し、かつまたその定義からディメンション・モデルを構築するために発見型分析が利用される。ＭＯＬＡＰ（Multidimensional ＯＬＡＰ）および／あるいはＲＯＬＡＰ（Relational ＯＬＡＰ）オブジェクト等のようなＯＬＡＰオブジェクトのように自動的にデータベース情報をディメンション・モデルに変換することによって、ユーザはコンピュータマウスの１クリックにより、モデルを構成し、および／またはその構成の間にモデルの構築に対して対話型で影響を与えることができる能力を獲得する。また本発明は、ＯＬＡＰツールとともに使用するための、より高速な、かつよりユーザフレンドリーな方法、およびオブジェクトを開発する方式を提供することにより、自動的にモデルを定義すること、およびモデルを構築する前に、ユーザが対話型で定義を変更することを可能とする。
【００１２】
また本発明は、ディメンション・モデルを定義するために必要な要求技能レベルを低減させることにより、データ分析を容易にし、かつまたモデル定義におけるヒューマンエラーの量を削減する。本発明はまた、専門的ユーザを制限することなくより広いユーザの経験ベースを許容しつつ、モデルを定義することについての退屈さを和らげながら、上級のユーザが、結果に対する影響力を維持しつつ、自動化された機能を享受できるような、ユーザの対話を可能とする。同じく本発明は、多元フェーズ（multi-phased）法を提供し、ディメンション・モデルの定義がディメンション・モデル構築とは独立に制御されることを可能とする。このようにして、プロセスのすべて、あるいは一部が自動化され、および／あるいはユーザ・インタフェースにより対話型で影響力を及ぼすことが可能である。この柔軟性によりディメンション・モデルの開発時間は劇的に減少され、同時に、ユーザが迅速にモデルを構築し、必要に応じ改変し、ユーザの使い易さを最大にし、モデル開発スピードを増大させ、かつ信頼性が高く、高い完全性のＯＬＡＰオブジェクトを提供することを可能とする対話性が実現される。
【００１３】
上述の、および関連する目的を達成するため、本発明の一定の例示的形態が次の記述、および添付された図画に関連してここに記述される。しかしながら、これらの形態は、本発明の原理を適用することができ、かつ本発明がすべてのそのような形態およびそれと等価なものを含むよう意図されている種々の方法の一部のみを示す。発明の他の利点および新奇な特徴は、以下の詳細な説明が図画に関連して検討されることにより明白になるであろう。
【発明を実施するための最良の形態】
【００１４】
本発明はここに、全体を通して同様の参照数字が同様な要素を指し示すために使用され、図面を参照し記述される。以下の記述においては説明の目的のために、多数の特定の細部が本発明の完全な理解をもたらすために明らかにされる。しかしながら、本発明をこれらの特定の細部を用いないでも実施することが可能であることは明白であろう。他の例においては、本発明を記述することを容易にするために、公知の構造および装置がブロック図形式で示される。
【００１５】
この応用例における使用としては、用語「コンポーネント」はコンピュータ関連のエンティティ、すなわち、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、あるいは実行形式のソフトウェアのいずれか、を言及することを意図している。例えば、コンポーネントは、限定されるものではないが、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行可能プログラム、実行スレッド、プログラム、および／あるいはコンピュータである場合がある。例として、サーバ上で動作しているアプリケーション、およびサーバはともにコンピュータのコンポーネントであり得る。１つあるいは複数のコンポーネントが１つのプロセス、および／あるいは実行スレッドの中に存在する場合があり、１つのコンポーネントが１つのコンピュータ上に局地的に制限されて、および／あるいは２あるいはそれ以上のコンピュータの間に分散されて存在する場合がある。「スレッド」は、プロセス中のエンティティであり、実行するためにオペレーティング・システムのカーネルがスケジュールする。従来技術においてよく知られているように、それぞれのスレッドは、スレッドの実行と関連付けられた揮発性データである、関連付けされた「コンテクスト」を有する。スレッドのコンテクストはシステムレジスタの内容およびスレッドのプロセスに属する仮想アドレスを含む。このようにして、スレッドのコンテクストを備える実際のデータは実行されるにつれて変化する。
【００１６】
ＯＬＡＰシステムが動作するためには、ディメンションのオブジェクトすなわち「モデル」を必要とし、そこから情報を引き出す。ディメンションのオブジェクトは一般的にデータベースから導かれ、三次元を超えるディメンションを含むことが可能である。ディメンションのオブジェクトは一般的には「キューブ」と称される。これはディメンションのオブジェクトを参照する場合の単純な例示を提供する。ＯＬＡＰシステムはユーザからクエリが発行されるとディメンションのオブジェクトから情報を検索する。このように、クエリに答えることについてのＯＬＡＰシステムの成否は、優れた、よく構成されたディメンションのオブジェクトすなわちモデルに極端に依存する。不完全に構成されたモデルではクエリ応答時間が遅くなり、および／あるいはＯＬＡＰシステムがクエリに正確に応答する能力を持つことができない恐れがある。一般的に言って、モデルを構成するユーザは、採用されたデータベース、およびＯＬＡＰシステムが応答するように呼びかけられるであろうクエリのタイプ、の両方について、充分に精通していなければならない。このことは高度に熟練したユーザにとってさえ、長い、そして冗漫な苦労であり得る。
【００１７】
本発明はディメンション・モデルが単一のユーザ動作により定義され、構成されることを可能とする。さらにまた、ユーザが、定義および／あるいは構築の結果に影響力を及ぼすために、プロセスと対話することを可能とする。このことにより、より経験の少ないユーザは、定義され、構築された、ディメンション・モデルすなわち「キューブ」を、単一のマウスクリックにより持つことができるようになる。しかしながら、上級のユーザは、さらに、キューブを定義すること、および／あるいはキューブを構築することに対話型のレベルにより影響力を及ぼす可能性を有している。これは、ユーザが適切と思うように、キューブが調整されることを可能とする。本発明を適用している典型的な企業では、本発明の使い易さおよびこれを操作するために要求される技能レベルでの柔軟性に依り、その企業の目的に合致するＯＬＡＰシステムを開発するための、時間および資金を節約する。これは、適切なディメンション・モデルを構成するための専門家を雇う必要を排除することを可能とすることにより、ビジネス情報を提供するコストおよび煩雑さを削減する。さらに、そのユーザの企業の必要性に合致するデータ分析システムを定式化するために、必要に応じディメンション・モデルに手を加えることが可能である。
【００１８】
一般的には、データベースは、データがデータベースに存在する他のデータにリンクを有するという意味で、本来的にリレーショナル（relational）である。本発明では関係データベースのような関係スキーマからこれらのリンクを探し出すために単純化された発見型分析を採用する。このようにして、キューブすなわちディメンション・モデルの定義が構成される。一旦定義が完了すると、本発明はキューブ定義に基づきキューブを構築する。両フェーズはユーザの介在なしで自動的に行うことが可能である。しかしながら、ユーザが本発明の両フェーズに関し対話することもまた可能である。これにより、柔軟性増大のため「ワンクリック（すなわち、コンピュータマウスの１回のクリック）ソリューション」および対話型ソリューションの両方が提供されることになる。
【００１９】
図１において、本発明の一形態によるデータ分析システム１００のブロック図を例示する。データ分析システム１００は、関係データベース等のような関係スキーマ１０２、データ分析コンポーネント１０４、ＯＬＡＰオブジェクト等のようなディメンション・モデル１０６すなわちキューブ、およびユーザ・インタフェース１０８を備える。データ分析コンポーネント１０４は関係スキーマ１０２からのデータを処理し、ディメンション・モデル１０６を創生する。これは最初にディメンション・モデルを定義し、つぎにその定義からディメンション・モデル１０６を構築することによって実現される。ユーザ・インタフェース１０８はユーザがデータ分析コンポーネント１０４において行われる処理と対話することを可能とする。これによりユーザがディメンション・モデル定義を再定義し、および／あるいはディメンション・モデル１０６が構成される方法について影響力を及ぼすことを可能とする。またこれによりユーザがただコンピュータマウスのクリック等のような、単一のユーザ動作を行うことにより、データ分析コンポーネント１０４が自動的にディメンション・モデル１０６の定義、および／あるいはディメンション・モデル１０６の組み立てを開始することを可能とする。このように、経験の少ないユーザが最小量の努力で本発明を活用することが可能である。同様に、専門家のユーザは、本発明によりさらに対話し、自身が適切であると思うようにプロセスに影響力を及ぼすことが可能である。関係スキーマ１０２は、関係スキーマ１０２において存在する他のデータとの相互関係を有するデータで構成される。単純化された発見型分析を利用してディメンション・モデルを定式化するために利用されるのはこれらの関係である。
【００２０】
関係データベースは二次元のテーブルにデータを格納する。そのテーブルは行（レコードあるいはオブジェクト）および列（フィールドあるいは属性）を有する。行および列の交点にあるデータ項目はセルと呼ばれ属性値よりなる。１つのセルには複数の値が格納されることはない。関係データベーステーブルはデータが必要以上に重複しないように、「正規化」される。テーブルの列はその列を識別するために主キー「ｐｋ」（列ごとに一意な値を持つ）に依存する。特定の列が識別されると、その列に関連付けられた１あるいは複数の行からのデータを獲得し、あるいは加工することが可能である。外部キー「ｆｋ」は、対象となる主キーを有するテーブルに関連付けられた情報に関係する他のテーブルにおける情報に対する主キーである。
【００２１】
主キーと外部キーのようないくつかのエンティティの間の関係はその濃度（cardinality）を表現するためにマップすることが可能である。エンティティ集合の間の二項関係集合としては、マッピング濃度は１対１、１対多、多対１、および多対多のいずれかである。主キーｐｋ（「多数」のうちの１つを表わす）と外部キーｆｋとの間の関係はｆｋ／ｐｋ対として表現することが可能である。図形的には、この関係は主キーと外部キーの間の「アーク」（arc）として描くことが可能である。方向性はアークの上の矢印を利用して関係方向性が「ｉｎ」（内向き）、あるいは「ｏｕｔ」（外向き）のいずれであるかを示すことにより表現することが可能である。
【００２２】
同様に、ディメンション・モデルはタプル（tuple）のような、それらの構造を定義し易くする特性すなわちパラメータを有する。タプルはキューブからデータ・スライスを定義するために用いられる。それは１あるいは複数のディメンションから１つのメンバーの順序付けされた集合で構成される。タプルはキューブからの多次元データの特定のセクションを識別するために用いられる。それは、セル値を完全に記述するためにキューブにおけるそれぞれのディメンションから一つづつのメンバーにより構成することが可能である。
【００２３】
図２において、本発明の一形態によるデータベース分析システムのフェーズ分け２００のブロック図が示される。本発明の一形態においては、プロセスが２つのフェーズに分割される。すなわち、フェーズ分け２００はラベルフェーズ２０２およびディメンション・モデル構造フェーズ２０４を備える。ラベルフェーズ２０２は単純化された発見型分析を利用しディメンション・モデルを定義するために処理することを備える。これは、制限されるものではないが、関係スキーマにおけるデータ間の相互関係を分析することを含む。例えば、関係スキーマの関連付けられた図式は「tuple（Ｖ、Ａ、ｆ）」であると定義づけられる。ここでＶはこのスキーマに存在するすべてのテーブルの頂点の集合、Ａはこのスキーマにおけるすべての関係に対するアークの集合、およびｆは以下を満足する関数である。すなわち、ｖｌおよびｖ２に関連付けされたテーブル（それぞれｔ１およびｔ２と命名される）の間に関係があって、その関係がｔ１：ｔ２＝ｎ：１（ここでｎは１から無限大までの整数を表わす）である場合に限り、かつｆ（ｖｌ、ｖ２）＝ａ１２（ここでｖは集合Ｖのメンバーであることを表わし、ａは集合Ａのメンバーであることを表わす）を満足する。つぎに、関連付けされた構造（たとえば、テーブル）からの一対の外部キー／主キー（ｆｋ／ｐｋ）関係からのアーク特性に基づき、「ラベル」がテーブルのようなそれぞれの構造に対して定義される。ラベリングの詳細については後に記述される。
【００２４】
本発明のもう１つの例において、ディメンション・モデル構造フェーズ２０４は、ラベルフェーズ２０２の間に定義されたとおりに、ディメンション・モデルを構築することを備える。このようにして、本発明ではこの定義に基づきキューブ（ディメンション・モデル）を自動的に構築することが可能である。しかしながら、本発明の他の一形態において、キューブが構成される前に、ユーザが介在し、定義を拡大し、および／あるいは変更することが可能である。これによりユーザが、必要とされるだけ、および／あるいは望まれるだけ多く、あるいは少なく、フェーズ分け２００と対話することが可能となる。ディメンジョナル・オブジェクトを組み立てる実際の細部については後に論じられる。
【００２５】
本発明のさらにもう１つの例において、データ分析システムが、関係データ・スキーマからデータ相互関係に基づきディメンション・モデルを定義するために、単純化された発見型分析を利用するための手段、自動化された構造ラベリングシステムにより定義されたディメンション・モデルを構築するための手段、ユーザが自動化された構造ラベリングシステム、および／あるいは自動化されたモデル構築システムと対話することを可能とするための手段、および自動化された構造ラベリングシステム、および／あるいは自動化されたモデル構築システムをユーザが単一のユーザ動作により開始することを可能とするための手段を備える。
【００２６】
上述した典型的なシステムに照らして、本発明により実施することが可能である方法論はフローチャート図３〜５を参照することによりより充分に理解されるであろう。説明を単純化する目的のために、方法論は一連のブロックとして表示され、記述されるが、本発明がブロックの順序によって制限されず、本発明により、あるブロックがここに表示され、記述された順序とは異なった順序で、および／あるいは他のブロックと同時に、生起する場合があることを理解し、推察されるべきである。さらに、本発明による方法論を実施するため、例示されたすべてのブロックが必要とされない場合もある。
【００２７】
本発明は、１あるいは複数のコンポーネントによって実行される、プログラムモジュールのような、コンピュータで実行可能な命令との一般的な関連で記述されるであろう。一般的にプログラムモジュールは、ルーチン、プログラム、オブジェクト、データ構造などを含み、特定のタスクを実行し、あるいは特定の抽象的データ形式を具現化する。一般的には、プログラムモジュールの機能性は要求に応じ種々の実施形態において結合されあるいは分散される場合がある。
【００２８】
本発明では充分な柔軟性を可能とするため、結果としてディメンション・モデルに影響力を及ぼすためにユーザの対話を受け入れることが可能である。図３において、本発明の一形態によるディメンション・モデルの構成方法３００のフローチャートを例示する。方法３００は、ステップ３０２より開始し、まず、関係データベース等におけるテーブルのような、関係スキーマのコンポーネントのラベリングを行う（ステップ３０４）。コンポーネントのラベリングに関していずれかのユーザ入力があるか否について、判定する（ステップ３０６）。もしユーザ入力があるなら、そのユーザ入力を合体し（ステップ３０８）、次にキューブ構造を定義する（ステップ３１０）。しかしながら、入力がない場合には、ユーザ入力なしでコンポーネントのラベルからキューブ構造を定義する（ステップ３１０）。ステップ３１０でキューブ構造が定義されると、キューブの定義に関連してユーザ入力があるか否について、判定する（ステップ３１２）。ユーザ入力が有る場合には、それらをキューブの定義に合体し（ステップ３１４）、キューブを構築し（ステップ３１６）、ステップ３１８でフローは終了する。ステップ３１２でキューブの定義に関しユーザ入力がない場合には、ユーザ入力なしでキューブ定義を用いキューブを構築し（ステップ３１６）、ステップ３１８でフローは終了する。本発明のこの形態では、ユーザ入力が離散的ポイントで受け入れられるように例示されるが、本発明の他の形態では、１００％までそして１００％を含んだ、対話型の能力に依り、処理の間のいかなる点においてもユーザ入力を受け入れることが可能である。また、プロセスはユーザによる対話型の寄与なしで完全に自動化することも可能である。
【００２９】
本発明の１つの形態によりディメンション・モデルを定義するために、テーブル等のような、データベースに関係がある構造がディメンション・モデルの構築を支援するためにラベリングされねばならない。図４を参照して、本発明の一形態によるディメンション・モデル定義の方法４００のフローチャートが示される。方法４００はステップ４０２より開始し、まずパーティション・クラスタの識別を行う（ステップ４０４）。「ｏｕｔ」アークだけを有するすべての頂点が評価され、等価的ラベリングを有する（すなわち、同一ｐｋで、同一濃度のｆｋ／ｐｋ対において用いられていないメジャータイプを有する列の）構造が識別される。パーティションはディテール（detail）クラスタごとにグループ化され、単一の頂点として分析される。現にキューブを構築する場合にのみ、適切なパーティションが創生される。次に「ｏｕｔ」アークだけを有するすべての構造を「strong」ファクトとしてラベリングする（ステップ４０６）。２あるいはそれ以上の「ｉｎ」アークを有するすべての構造を「strong」ディメンションとしてラベリングする（ステップ４０８）。ディメンションからの単一の「ｉｎ」アークを有するすべての構造を「strong」ディメンションとしてラベリングする（ステップ４１０）。ファクトテーブルからの１つの「ｉｎ」アークおよびゼロあるいは１つの「ｏｕｔ」アークを有するすべての構造は「strong」ディメンションとしてラベリングされる（ステップ４１２）。ファクト構造からのちょうど1つのみの「ｉｎ」アークおよび２あるいはそれ以上の、他のファクト構造から「発している」としてラベリングされたディメンションを含む、クラスタに入るアークを有するすべての構造をディメンションおよびファクトの両方としてラベリングする（ステップ４１４）。ファクトテーブルからの１つの「ｉｎ」アークを有するすべての構造をディメンションとしてラベリングし（ステップ４１６）、ステップ４１８で終了する。関係データベース等のような関係スキーマにおいて存在したように、構造はテーブル等を備える。テーブルタイプにはファクトテーブル．縮退テーブル、およびディメンション・テーブルが含まれる。当業者は上記されたものよりさらに多くあるいはより少ないステップを有する方法が本発明の他の形態に、依然として本発明の範囲内として含まれることを理解されるであろう。ユーザがこのプロセスの間のいかなる点においても対話することが可能であることについても同じく注意すべきである。
【００３０】
本発明の他の例において、ユーザが構造ラベリングスキーマを編集し、および／あるいは増大させることが可能であることも同じく理解されるであろう。これにより、ディメンション・モデルを構成する定義フェーズの間に、構造のラベリングを左右する規則に影響力を及ぼすことができる上級レベルの対話をユーザがすることを可能とする。このようにして、このラベリングスキーマでは、自動的なディメンション・モデルの組み立てに対して手を加え、調整されたプロセスを提供することが可能である。本発明のさらにもう一つの例においては、ユーザが自身の対話レベルを決定し、ディメンション・モデル構成の間に許される対話性の量を決定することができるようにすることも同じく可能である。このようなレベルとしては、限定するものではないが、完全な自動化、限定された対話、および／あるいは完全な対話（たとえば、人手による）のような運用様式を含むことが可能である。これらの様式あるいはレベルはただラベリングおよび定義処理だけに限定されるものではなく、後で述べられるディメンション・モデルの構築にもまた適用することが可能である。
【００３１】
一般的には、定義がデータベースから導出され、すべてのユーザ入力が評価された後、
導出された定義に基づき、本発明のもう一つの形態により、ディメンション・モデルが構築される。図５では、本発明の一形態によるディメンション・モデル構築の方法５００のフローチャートが示される。方法５００はステップ５０２で開始し、まずファクト・クラスタがあるだけの多数のディテール（detail）を用いてキューブを創生する（ステップ５０４）。次に、多数のパーティションが存在するか否かについて判定する（ステップ５０６）。ただ１つのパーティションのみが存在し、かつあらゆるディテールがそれがホストとして機能するファクトテーブルの名前を保持する場合には、その名前がその最初のかつ唯一のパーティションの名前として利用される（ステップ５０８）。多数のパーティションが存在し、あらゆるディテールがそれがホストとして機能するファクトテーブルの名前を保持する場合には、その名前はファクトテーブルの名前の共通部分文字列の可変的な比率による長さとなる（ステップ５１０）。次に、ファクトテーブルに数字表現の列が存在するか否かについて、判定する（ステップ５１２）。数字表現の列が存在しない場合には、計数メジャーを創生し、「ｃｏｕｎｔ（＊）」で表現する（ステップ５１４）。しかしながら、数字表現の列が存在する場合には、ファクトテーブルのその数字表現の列はメジャー列となり、かつそれらに対してメジャーを創生する（ステップ５１６）。これが終了すると、すべてのディテールをディメンションに関連付ける（ステップ５１８）。次にファクトテーブルの中の隠された時間ディメンションをあらゆるディテールに対して検出する（ステップ５２０）。これは「（Ａｌｌ）−Ｙ−Ｑ−Ｍ（ここでＹ：年，Ｑ：季，Ｍ：月）」の階層を有し、時間ディメンションの中に及ぶ時間列を含む。次に、加工前、および／あるいは実質の階層をあらゆるディメンションに対して構築する（ステップ５２２）。次に、キューブ構造を拡張することが要望されるか否かについて、判定する（ステップ５２４）。否の場合には、フローはステップ５２６で終了する。キューブ構造を拡張することが要望される場合には、ディメンション特性の関連対（すなわち、一般的には、一緒に生起するとして関連付けられている対）を分析することにより、テーブルの中の隠された階層を検出し（ステップ５２８）、フローはステップ５２６で終了する。
【００３２】
上述のフローは本発明の種々の方法の中の代表的なフローであることを意図している。
本発明の範囲の中に含まれるあらゆる繰り返しおよび変更を包含させることは不可能であるが、当業者はいくつかの修正を含んだ方法でもなおかつ本発明の範囲の中に存続することを理解するであろう。
【００３３】
本発明はどの要望のレベルにおいてもユーザの対話を許容する。これは初心者ユーザが単一のユーザ動作で自動化されたプロセスを開始することを可能とし、かつまた専門家のユーザが、特定の必要性のためディメンション・モデルを微調整するために思うままに介入することを可能とする。ユーザ対話性のこのレベルを可能とする１つの方法はグラフィック・スタイルのユーザインタフェースを提供することである。そうすることにより、ユーザは本発明を容易に開始し、変更し、評価し、および／あるいは拡張させることが可能である。当業者は多数のさまざまなグラフィック・インタフェースが可能であることを理解するであろう。本発明の１つの可能なインタフェースの例として、グラフィック・ユーザ・インタフェースの集合あるいは「プロセス」の例示が記述される。一般的に、ユーザ・インタフェースは少なくとも１つの図形（graphic）、しばしば一連の図形、で構成され、それはコンピュータ処理装置により生成され、そしてユーザによる視覚上の参照および対話のためにディスプレイ上に示される。この一連の図形は、それが１以上の図形で構成されているにも拘らず、一般的には「グラフィカル・ユーザ・インタフェース」（ＧＵＩ：Graphical User Interface）と呼ばれている。そのため、サブ‐グラフィックス、ドロップダウン・メニューおよびテーブル、選択装置およびテキスト入力ボックス等のようなコンポーネントがすべてグラフィカル・ユーザインタフェースの一部であると見做される。
【００３４】
同様に、本発明はまたテキストベースのユーザ・インタフェースのような非グラフィカル・ユーザ・インタフェースを含む。一般的にテキストベースのインタフェースはグラフィカル・インタフェースに比しインタフェースすることが容易でないが、本発明では、どのレベルにおいてでもユーザの対話を可能とし、そしてまた、１つのキーストロークのような、単一のユーザ動作で自動化されたプロセスを開始することを可能とするために、依然として採用している。
【００３５】
図６において、本発明の一形態によるユーザと対話するグラフィカル・ユーザインタフェースプロセス６００の表を例示する。このプロセス６００では本発明で採用し得る各種のグラフィカル・インタフェースの概観が示される。これらのインタフェースの実際のスクリーン画面の例は図７〜２１に示される。一般に、ウェルカムステップ６０２では図７で例証されるユーザインタフェース７００のようなユーザを迎えるための画面が提示される。このインタフェース７００は本発明の一形態の目的を説明し、かつユーザにそれと対話する準備をさせる。次にキューブ創生方法選択ステップ６０４ではユーザが手作業路線６０６、あるいは自動／半自動（ＲＤＢＭＳ／ＤＷ；Relational Database Management System／Data Warehouse（関係データベース管理システム／データウエアハウス））の路線６０８を選択することを可能とする。図８でのグラフィカル・ユーザインタフェース８００がこのようなインタフェースの例を示す。このインタフェースにおいては、ユーザは定義およびキューブ構築プロセスの間に助言を受け入れる（本発明と対話して）ことを選択することが可能である。一般的には、デフォルトは支援を許す（すなわち、ユーザが対話できるようにする）ように設定されている。
【００３６】
自動／半自動の路線が選択された場合には、ユーザには図９にあるユーザインタフェース９００で示されるような情報源選択ステップ６１０が与えられる。ユーザはキューブ処理が基づくべき望ましいデータ情報源を選択することが可能である。情報源が選択されると、ユーザには、主キーおよび外部キーの関係を識別し、想定されるファクトテーブル、ディメンションテーブルおよびそのディメンションに対する階層を提起する、処理された結果が提示される（ステップ６１２）。一般的に、図１０で示されるグラフィカル・ユーザインタフェース１０００で例示されるように、情報は、処理により情報が発見される都度ユーザに提供される。選択されたデータ情報源のテーブルのそれぞれに対するテーブルタイプをプロセスが自動的に検出し、提起する（ステップ６１４）。したがって、ユーザはキューブを創生するために必要とされるテーブルだけを選択することが可能である。このようなインタフェースは図１１で示されるグラフィカル・ユーザインタフェース１１００で描写される。本発明の他の例（示されない）においては、表形式のグラフィカル・ユーザインタフェースに対し、図形式のグラフィカル・ユーザインタフェースをユーザに提示することが可能である。
【００３７】
テーブルが選択された後、ユーザは次に図１２に示されるようなグラフィカル・ユーザインタフェース１２００により、前に創生されたディメンションを選択し、キューブ定義に追加することが可能である（ステップ６１６）。次にプロセス６００は分析結果の情報を取り出し、前に供給されたデータからのメジャー列としてユーザに提示する。またユーザは、たとえば図１３で描写されたグラフィカル・ユーザインタフェース１３００により、このデータを修正することが可能である。一般的には、メジャーは自動的にメジャーグループ機能により分類される。この機能はテーマおよびディメンションの粒状度（granularity）によりメジャーを分類する。一般的に、分類分けのデフォルト名はテーブル名を人に理解可能なように修正（例えば、名前からアンダーバーを削除）したものである。また、グラフィカル・ユーザインタフェース１３００によってメジャーグループ名を付け替えることも可能である。次にプロセス６００は、ステップ６２０でディメンションおよび階層を創生する分析の結果をユーザに提供する。図１４において、このようなグラフィカル・ユーザインタフェース１４００が示されている。ユーザはいつでも分析を止め、そしてまさにその時点までに生成された階層を継続することが可能である。既存のディメンションリストにより生成されたフィルター処理の後、残っているすべてのディメンションテーブルに対する階層が分析により検出される。キューブに追加された任意の既存ディメンションにより用いられたすべてのディメンションテーブルが想定されるディメンションテーブルのリストから取り除かれて、ディメンションが生成される。別のディメンションテーブルがそれ自身がすべてのファクトテーブルから隔離されている（直接のリンク、あるいは他のいかなる残存するディメンションテーブルを通してのリンクのいずれも存在しない）ことが判明した場合には、そのディメンションテーブルもディメンションテーブルリストから取り除かれる。このプロセスが完了すると、残存するディメンションからディメンションリストが創生される。
【００３８】
ユーザは、オプションのステップ６２２として、前の選択において「時間」として定義されたテーブルに対する時間間隔期間を、どの列が含むかを特定するために、グラフィカル・ユーザインタフェースの提供を受けることが可能である。これがどのようにユーザに提示され得るかについて、図１５において例示されたグラフィカル・ユーザインタフェース１５００が一例を示す。次にステップ６２４では、新しいディメンションに対して分析で自動的に生成された階層および特性情報を引き継ぐためのグラフィカル・ユーザインタフェースがユーザに提示される。ユーザは図１６で示されるグラフィカル・ユーザインタフェース１６００のようなインタフェースにおいてこれらのパラメータを修正することが可能である。ユーザは追加的ディメンションを創生し、および／あるいは分析により自動的に供給されたディメンションを編集することが可能となる。かくして分析処理としてすべてのパラメータが充足されると、ユーザは６２６でキューブを完成させるためのグラフィカル・ユーザインタフェースを提示される。たとえば、図１７において示されるグラフィカル・ユーザインタフェース１７００はユーザがキューブに名前を付け、その構造を再検討し、およびキューブを保存することを可能とする。
【００３９】
上述は自動化されたプロセスと対話することを望むユーザに関わる。しかしながら、ユーザはまた手作業によりキューブを組み立て、なおかつ図６で示されるプロセス６００において述べられたようなグラフィカル・ユーザインタフェースによって支援を受けることが可能である。手作業路線６０６は新しい手作業のメジャー定義インタフェースを創生すること、既存のディメンションインタフェースを選択すること、新しい手作業のディメンション定義インタフェースを創生すること、およびオプションとして時間ディメンションインタフェースを定義することを備えるインタフェース６２８を含む。図１８〜２１において、典型的なグラフィカル・ユーザインタフェースがそれぞれグラフィカル・ユーザインタフェース１８００〜２１００を示し描写される。このように、本発明はユーザがユーザにより必要とされる関与および技能のレベルに応じ幅広い柔軟性を持つことを可能とする。このことは本発明を採用することにより、巨大な利益を可能とする。
【００４０】
このように、本発明の一形態は自動化されたデータ分析システムと会話するために適応されたインタフェース、少なくとも１つの特性に関連しているデータ分析システムにおけるデータ処理の表示を提供するためのインタフェースと関連付けされた少なくとも１つの出力、およびどのようにディメンション・モデルを定義するべきか、および／あるいはどのようにディメンション・モデルを組み立てるべきかについて、少なくとも一部について、ユーザの選択に基づきデータ処理に影響力を及ぼすための少なくとも１つの入力、を備える。もう１つの本発明の形態において、自動化されたデータ分析システムは、関係データスキーマからデータ相互関係に基づきディメンション・モデルを定義するため単純化された発見型分析を利用する自動化された構造ラベリングシステム、およびその自動化された構造ラベリングシステムにより定義されたディメンション・モデルを組み立てるための自動化されたモデル構築システムを備える。本発明のさらにもう１つの例において、出力はディメンション、属性、集計関数、テーブル形式、メジャー、および／あるいはメジャーグループを備える。また本発明のさらにもう１つの例において、入力はディメンション、属性、集計関数、テーブル形式、メジャー、および／あるいはメジャーグループを備える。さらにまた本発明の他の例において、単一のユーザ動作により自動化された構造ラベリングシステム、および／あるいは自動化されたモデル構築システムなどを開始することが可能である入力を備える。
【００４１】
図２２および以下の説明では、本発明の種々の形態を実施する追加的状況を提供するために、本発明の種々の形態が実施される可能性がある適切なコンピュータ処理環境２２００の簡潔な、一般的な記述を提供することを意図している。本発明がローカルなコンピュータ、および／あるいはリモートのコンピュータ上で動作するひとつのコンピュータ・プログラムの、コンピュータで実行可能な命令の一般的なコンテクストで上記により説明したが、当業者は本発明が同じく他のプログラムモジュールと共に実施されることが可能であることを認識するであろう。一般的に、プログラムモジュールはルーチン、プログラム、コンポーネント、データ構造などを含み、特定のタスクを実行し、および／あるいは特定の抽象的データ形式を具現化する。さらに、当業者は本発明の方法が、それぞれが１あるいは複数の関連する装置と通信する可能性があるパーソナルコンピュータ、携帯型コンピュータ処理装置、マイクロプロセッサベースの、および／あるいはプログラム可能な家庭用エレクトロニクス機器等と同様に、単一プロセッサ、あるいはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータを含む、他のコンピュータシステム構成で実施される場合があることを理解するであろう。また、本発明の例示された形態が、ある特定のタスクが通信ネットワークを通して接続された遠隔の処理装置群によって実行される分散されたコンピュータ処理環境において実施される場合もある。しかしながら、本発明の形態の、もしすべてでないにしろ一部は、スタンドアローンのコンピュータにおいて実施される場合がある。分散されたコンピュータ処理環境において、プログラムモジュールはローカルな、および／あるいはリモートのメモリ記憶装置に位置しても良い。
【００４２】
この応用例において用いられるように、用語「コンポーネント（component）」はハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、あるいは実行形式のソフトウェアのいずれかの、コンピュータ関連のエンティティを意味することを意図されている。たとえば、コンポーネントは、限定されるものではないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行可能プログラム、実行形式のスレッド、プログラム、およびコンピュータである場合がある。例示として、サーバ上で動作するアプリケーション、および／あるいはそのサーバはコンポーネントであり得る。加えて、コンポーネントは１あるいは複数の従属コンポーネント（subcomponent）を含む場合がある。
【００４３】
図２２を参照すると、発明の種々の形態を実施するための典型的なシステム環境２２００は、処理ユニット２２０４、システムメモリー２２０６、およびシステムメモリーの処理ユニット２２０４への接続を含む種々のシステムコンポーネントを接続するシステムバス２２０８を含む従来のコンピュータ２２０２を含む。処理ユニット２２０４は商業的に利用可能であるか、あるいは独自の任意のプロセッサである場合も有る。加えて、処理ユニットは、並列に接続されている場合があるように、２つ以上のプロセッサにより構成されるマルチプロセッサとして実施される場合がある。
【００４４】
システムバス２２０８は、１つのメモリバスあるいはメモリコントローラ、１つの周辺機器バス、およびローカルバスを含む、いくつか例を挙げれば、ＰＣＩ、ＶＥＳＡ、Ｍｉｃｒｏｃｈａｎｎｅｌ、ＩＳＡおよびＥＩＳＡのような各種の従来のバスアーキテクチャのうちの任意のものを用いた、いくつかの形式のバス構造の任意のものとすることができる。システムメモリー２２０６はＲＯＭ（Read Only Memory）２２１０およびＲＡＭ（Random Access Memory）２２１２を含む。ＢＩＯＳ（Basic Input/Output System）２２１４は、起動時などに、コンピュータ２２０２の中の要素の間で情報を転送することを支援する基本的なルーチンを含み、ＲＯＭ２２１０に格納される。
【００４５】
また、コンピュータ２２０２は、たとえば、ハードディスク駆動装置２２１６、たとえば着脱可能なディスク２２２０と読み書きするための磁気ディスク駆動装置２２１８、および、たとえばＣＤ−ＲＯＭディスク２２２４、あるいは他の光学式メディアとの読み書きのための光ディスク駆動装置２２２２を含むことができる。ハードディスク駆動装置２２１６、磁気ディスク駆動装置２２１８、および光ディスク駆動装置２２２２は、それぞれハードディスク駆動装置インタフェース２２２６、磁気ディスク駆動装置インタフェース２２２８、および光ディスク駆動装置インタフェース２２３０により、システムバス２２０８に接続される。駆動装置２２１６、２２１８および２２２２、およびそれらの関連付けられたコンピュータで読み取り可能な媒体は、コンピュータ２２０２のための、データ、データ構造、コンピュータで実行可能な命令などの不揮発性記憶装置を提供する。上のコンピュータで読み取り可能な媒体の記述がハードディスク、着脱可能な磁気ディスク、およびＣＤに言及するが、当業者は、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、等のような、コンピュータにより読み取り可能な他のメディア形式もまた、典型的な動作環境２２００において使用し得ること、およびさらに、本発明の方法を実施するについて、そのようなメディアのどれもがコンピュータで実行可能な命令を含むことが可能であることを理解するであろう。
【００４６】
オペレーティング・システム２２３２、１あるいは複数のアプリケーションプログラム２２３４、他のプログラムモジュール２２３６、およびプログラムデータ２２３８を含む、多くのプログラムモジュールを、ハードディスク駆動装置２２１６およびＲＡＭ２２１２に格納することが可能である。オペレーティング・システム２２３２は任意の適切なオペレーティング・システムあるいは複数のオペレーティング・システムの組み合わせである場合がある。例として、アプリケーションプログラム２２３４およびプログラムモジュール２２３６は、本発明の一形態によるデータを利用する、データベース分析システムおよび／あるいは対話型のディメンション・モデル構築システムを含むことが可能である。加えて、プログラムデータ２２３８は、本発明の一形態によりディメンション・モデルを制御し、および／あるいは誘導するための入力データを含むことが可能である。
【００４７】
ユーザは、１あるいは複数のキーボード２２４０およびポインティングデバイス（たとえば、マウス２２４２）のようなユーザ入力装置により、コマンドおよび情報をコンピュータ２２０２に入力することが可能である。他の入力装置（示されない）としてマイクロホン、ジョイスティック、ゲームパッド、衛星放送アンテナ、ワイヤレスリモートコントローラ、スキャナー等を含むことができる。これらおよび他の入力装置はしばしばシステムバス２２０８に接続されるシリアルポートインタフェース２２４４を通して処理ユニット２２０４に接続されるが、パラレルポート、ゲームポート、あるいはＵＳＢ（Universal Serial Bus）のような、他のインタフェースにより接続される場合もある。モニター２２４６あるいは他の形式のディスプレイ装置もまた、ビデオアダプター２２４８のような、インタフェースを経てシステムバス２２０８に接続される。モニター２２４６のほかに、コンピュータ２２０２は、スピーカ、プリンタなどのような、他の周辺出力機器(示されない)を含む場合がある。
【００４８】
コンピュータ２２０２が１あるいは複数の遠隔のコンピュータ２２６０と論理的な接続を用いてネットワークで結ばれた環境で動作することが可能であることは理解されるであろう。遠隔のコンピュータ２２６０はワークステーション、サーバコンピュータ、ルータ、ピア(peer)装置、あるいは他の通常のネットワークノードである場合があり、簡潔化のため図２２ではメモリ記憶装置２２６２だけが例示されるが、一般的には、コンピュータ２２０２との関連で記述される、多くのあるいはすべての要素を含む。図２２で描写される論理的な接続はＬＡＮ（Local Area Network）２２６４およびＷＡＮ(Wide Area Network)２２６６を含むことが可能である。このようなネットワーク化された環境はオフィス、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいて一般的である。
【００４９】
ＬＡＮでネットワーク化された環境において用いられる場合には、たとえば、コンピュータ２２０２はネットワークインタフェースあるいはアダプター２２６８を通して特定の場所のネットワーク２２６４に接続される。ＷＡＮでネットワーク化された環境において用いられる場合には、コンピュータ２２０２は一般的にはモデム（たとえば、電話、ＤＳＬ、ケーブルなど）２２７０を含み、あるいはＬＡＮ上の通信サーバに接続されるか、あるいはインターネットのような、ＷＡＮ２２６６上の通信を確立するための他の手段を持つ。モデム２２７０は、コンピュータ２２０２に対して、内蔵されるか、あるいは外付けされ、シリアルポートインタフェース２２４４によってシステムバス２２０８に接続される。ネットワーク化された環境において、プログラムモジュール（アプリケーションプログラム２２３４を含めて）および／あるいはプログラムデータ２２３８を遠隔メモリ記憶装置２２６２に格納することが可能である。示されたネットワーク接続が典型的なものであり、本発明の一形態を実施する場合には、コンピュータ２２０２および２２６０の間の通信リンクを確立する他の手段（たとえば、有線、あるいは無線の）が用いられ得ることが理解されるであろう。
【００５０】
コンピュータプログラミングの分野で熟練した人々の慣習に従い、本発明は、特に表示されない限り、コンピュータ２２０２あるいは遠隔のコンピュータ２２６０のようなコンピュータによって遂行される動作の手続きおよび記号的表現を参照して記述されている。このような手続きおよび動作はしばしば「コンピュータにより実行される」として言及される。この手続きおよび記号的に表現された動作が、処理ユニット２２０４による、データビットを表わす電気信号の、結果としてその電気信号表現の変換あるいは変形をもたらす操作、およびメモリシステム（システムメモリ２２０６、ハードディスク駆動装置２２１６、フロッピー(登録商標)ディスク２２２０、ＣＤ−ＲＯＭ２２２４および遠隔メモリ記憶装置２２６２を含む）における記憶場所においての、その他の信号の処理と同様に、それによって再構成したり、ないしは、コンピュータシステムの動作を変更したりするための、データビットの維持を含むことは理解されるであろう。このようなデータビットが維持される記憶場所は、そのデータビットに対応して特定の電気的、磁気的、あるいは光学的特性を有する物理的な場所である。
【００５１】
図２３は本発明が対話できるコンピュータ処理環境のもう１つの例２３００のブロック図である。システム２３００では、さらに１あるいは複数のクライアント２３０２を含むシステムを例示する。クライアント２３０２はハードウェアおよび／あるいはソフトウェア（たとえば、スレッド、プロセス、コンピュータ処理装置）であることが可能である。また、システム２３００は１あるいは複数のサーバ２３０４を含む。サーバ２３０４は同じくハードウェアおよび／あるいはソフトウェア（たとえば、スレッド、プロセス、コンピュータ処理装置）であることが可能である。サーバ２３０４は、たとえば、本発明を適用することにより、スレッドに変換を行うための場所を提供することが可能である。クライアント２３０２およびサーバ２３０４の間の１つの可能な通信の形態は２以上のコンピュータプロセスの間で伝達されるために適合されたデータパケットである場合がある。システム２３００はクライアント２３０２およびサーバ２３０４の間の通信を容易にするために適用されることが可能である通信フレームワーク２３０８を含む。クライアント２３０２は、クライアント２３０２に特有な情報を格納するため適用される得る１あるいは複数のクライアントデータ記憶装置２３１０に接続され動作する。同様に、サーバ２３０４は、サーバ２３０４に特有な情報を格納するため適用され得る１あるいは複数のサーバデータ記憶装置２３０６に接続され動作する。
【００５２】
本発明の一例において、データ分析を容易にする２以上のコンピュータ・コンポーネントの間に伝達されるデータパケットは、部分的に、関係データスキーマ（関係データベースのような）からデータ相互関係に基づき、ディメンション・モデル（ＯＬＡＰオブジェクト、ＲＯＬＡＰオブジェクト、およびＭＯＬＡＰオブジェクト等のような）を定義するため、単純化された発見型分析を利用する自動化された構造ラベリングシステムからのデータ、自動化された構造ラベリングシステムにより定義されたディメンション・モデルを組み立てるための自動化されたモデル構築システムからのデータ、単一のユーザ動作により自動化された構造ラベリングシステム、および／あるいは自動化されたモデル構築システムなどを開始するための入力からのデータ（コンピュータマウスのクリックからのデータのような）、データ分析のデータ処理の表示を提供するためにインタフェースに関連付けられた、出力からのデータ（グラフィカル・ユーザインタフェースのデータのような）、および／あるいは、どのようにディメンション・モデルを定義するべきか、および／あるいはどのようにディメンション・モデルを組み立てるべきかについて、少なくとも一部について、ユーザの選択に基づきデータ処理に影響力を及ぼすためのインタフェースに関連付けられた入力からのデータ、に基づくディメンション・モデル分析データより構成される。
【００５３】
本発明のもう１つの例においては、データ分析を容易にするためのシステムのコンピュータで実行可能なコンポーネントを格納しているコンピュータで読み取り可能な媒体が、少なくとも一部について、関係データスキーマ（関係データベースのような）からデータ相互関係に基づき、ディメンション・モデル（ＯＬＡＰオブジェクト、ＲＯＬＡＰオブジェクト、およびＭＯＬＡＰオブジェクト等のような）を定義するため、単純化された発見型分析を利用する自動化された構造ラベリングシステムからのデータ、自動化された構造ラベリングシステムにより定義されたディメンション・モデルを組み立てるための自動化されたモデル構築システムからのデータ、単一のユーザ動作により自動化された構造ラベリングシステム、および／あるいは自動化されたモデル構築システムなどを開始するための入力からのデータ（コンピュータマウスのクリックからのデータのような）、データ分析のデータ処理の表示を提供するためにインタフェースに関連付けられた、出力からのデータ（グラフィカル・ユーザインタフェースのデータのような）、および／あるいは、どのようにディメンション・モデルを定義するべきか、および／あるいはどのようにディメンション・モデルを組み立てるべきかについて、少なくとも一部について、ユーザの選択に基づきデータ処理に影響力を及ぼすためのインタフェースに関連付けられた入力からのデータ、に基づくデータの集合に関連付けられた情報を提供する自動化されたデータ分析システムを備える。
【００５４】
本発明の装置、システム、および／あるいは方法は、コンピュータ化が容易なコンポーネントおよびコンピュータに関連しないコンポーネントのどちらのデータ分析構成においても同様に利用し得ることが理解されるであろう。さらに当業者は、本発明の装置、システム、および／あるいは方法が、制限するものではないが、コンピュータ、サーバ、および／あるいは携帯電子装置等を含む莫大な範囲の電子関連技術において適用され得ることを認識するであろう。
【００５５】
上述は本発明の例を含む。本発明を記述する目的のために、コンポーネントあるいは方法論の考えられるすべての組み合わせを記述することは、もとより、可能ではないが、当業者は本発明の多くのさらなる組み合わせおよび並べ替えが可能であることを認識するであろう。したがって、本発明は添付された特許請求の範囲の精神と範囲内に入るようなすべての変更および修正態様を包含することを意図するものである。さらに、用語「含む」は詳細な記述あるいは特許請求の範囲において用いられる限りにおいて、「備える」が請求項において移行語として適用された場合に意味するところの用語「備える」と同様な意味を包含することを意図するものである。
【図面の簡単な説明】
【００５６】
【図１】本発明の一形態によるデータ分析システムのブロック図である。
【図２】本発明の一形態によるデータベース分析システムのフェーズ分けのブロック図である。
【図３】本発明の一形態によるディメンション・モデルを構成する方法のフローチャートである。
【図４】本発明の一形態によるディメンション・モデルを定義する方法のフローチャートである。
【図５】本発明の一形態によるディメンション・モデルを構築する方法のフローチャートである。
【図６】本発明の一形態によるユーザとのインタフェースのソフトウェアプロセスの表図である。
【図７】本発明の一形態によるウェルカムユーザ・インタフェースの画面の図である。
【図８】本発明の一形態によるキューブ定義ユーザ・インタフェースの画面の図である。
【図９】本発明の一形態によるデータ情報源選択ユーザ・インタフェースの画面の図である。
【図１０】本発明の一形態によるテーブルタイプ検出ユーザ・インタフェースの画面の図である。
【図１１】本発明の一形態によるテーブルタイプ選択ユーザ・インタフェースの画面の図である。
【図１２】本発明の一形態による既存ディメンションユーザ・インタフェースの画面の図である。
【図１３】本発明の一形態によるメジャー選択ユーザ・インタフェースの画面の図である。
【図１４】本発明の一形態によるディメンション階層創生ユーザ・インタフェースの画面の図である。
【図１５】本発明の一形態による時間期間定義ユーザ・インタフェースの画面の図である。
【図１６】本発明の一形態による新規創生ディメンションユーザ・インタフェースの画面の図である。
【図１７】本発明の一形態によるキューブ創生終了ユーザ・インタフェースの画面の図である。
【図１８】本発明の一形態による手作業による新規メジャー定義ユーザ・インタフェースの画面の図である。
【図１９】本発明の一形態による手作業による既存ディメンションユーザ・インタフェースの画面の図である。
【図２０】本発明の一形態による手作業による新規ディメンション定義ユーザ・インタフェースの画面の図である。
【図２１】本発明の一形態による手作業による時間期間定義ユーザ・インタフェースの画面の図である。
【図２２】本発明が機能することが可能な動作環境の一例を示す図である。
【図２３】本発明が機能することが可能な動作環境の一例を示す図である。
【符号の説明】
【００５７】
１０２    関係スキーマ
１０４    データ分析コンポーネント
１０６    ディメンション・モデル
１０８    ユーザ・インタフェース
【図１】
2004303213.tif 000003
【図２】
2004303213.tif 000004
【図３】
2004303213.tif 000005
【図４】
2004303213.tif 000006
【図５】
2004303213.tif 000007
【図６】
2004303213.tif 000008
【図７】
2004303213.tif 000009
【図８】
2004303213.tif 000010
【図９】
2004303213.tif 000011
【図１０】
2004303213.tif 000012
【図１１】
2004303213.tif 000013
【図１２】
2004303213.tif 000014
【図１３】
2004303213.tif 000015
【図１４】
2004303213.tif 000016
【図１５】
2004303213.tif 000017
【図１６】
2004303213.tif 000018
【図１７】
2004303213.tif 000019
【図１８】
2004303213.tif 000020
【図１９】
2004303213.tif 000021
【図２０】
2004303213.tif 000022
【図２１】
2004303213.tif 000023
【図２２】
2004303213.tif 000024
【図２３】
2004303213.tif 000025
【外国語明細書】
2004303213.tif 000026
2004303213.tif 000027
2004303213.tif 000028
2004303213.tif 000029
2004303213.tif 000030
2004303213.tif 000031
2004303213.tif 000032
2004303213.tif 000033
2004303213.tif 000034
2004303213.tif 000035
2004303213.tif 000036
2004303213.tif 000037
2004303213.tif 000038
2004303213.tif 000039
2004303213.tif 000040
2004303213.tif 000041
2004303213.tif 000042
2004303213.tif 000043
2004303213.tif 000044
2004303213.tif 000045
2004303213.tif 000046
2004303213.tif 000047
2004303213.tif 000048
2004303213.tif 000049
2004303213.tif 000050
2004303213.tif 000051
2004303213.tif 000052
2004303213.tif 000053
2004303213.tif 000054
2004303213.tif 000055
2004303213.tif 000056
2004303213.tif 000057
2004303213.tif 000058
2004303213.tif 000059
2004303213.tif 000060
2004303213.tif 000061
2004303213.tif 000062
2004303213.tif 000063
2004303213.tif 000064
2004303213.tif 000065
2004303213.tif 000066
2004303213.tif 000067
2004303213.tif 000068
2004303213.tif 000069
2004303213.tif 000070
2004303213.tif 000071
2004303213.tif 000072
2004303213.tif 000073
2004303213.tif 000074
2004303213.tif 000075
2004303213.tif 000076
2004303213.tif 000077
2004303213.tif 000078
2004303213.tif 000079