(57)【要約】【課題】カスタマイズ可能なデータ図をデータ図ソフトウェアファシリティによって提供すること。【解決手段】このファシリティは、初期データ図の基になる多次元データセットへの参照を受信する。少なくとも一部分この情報に基づいて、このファシリティは、多次元データセットからのデータに対応するノードのグラフィカル表現を提供するデータ図を生成する。このファシリティは、ユーザによって変更することができるデータ図を表示する。例えば、このファシリティは、ユーザがデータ図のノードの順序の変更、データ図のノードの形状の変更、データ図のノードの色またはフォーマットの変更などを行えるツールを提供することができる。このファシリティは、ユーザが分類方式に基づいてデータ図の項目についてドリルダウンすることができる機能を提供することもできる。【選択図】図３
2006209746.tif 000002
【特許請求の範囲】
【請求項１】
多次元データセットに格納されているデータの図式表示を提供する方法であって、
前記多次元データセットへの参照を受信するステップと、
データ図を生成するステップであって、前記データ図はノードのグラフィカル表現を提供し、前記ノードは前記多次元データセットからのデータに対応するステップと、
前記データ図を表示するステップと、
前記データ図を変更する旨の要求を受信するステップと、
前記要求に基づいて前記データ図を変更するステップであって、前記変更は前記ノードのグラフィカル表現を変更するステップを含むステップと、
前記ユーザインターフェイスで前記変更されたデータ図を表示するステップと
を含むことを特徴とする方法。
【請求項２】
前記データ図を変更する旨の前記要求は、前記データ図の少なくとも１つのノードを再配置する旨の要求を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記データ図を変更する旨の前記要求は、前記データ図の少なくとも１つのノードの外観の特徴を変更する旨の要求を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記データ図を変更する旨の前記要求は、前記データ図の新しいインスタンスを生成するために、前記データ図の少なくとも１つのノードを複製する旨の要求を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記データ図を変更する旨の前記要求は、前記データ図の少なくとも１つのノードにテキストコメントを追加する旨の要求を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ノードのグラフィカル表現は、ツリー状階層に配置されるノードを含み、前記データ図を変更する旨の前記要求は、前記階層を視覚的に再構築する旨の要求を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記データ図をリフレッシュするステップをさらに含み、前記リフレッシュするステップは、
前記多次元データセットに対してクエリを行うステップと、
前記データ図の生成以後、前記多次元データセットに変更が加えられたかどうかを決定するステップと、
前記多次元セットに変更が加えられた場合、前記変更に基づいて前記データ図を更新するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記データ図をリフレッシュするステップであって、前記リフレッシュするステップは、前記多次元データセットに対してクエリを行うステップを含むステップと、
前記データ図の生成以後、前記多次元データセットに変更が加えられたかどうかを決定するステップと、
前記多次元セットに変更が加えられた場合、前記変更に基づいて前記データ図を更新するステップであって、前記更新するステップは、前記ノードの変更されたグラフィカル表現を保持するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記データ図は、ユーザインターフェイスで表示され、前記ユーザインターフェイスは、前記データ図の前記グラフィカル表現を変更する１つまたは複数のツールへのアクセスを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記データセットは複数のレベルを有するデータ次元を含み、前記生成されたデータ図は前記データ次元に関連付けられているノードの表示を含み、
前記データ図を変更する旨の前記要求は、前記データ次元に関連付けられている前記ノードのドリルダウンを実行する旨の要求を含み、
前記ドリルダウンは、前記データ次元の前記複数のレベルのうちの１つに対応する１組のノードを表示するステップを含み、
前記１組のノードは、変更前は前記データ図に表示されていない
ことを特徴とする請求項１に記載の方法。
【請求項１１】
前記変更されたデータ図に基づいてピボットテーブルを生成するステップと、
前記データ図において詳細を表示、または非表示するステップであって、前記詳細は前記データ図に関連付けられている数字のメジャーの表示を含むステップと、
前記データ図の情報をＥｘｃｅｌスプレッドシートにエクスポートするステップと
のうちの１つまたは複数をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】
多次元データセットに基づいてカスタマイズ可能なデータ図を表示するシステムであって、
１つまたは複数の多次元データセットを格納するように構成されているデータストアと、
前記１つまたは複数の多次元データセットへの参照を受信し、前記１つまたは複数の多次元データセットに基づいて生成されたデータ図を変更する旨の要求を受信するように構成されているユーザインターフェイスレイヤと、
ノードのグラフィカル表現を提供する初期データ図を生成するステップであって、前記ノードは１つまたは複数の多次元データセットからのデータに対応するステップと、
受信された要求に基づいて前記データ図を変更するステップであって、前記変更は前記ノードのグラフィカル表現を変更するステップを含むステップと
を行うように構成されているデータ図エンジン構成要素と、
前記初期データ図を表示し、前記変更されたデータ図を表示するように構成されている表示構成要素と
を含むことを特徴とするシステム。
【請求項１３】
前記データ図エンジン構成要素と通信するデータ図インスタンスマネージャ構成要素をさらに含み、
前記データ図インスタンスマネージャ構成要素は、データ図のインスタンスを管理する
ことを特徴とする請求項１２に記載のシステム。
【請求項１４】
データ図マネージャ構成要素をさらに含み、前記データ図マネージャ構成要素はデータ図のインスタンスに対して実行されるアクションを処理することを特徴とする請求項１２に記載のシステム。
【請求項１５】
選択マネージャ構成要素をさらに含み、前記選択マネージャ構成要素はデータ図の部分を選択するように加えられた変更を管理することを特徴とする請求項１２に記載のシステム。
【請求項１６】
列マネージャ構成要素をさらに含み、前記列マネージャ構成要素はデータ図の列の永続データを保持することを特徴とする請求項１２に記載のシステム。
【請求項１７】
前記ユーザインターフェイスレイヤは、描画アプリケーションに関連付けられているツールを提供することを特徴とする請求項１２に記載のシステム。
【請求項１８】
１組の生データに基づいてデータ図を生成するのに使用されるデータ構造を含むコンピュータ可読媒体であって、前記データ構造は、
形状情報の１つまたは複数のインスタンスであって、前記形状情報の各インスタンスは前記データ図で表示されるノードに関連付けられており、前記表示されたノードは前記１組の生データのある次元に対応しており、前記次元は少なくとも１つのレベルの詳細を含む形状情報のインスタンスと、
分類形状情報の１つまたは複数のインスタンスであって、前記分類形状情報の各インスタンスは前記１組の生データにおける選択された次元の分類方式を定義し、前記分類方式は前記データ図に表示されるデータについてのドリルダウンに使用され、前記ドリルダウンは前記選択された次元の次レベルの詳細を示す１つまたは複数のノードを表示するステップを含む分類形状情報のインスタンスと
を含むことを特徴とするコンピュータ可読媒体。
【請求項１９】
データ図情報構成要素をさらに含み、前記データ図情報構成要素は、前記データ図の分類形状情報および前記データ図の形状情報の表示を含むことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記分類形状情報の前記１つまたは複数のインスタンスはそれぞれ任意の関連の子形状へのクエリおよびマッピング情報を含むことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
記載の技術は、一般に、図および他のグラフィカル表現を介してデータにアクセスし、データを操作することに関する。
【背景技術】
【０００２】
現在のデータ管理ツールは、ユーザがデータを入力、変更し、データにアクセスできるようにする様々なデータ記憶およびアクセス技術をユーザに提供する。ピボットテーブル、カスタムレポート、およびＬｏｔｕｓ  Ｓｙｍｐｈｏｎｙ（商標）などの他の技術などのより高度なデータ管理技術は、データの組を集約し、分類し、分析する柔軟な方法をユーザに提供する。一般に、ピボットテーブルは、（集約や集計など）別のテーブルから導出されたデータを含むデータテーブルである。図１にピボットテーブルの一例を示している。図１は、ピボットテーブル１０４に加えて、ピボットテーブル１０４の生成に使用される生データリスト１０２（Ｅｘｃｅｌテーブルのデータなど）の例も示している。生データリスト１０２は、食料品（乳製品、飲料、青果、精肉など）のタイプの売上高に関する情報を含んでいる。生データリストによれば、ある期間にわたって４地域（北、南、東、西など）のうちの１つで販売が行われる。生データリスト１０２は、食料品の販売の単位情報も示している。ピボットテーブル１０４に変換されると、生データリスト１０２の情報は、食料品の領域およびタイプに従ってまとめられる。ピボットテーブル１０４は、食料品のタイプごと、および領域ごとに合計を表示している。また、ピボットテーブル１０４は、すべての領域およびすべてのタイプの食料品の総計を表示している。
【０００３】
図１に示すように、ピボットテーブルは、データの表示に有用なツールとなり得る。カスタマイズ可能なレポートテーブルは、同様の利点を提供し得る。一部のデータツールは、前に生成されたピボットテーブルまたはレポートによって提供される出力に基づいて生のおよび／または処理されたデータのグラフィカルな、または図による表示さえも提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ピボットテーブル、レポートフィルタ、および類似のツールは、使いにくいことが多い。例えば、ユーザは、特に大きいデータセットを伴う場合、ピボットテーブルまたはレポートのパラメータを指定するためにいくつかのステップを経る必要がある場合がある。さらに、ユーザは、ピボットテーブルまたはレポートに提示されるデータの内容および構成をうまく概念化できない場合があり、これによって、パラメータを指定するのがさらに難しくなる。また、現在のソフトウェアの制限のため、視覚的に説得力のある出力を生成するのは難しい場合がある。
【課題を解決するための手段】
【０００５】
一部の実施形態において、データ図ソフトウェアファシリティ（ｄａｔａ  ｄｉａｇｒａｍ  ｓｏｆｔｗａｒｅ  ｆａｃｉｌｉｔｙ）は、カスタマイズ可能なデータ図を提供する。このファシリティは、初期データ図の基になる多次元データセットへの参照を受信することができる。少なくとも一部分この情報に基づいて、このファシリティは、多次元データセットからのデータに対応する１つまたは複数のノードのグラフィカル表現を提供するデータ図を生成することができる。このファシリティは、ユーザによって変更することができるデータ図を表示することができる。例えば、このファシリティは、ユーザがデータ図のノードの順序の変更、データ図のノードの形状の変更、データ図のノードの色またはフォーマットの変更などを行えるツールを提供することができる。このファシリティは、ユーザが分類方式に基づいてデータ図の項目についてドリルダウンすることができる機能を提供することもできる。
【発明を実施するための最良の形態】
【０００６】
次に、様々な実施形態を参照して、本発明について説明する。以下の説明は、本発明のこれらの実施形態を完全に理解し、その説明を実行可能にするための特定の詳細を提供する。しかし、これらの詳細無しに本発明を実施できることを当業者であれば理解されよう。他の場合、よく知られている構造および機能は、本発明の実施形態の説明を不必要に不明瞭にするのを避けるために、詳しく示したり説明したりしていない。
【０００７】
提示した説明で使用されている用語は、本発明のいくつかの特定の実施形態の詳細な説明に関連して使用されている場合でさえ、その最も広範な妥当な方法で解釈されるものとする。一部の用語は、以下で強調されているものさえあるかもしれないが、任意の制限がかけられているものと解釈すべき任意の用語は、この発明を実施するための最良の形態セクションで、明白かつ明確に、そのように定義される。
【０００８】
Ｉ．概要  
データ図ソフトウェアファシリティは、ＯＬＡＰ（オンライン分析処理）データベースなどの多次元データソースまたはリレーショナルデータソースからのデータにアクセスし、それを提示するためのツールをユーザに提供する。一部の実施形態では、データ図ファシリティは、ユーザの要求に応じてカスタマイズすることができる柔軟で動的なデータ図をユーザに提供する。データ図は、データセットのデータのグラフィカル表現である。例えば、図１の生データリスト１０２は、ルートノードでのデータ図のタイトル、第２レベルのノードとして表された領域、および第３レベルのノードとして表された製品のタイプを含むツリー構造としてグラフィカルに提示することができる。データ図の様々なノードを選択することによって、ユーザは、基となるデータセットの詳細の様々なレベルを表示することができる。
【０００９】
データ図は、複数のフォーマットで表示することができ、その一例としてツリー構造が挙げられる。次いで、データ図ファシリティによって、ユーザは、選択、ドラッグアンドドロップ、およびカットアンドペーストなどの技術を使用してデータ図をカスタマイズすることができる。例えば、データ図ファシリティによってユーザは、北領域下の飲料ノードおよび乳製品ノードを選択し、「結合」オプションを選択することによって、それらを結合することができる。次いでこのファシリティは、ノードが結合されたことを表示するように、表示されたデータ図を調整することができる。このように、ユーザは、（プレゼンテーションの質など）所望のフォーマットを満たすように、データ図を操作し、カスタマイズすることができる。カスタマイズされたデータ図は、基となるデータへのアクティブリンクを保持することができる。したがって、ユーザは、基となるデータの正確な記述を依然として維持しながら、カスタマイズされたデータ図を（例えば第２のセッションの間）引き続き操作することができる。また、基となるデータへのアクティブリンクを保持することによって、データ図ファシリティは、カスタマイズされたデータ図における情報をリフレッシュして、確実に最新データが提示されるようにすることができる。
【００１０】
一部の実施形態では、データ図ファシリティは、描画アプリケーション（Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｉｏなど）のフレームワーク内に実装されている。初期データ図を作成するには、一部の実施形態では、ユーザは、適切なデータソース（例えばＯＬＡＰデータベース（または他の多次元データソース）またはリレーショナルデータベース）に接続する。データ図ファシリティに関連付けられているユーザインターフェイスによって、ユーザは、初期データ図のための対象のパラメータを選択することができる。例えば、ユーザは、初期データ図に、第２レベルで図１の各領域のノード、および第３レベルで食料品の各タイプのノードが含まれるべきであることを選択することができる。次いでデータ図ファシリティは、初期データ図を生成する。ユーザは、描画ツールを含むツールを使用して初期データ図をカスタマイズすることができる。後で、ユーザは、描画ツールを使用して作成された任意の視覚上の効果、およびデータ構成方式（ｄａｔａ  ｏｒｇａｎｉｚａｔｉｏｎ  ｓｃｈｅｍｅ）を依然として維持しながら、戻ってデータをリフレッシュすることができる。
【００１１】
ＩＩ．ユーザインターフェイス  
図２は、データ図ファシリティによって生成された初期データ図２００を示している。例示の目的で、初期データ図は、図１の生データリスト１０２などのデータソースからの情報を基にする。図２に示すように、データ図は、データソース（「Ｒａｗ  Ｄａｔａ  Ｌｉｓｔ（１０４）」など）、および最後に更新された日時（「１０／１３／０４  １０：３０Ａ．Ｍ．」など）を示す情報ボックス２０２を含み得る。
【００１２】
一部の実施形態では、データ図２００は、最上部にルートノード２０４を備える階層として示されている。あるいは、階層の最上部のノードは、データ図における情報のタイトルを示すタイトルノードとすることができる。一部の実施形態において、データ図ファシリティは、階層の特定の次元を示す次元形状２０６を提供する。例えば、次元形状２０６は、階層の次レベルの分類方式を指定することができる（例えば次元ノードが「領域」を指定する場合、階層の次のレベルは、領域「北」、「南」、「東」、「西」を示す）。
【００１３】
示した例では、データ図２００は、領域（北、南、東、西など）によって分類される。したがって、領域情報は、ルートノード２０４の１レベル下に表示される。例えば、ノード２０８は北領域に対応し、ノード２１０は南領域に対応し、ノード２１２は東領域に対応し、ノード２１４は西領域に対応する。一部の実施形態において、ユーザは、ノード（例えば東）を選択し、次いでその単一のノードを分類する。また、ユーザは、レベル全体、またはノードの組について同じことを行うことができる。例えば、示した実施形態では、データ図２００におけるすぐ下のレベルは、食料品タイプを表すノードから成る。例えば、ノード２１６は飲料タイプ、ノード２１８は乳製品タイプ、ノード２２０は精肉タイプ、ノード２２２は青果タイプを表す。これらの同じノ―ドは、それぞれの領域ごとに繰り返される。しかし、このタイプの対称が存在しているかどうかは、基となるデータセット、およびユーザが選択するパラメータに依存し得る。例えば、北地域で精肉が売られていない場合、データ図には北ノード下に精肉ノードがない場合もある。
【００１４】
一部の実施形態において、このファシリティは、データ図全体に影響を与える関数、およびデータ図の選択された部分のみに影響を与える関数の２つのおおまかなカテゴリの関数を提供し得る。データ図ファシリティがデータ図全体において実行することができる関数の例には、基となるデータで行われ得る任意の変更に基づいてデータ図２００に表示された情報をリフレッシュするＲＥＦＲＥＳＨ関数２２４がある。ほとんどの場合、この関数の実行では、データ図への任意のユーザ変更は変わらない。
【００１５】
ＨＩＤＥ  ＤＥＴＡＩＬ関数２２６は、ユーザがビューを簡略化することができるように、データ図において詳細を非表示にする。ＵＮＨＩＤＥ  ＤＥＴＡＩＬ関数２２８は、（例えばＨＩＤＥ  ＤＥＴＡＩＬ関数２２６の実行の結果として）、非表示にされているデータ図２００において詳細な情報を表示する。例えば、ユーザは、ＨＩＤＥ  ＤＥＴＡＩＬ関数２２６を選択して食料品タイプノードの表示を解除し、ＵＮＨＩＤＥ  ＤＥＴＡＩＬ関数２２８を選択して詳細を再表示することができる。
【００１６】
ＡＤＤ  ＭＥＡＳＵＲＥ関数２３０によって、ユーザは、データベースのメジャーを表示することができる。データベースのメジャーは、現在表示図２００には表示されていない。メジャーは、異なるタイプの集約（合計、平均、最小、最低など）を適用することができるスプレッドシートにおける数字（ドル、利益、時間など）から成る。例えば、ユーザは、生データリストの「売上高」メジャーを領域ノードに追加して、その領域の総売上高を表示したい場合がある。一部の実施形態において、メジャーを計算メジャーに結合することができ、これによってユーザは、様々な時間にわたってデータを閲覧したり、割合タイプのデータを計算したりすることができる。計算メジャー（時としてＯＬＡＰデータベースでは「計算メンバ」と呼ばれる）は、一般に式を多次元データに適用することを伴う。例えば、ユーザは、計算メジャーを、その領域からの総売上高の割合を表示する領域ノードに追加することができる。一部の実施形態では、本発明によってユーザは、いつでも図においてノードにメジャーを追加したり、ノードからメジャーを削除したりすることができる。一部の実施形態では、データ図ファシリティのユーザインターフェイスは、ユーザが次元（列など）とメジャーとの間の違いを理解する必要がないように構成されている。代わりに、ユーザは、ボタンをクリックして、メジャー情報および次元情報を含めて、必要な情報を取得することができる。
【００１７】
ドリルダウンウィンドウを介して、ユーザは、データ図（月、年、タイプ、販売員、売上高、単位、領域など）に表示したい列（次元など）を選択することができる。例えば、ユーザは、各領域の販売員を表示したい場合、ドリルダウンウィンドウから販売員の選択次元を提供することができる。ＣＯＮＦＩＧＵＲＥ  ＣＯＬＵＭＮ関数２３２は、選択されると、選択された次元のそれ以上のカスタマイズのためにファシリティを提供する。
【００１８】
一部の実施形態では、ＣＲＥＡＴＥ  ＰＩＶＯＴ  ＴＡＢＬＥ関数２３４によって、ユーザは、データ図２００に表示されているような情報に基づいてピボットテーブルを作成することができる。例えば、１回のクリックによって、ユーザは、同じ基となるデータの図以外の表示を表すピボットテーブルを自動的に生成することができる。別の例では、ＣＲＥＡＴＥ  ＰＩＶＯＴ  ＴＡＢＬＥ関数２３４は、Ｅｘｃｅｌスプレッドシートに情報を表示するオプションを含む。
【００１９】
図３は、その最初の形式からユーザによって変更された後のデータ図２００を示している。図示したように、ユーザは、例えば描画ツールなどを使用して星構成に似るように北領域ノード２０８を変更している。このように、ユーザは、例えば、北領域が他の領域に対して最も高い売上高を有することを強調することができる。ユーザは、一部の実施形態において、視覚上の効果のためにデータ図２００における形状のうちの１つまたは複数を変更することができるが、基となるデータ、およびその内部関係はそのまま変わらない。ユーザが（例えば描画ツールを使用して）データ図２００に加えることができる他の変更には、（例えばドラッグアンドドロップ技術を使用した）ノードの再配置、色の追加または変更、ラベルの追加または変更、動画効果の追加、フォントまたは様式の追加または変更などがある。
【００２０】
図示したように、図３に示した選択ボックス３０２を使用して、一部の実施形態では、ユーザは、特定の関数または操作を実行すべきデータ図２００のノードのうちの１つまたは複数を選択することができる。ユーザは、（図３に示したように）選択ボックス３０２を選択されたノード上にドラッグする、選択ノードをクリックしてそれらを強調表示するなど、様々な技術を介してこれらのノードを選択することができる。示した実施形態では、ユーザは、選択ボックス３０２を使用して、飲料ノード２１６、乳製品ノード２１８、精肉ノード２２０、青果ノード２２２を選択している。
【００２１】
図２を参照して上述したように、一部の実施形態では、ファシリティは、データ図全体に影響を与える関数、およびデータ図の選択された部分のみに影響を与える関数の２つのおおまかなカテゴリの関数を提供し得る。データ図ファシリティがデータ図の選択された部分に対して行うことができるアクションの一部には、ＳＯＲＴ  ＰＲＥＳＥＮＴＥＤ  ＤＡＴＡ関数３０４、ＭＥＲＧＥ関数３０６、ＵＮＭＥＲＧＥ関数３０８、ＣＯＬＬＡＰＳＥ関数３１０、およびＤＲＩＬＬ  ＤＩＭＥＮＳＩＯＮ関数３１２などがある。例えば、データ図には第１の領域および第２の領域の食料品タイプ情報が表示されているが、ユーザは、第２の領域の食料品タイプ情報のみを表示したい場合、ユーザは、第１の領域に対応するノードを選択し、次いでＣＯＬＬＡＰＳＥ関数３１０を選択することができる。
【００２２】
データ図ファシリティは、ユーザがデータ図２００における１つまたは複数のノードをコピーして、データ図２００の新しいインスタンスを作成することができるツールを提供することもできる。このように、ユーザは、異なる多くの方法で同じデータ図を容易に操作することができる。一部の実施形態では、図の新しいインスタンスは、元のインスタンスと同じビューまたはウィンドウに表示することも、または個別のビューまたはウィンドウに表示することもできる。
【００２３】
ＤＲＩＬＬ  ＤＩＭＥＮＳＩＯＮ関数３１２に従って、データ図ファシリティは、ユーザがデータ図で多次元データベースの次元をどのように提示するかを操作することができるようにする。次元は、一般に、データテーブルの列および／または行に使用されるカテゴリを含む。次元の例は、月、年、タイプ、販売員、領域、製品、時間、店、顧客の年齢、顧客の収入、従業員などを含む。一部の場合、次元はレベル（またはサブカテゴリ）を有する。例えば、時間の次元は、年レベル、月レベル、日レベル、時間レベル、分レベル、秒レベルを有し得る。次元のレベルによってユーザは、その次元を基準にしてドリルダウンすることができる。例えば、ユーザは、特定の月で売上高がより高いことに気づいた場合、その月の特定の部分において売上高が高かったかどうかを確かめるために、週レベルまたは日レベルまでドリルダウンしたい場合がある。同様に、ユーザは、データパターンがより広いスケールで有効であるかどうかを確認するために、より高いレベルにドリルアップしたい場合がある。例えば、ドリルアップするには、ユーザは、元々ドリルしたレベルを週から年に変更することができる。多くの場合、次元のレベルは、階層に編成することができる。
【００２４】
図４は、図３のＤＲＩＬＬ  ＤＩＭＥＮＳＩＯＮ関数３１２がノード３０２の選択に適用された結果を示している。この場合の選択されたノードは、飲料ノード２１６、乳製品ノード２１８、精肉ノード２２０、および青果ノード２２２を含む。一部の実施形態では、データ図ファシリティは、ユーザが所望の次元およびレベルを選択することができるダイアログボックスまたは他の入力ツール（図示せず）をユーザに提供する。
【００２５】
ＤＲＩＬＬ  ＤＩＭＥＮＳＩＯＮ関数３１２が選択されたノード（２１６、２１８、２２０、２２２）に適用されることがユーザによって指定された場合、結果として、選択されたノードに関連付けられている次元の次のレベルが表示される。例えば、例示の実施形態では、データ図２００は、それぞれの食料品タイプのカテゴリごとの各領域における月ごとの売上高を示すノードを示している。例えば、Ｄａｖｉｓという名前の販売員は、ノード４０２で表されるように、１月に５，６１１単位の乳製品を販売している。同様に、Ｊｏｎｅｓという名前の販売員は、ノード４０４で示されるように、２月に精肉を７４４単位販売している。Ｓｍｉｔｈという名前の販売員は、ノード４０６で示されるように、１月に２，８６１単位の青果を販売し、Ｂｕｔｔｅｒｗｏｒｔｈという名前の販売員は、ノード４０８で示されるように、２月に１，４５０単位の青果を販売している。
【００２６】
一部の実施形態では、単一のデータ図について複数のドリルダウンインスタンスが作成され、各インスタンスは、別々に維持され、更新することができる。
【００２７】
ＩＩＩ．データ構造  
図５は、データ図ファシリティの実施に使用できる、基となるデータ構造の集まりを示す図である。例示のために、データ構造を、図２のデータ図２００を生成するように構成されている状態で示す。しかし、本発明は、異なるデータ構造、または異なる組み合わせで同じデータ構造を使用して実施することができることを当業者であれば理解されよう。
【００２８】
示された実施形態のデータ図を生成するために使用されるデータ構造は、形状オブジェクト５０２、分類形状オブジェクト（ｂｒｅａｋｄｏｗｎ  ｓｈａｐｅ  ｏｂｊｅｃｔ）（５０４および５１４）、レコードセットオブジェクト（５０６および５１６）、情報形状オブジェクト５１０を含み得る。
【００２９】
形状オブジェクト５０２は、データ図が表示するノードを実施するために使用することができる。例えば、形状オブジェクト（５０２、５０３、５０５、５０７、５０９、５１１）は、図２のデータ図のルートノード、領域ノード（北、南、東、西など）、および食料品タイプノード（飲料、乳製品、精肉、青果）を表示するために使用される。形状オブジェクト（５０２、５０３、５０５、５０７、５０９、および５１１）はそれぞれ、形状がルート形状であるかどうかについてのブール値、データ図情報形状５１０への参照（後述）、形状が子を有するかどうかを表すブール値、形状が子を有している場合、分類形状への参照、形状が同じ分類レベルにおける形状の集約であるかどうかを示すブール値、形状がマージ形状（形状がデータ図において非表示であることを示す）の一部であるかどうかを示すブール値、および（形状がマージの一部である場合）マージ形状への参照を含み得る。
【００３０】
形状オブジェクト（５０２、５０３、５０５、５０７、５０９、５１１）は、データ図においてノードとして実装されているときに形状が表示する情報（特定の組の次元、メジャー、関係情報など）への参照も含み得る。例えば、各形状は、レコードセットオブジェクト（５０６または５１６）への参照またはポインタを含み得る。レコードセットオブジェクト（５０６または５１６）は、行および列の情報など、基となるデータソース５０８からの１組のデータを含み得る。一部の実施形態では、レコードセットオブジェクト（５０６または５１６）が含むデータの組は、対応する分類形状オブジェクト（５０４または５１４）によって実行されるクエリに基づき得る。一部の実施形態では、レコードセットオブジェクト（５０６または５１６）の各行は、データ図における１つの形状オブジェクト（５０２、５０３、５０５、５０７、５０９、または５１１）に関し得る。レコードセットオブジェクト（５０６または５１６）は、容易にリフレッシュすることができ、そのデータへのアクセスを可能にする１組の方法を含むので、データソース５０８からの選択データを操作する柔軟な方法を提供することができる。しかし、他の技術を使用して本発明を実施することができる。
【００３１】
上述したように、分類形状オブジェクト（５０４および５１４）は、レコードセットオブジェクト（５０６および５１６）を生成する旨のクエリを提供することができる。一般に、各分類形状オブジェクト（５０４および５１４）は、データ図におけるある分類（領域ごとの売上高、製品タイプごとの売上高など）についての情報を提供する。したがって、データ図は、（ルートに加えて）データ図におけるレベルごとに１つの分類形状オブジェクト（５０４または５１４）を有し得る。例えば、図２のデータ図におけるルートノード２０４に対応する分類形状オブジェクト５０４は、階層におけるすぐ下のレベルが何であるか（領域など）の表示を提供し得る。分類形状オブジェクト５０４に対応するレコードセットオブジェクト５０６におけるクエリ結果を実行した後、分類形状オブジェクト５０４は、対応するレコードセットオブジェクト５０６へのポインタまたは参照を含み得る。一般に、分類形状オブジェクト（５０４および５１４）は、データ図自体には形状またはノードとして表示されない、または可視ではないが、分類ノードが表示する分類方式の表示を表示することができる。
【００３２】
情報形状オブジェクト５１０は、全体としてデータ図についての情報を保持するために使用することができる。この情報は、例えば、データ図のレイアウトについての情報、およびデータ図のデータソースについての情報を含み得る。さらに、データ図情報形状オブジェクト５１０におけるデータのタイプは、データ図５０２のルート形状を識別する形状参照、データ図のインスタンスインデックス５１２、およびコピー／貼り付けアクションを介して新しいデータ図を作成するために使用することができる接続情報（図示せず）を含み得る。インスタンスインデックス５１２は、データ図の個別のインスタンスを容易に表示できるようにすることができ、したがってユーザは、複数のインスタンスを個別に操作することができる。したがって、インスタンスインデックス５１２は、１つまたは複数のデータ図インスタンスへの参照またはポインタを含み得る。
【００３３】
ＩＶ．プロセスフロー  
図６および図７は、データ図ファシリティのプロセスを示す代表的なフロー図である。これらのフロー図は、すべての機能またはデータの交換を示しているのではなく、代わりに、システム下で交換されたコマンドおよびデータを理解できるようにする。一部の機能またはコマンドおよびデータの交換は、反復し、変更し、省略し、補足することができ、図示していない他の態様を容易に実施することができることを当業者は理解されよう。
【００３４】
図６は、本発明の一実施形態における多次元データに基づいてデータ図を作成するルーチン６００の一例を示すフロー図である。ブロック６０１で、ルーチン６００は、新しいデータ図を作成する旨の要求を受信する。要求は、データソースの指定、データ図の一般の内容およびフォーマットに関連する情報など、ユーザによって提供された情報を含み得る。ブロック６０２で、ルーチン６００は、関連の描画アプリケーションでテンプレートを開き、提供された情報に従って初期設定を適用する。例えば、テンプレートは、データ図をグラフィカルに表示し、操作することができるビューを提供し、特にデータ図を操作するように構成された１組のステンシル、マクロ、およびページ設定を提供することができる。
【００３５】
ブロック６０３で、ルーチン６００は、ユーザの指定に従って新しいデータ図のデータソースを設定する。ブロック６０４で、ルーチン６００は、データソースに対して実行するサマリクエリを生成する。一部の実施形態では、サマリクエリは、少なくとも一部分、データソースによって提供されるメタデータに基づき得る。
【００３６】
ブロック６０５で、ルーチン６００は、データ図を作成するための関数を呼び出し、サマリクエリおよびデータソースをパラメータとして渡す。データ図の作成関数は、一連のステップを行うことによって図を作成することができる。例えば、データ図の作成関数は、最初に、情報形状オブジェクト、タイトル形状オブジェクト、およびデータ図インスタンスオブジェクトをインスタンス化することができる。次いでデータ図の作成関数は、指定されたデータソースに対するクエリを行うことによってデータ図の１つまたは複数のデータの組を指定することができる。データセットが指定されると、データ図の作成関数は、データセットにおける行にそれぞれリンクされている１つまたは複数の子形状オブジェクトを生成することができる。
【００３７】
ブロック６０６で、ルーチン６００は、データ図を表示する。例えば、ルーチン６００は、このタスクを実行するレイアウト関数を呼び出すことができる。レイアウト関数は、Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｉｏなどの描画プログラムに関連付けることができる。デフォルトのメジャーを含む基本的なデータ図が作成されると、ユーザは、例えば図２から図４に示すように、データ図を変更するオプションを有する。
【００３８】
図７は、現在のデータ図において実行される次元のドリルルーチン７００の一例を示すフロー図である。ブロック７０１で、ルーチン７００は、選択される１組のノードのドリルダウンの要求を受信する。ブロック７０２で、ルーチン７００は、次ノードの分類のクエリを策定する。決定ブロック７０３で、ルーチン７００は、分類すべきノードがさらにあるかどうかをチェックする。分類すべきノードがさらにある場合、ルーチン７００は、ブロック７０２にループバックして、次ノードの分類のクエリを策定する。しかし、分類すべきノードがそれ以上ない場合、ルーチン７００は、ブロック７０４に進み、ルーチン７００は、データソースをリフレッシュする。一部の実施形態では、データソースのリフレッシュによって、全ドリルダウンのすべてのクエリを呼び出すことができる。
【００３９】
リフレッシュの後、実行された分類に基づいて新しい形状を作成することができる。一部の実施形態において、これは、データ図を調整することによって実行される。したがって、ブロック７０５で、ルーチン７００は、次の分類を調整することができる。これは、ブロック７０２で策定されるクエリの実行に起因するレコードセットの行ごとに形状を作成するステップを伴い得る。決定ブロック７０６で、ルーチン７００は、調整すべき分類がさらにあるかどうかを決定する。決定ブロック７０６で、調整すべき分類がさらにある場合、ルーチン７００は、７０５にループバックして、次の分類の調整を実行する。しかし、決定ブロック７０６で、調整すべき分類がそれ以上ない場合、ルーチン７００は、次いでブロック７０７に進み、出力データ図を表示する。例えば、これは、ユーザによって前に配列されたように画面上に図を描くレイアウト関数を呼び出すことを伴い得る。
【００４０】
Ｖ．代表的なシステム  
図８および次の説明は、本発明の実施に適した環境の概略説明を提供する。必須ではないが、本発明の態様は、汎用コンピュータ（サーバコンピュータ、無線装置、または、パーソナル／ラップトップコンピュータなど）によって実行されるルーチンなど、命令を実行するコンピュータシステムの一般的な文脈で説明する。本発明は、インターネット装置、ハンドヘルド装置（携帯端末（ＰＤＡ）を含む）、装着型コンピュータ、あらゆる種類のセル方式電話または携帯電話、組み込み型コンピュータ（車両に結合されるものを含む）、マルチプロセッサシステム、マイクロプロセッサベース、またはプログラム可能家庭用電化製品、セットトップボックス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含めて、他の通信、データ処理、またはコンピュータシステム構成で実施することができることを当業者は理解されよう。
【００４１】
本発明の態様は、本明細書で詳しく説明したコンピュータ実行可能命令のうちの１つまたは複数を実行するために特別にプログラムされ、構成され、または構築された専用コンピュータまたはデータプロセッサに組み込むことができる。また、本発明の態様は、タスクまたはモジュールが通信ネットワークによってリンクされているリモート処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールを、ローカルおよびリモートのメモリ記憶装置に置くことができる。
【００４２】
本発明の態様は、半導体メモリ、ナノテクノロジメモリ、有機または光メモリ、または他のポータブルデータ記憶媒体におけるマクロコードとして、磁気的または光学的に読み取り可能なコンピュータディスクを含むコンピュータ可読媒体に格納または分散することができる。実際に、本発明の態様に基づくコンピュータ実施命令、デ―タ構造、画面表示、および他のデータは、インターネットまたは他のネットワーク（無線ネットワークを含む）を介して、伝搬媒体（電磁波、音波など）上の伝搬信号で、ある時間にわたって分散する、または任意のアナログまたはデジタルネットワーク（パケット交換、回線交換、または、他の方式）を介して提供することができる。
【００４３】
一部の実施形態では、描画アプリケーションの一部として実装されたデータ図ファシリティは、テンプレート、専用形状を含むステンシル、機能を実施するコードを含む描画アプリケーションアドオンを含む。しかし、同じ基礎のアーキテクチャは他の方法で実装できることを当業者は理解されよう。例えば、描画アプリケーション自体の内部に実装することができる。一部の実施形態では、本発明によって、ユーザは、ＯＬＡＰキューブＥｘｃｅｌスプレッドシートまたはデータベースに接続することができ、インタラクティブにそのデータにドリルダウンして図を生成することができる。ユーザは、ユーザの選好に従って図を構成することができる。図の操作は、ピボットテーブルを使用して達成することができることに似ている。
【００４４】
図８は、データ図８０２ファシリティを実施できる代表的なコンピュータシステム８００を示している。コンピュータシステム８００は、メモリ８０４、ＣＰＵ８０６、および１つまたは複数のＩＯ装置８０８（キーボード、スピーカ、表示画面など）を含み得る。データ図ファシリティ８０２は、図２から図７を参照して説明したように、データ図を作成するためにデータストア８１０からデータを引き出すことができる。データストア８１０は、（図示したように）コンピュータシステム８００の外部にあってもよい。あるいは、データストア８１０は、コンピュータシステム８００内に含まれていてもよい。データ図ファシリティ８０２は、ＵＩレイヤ８１２、自動レイヤ８１４、およびエンジン構成要素８１６を含み得る。データ図インスタンスマネージャ８１８は、エンジン構成要素８１６と対話してデータ図インスタンスを管理し、データ図インスタンスに関連するグローバルデータを保持する。例えば、データインスタンスマネージャ８１８によってユーザは、同じデータ図の複数のインスタンスを作成し、次いで、各インスタンスを別々に変更することができる。
【００４５】
データ図マネージャ構成要素８２０は、データ図に対するアクションを作成し、実行するアクションハンドラを含む。一般に、データ図マネージャ８２０は、データ図インスタンス、およびデータ図インスタンス内の形状を管理する。さらに、データ図のインスタンスの永続データを保持することができる。データ図マネージャ８２０は、データ図内の列の永続データを保持する列データマネージャ８２２の１つまたは複数のインスタンスを含み、したがって図４および図７を参照して示し、説明したように、ドリルダウンなどのアクションが可能になる。
【００４６】
データ図インスタンスマネージャ８１８に関連付けられている選択マネージャ８２４は、ユーザの選択を観察し、ドリルダウンアクションが現在の選択に有効であることを決定する。一部の実施形態では、これによって、無効なアクションを使用不可にする（例えばユーザインターフェイスにおいてボタンをグレイアウトするなど）ことで、ユーザへのフィードバックの提供が容易になる。
【００４７】
結言  
文脈が明らかに要求している場合を除いて、説明および特許請求の範囲を通じて、「含む」、「含んでいる」などの単語は、排他的または網羅的な意味に対して包括の意味、すなわち「〜を含むがそれだけに限定されない」という意味に解釈されるものとする。さらに、本明細書で使用されている場合、「本明細書において」、「上記で」、「下記で」、および類似の趣旨の単語は、全体として本明細書を指すものであり、本明細書の任意の特定の部分ではないものとする。特許請求の範囲が２つ以上の項目のリストを参照して「または」という単語を使用している場合、この単語は、リスト内の項目のうちのいずれか、リスト内のすべての項目、およびリスト内の項目の任意の組み合わせの解釈のすべてをカバーする。「データ」という用語は、本明細書では、その集合的な意味で使用され、１つまたは複数のデータの組を意味し得る。
【００４８】
本発明の実施形態の上記の詳細な説明は、網羅的なものではなく、または本発明を上記に開示された正確な形態に限定することを意図するものではない。本発明の特定の実施形態およびその例は、例示の目的で上述されているが、本発明の意図内で様々な同等の変更が可能であることを当業者であれば理解されよう。例えば、プロセスまたはブロックは所与の順序で提示されているが、代替の実施形態は、ステップを有するルーチンを異なる順序で実行する、またはブロックを有するシステムを異なる順序で使用することができ、また一部のプロセスまたはブロックを削除する、移動させる、追加する、分割する、組み合わせる、かつ／または変更することができる。これらのプロセスまたはブロックのそれぞれは、異なる様々な方法で実施することができる。また、プロセスまたはブロックは、時として連続して実行されるものとして示されているが、これらのプロセスまたはブロックは、代わりに、並列して行う、または異なるときに行うことができる。状況が許す場合、単数または複数を使用した上記の発明を実施するための最良の形態での単語は、状況が許す場合、それぞれ複数または単数も含み得る。
【００４９】
本明細書で提供される本発明の教示は、必ずしも本明細書で記載したシステムではなく、他のシステムに適用することができる。上述した様々な実施形態の要素および動作を結合して、さらに実施形態を提供することができる。
【００５０】
上記の発明を実施するための最良の形態に鑑みて、これらおよび他の変更を本発明に加えることができる。上記の説明は、本発明の一部の実施形態を詳述し、企図される最適な様式を記述するが、上記がいかに詳しくても、本発明は多くの方法で実施することができる。上述したように、本発明のいくつかの特徴または態様を説明するときに使用される特定の用語は、その用語が関連付けられている任意の特定の特徴、機能、または本発明の態様にその用語を制限されると本明細書で再定義されていることを含意するものととられないものとする。一般に、上記の発明を実施するための最良の形態セクションが明示的にこうした用語を定義する場合を除いて、頭記の特許請求の範囲で使用される用語は、本明細書に開示されている特定の実施形態に本発明を限定するよう解釈されないものとする。したがって、本発明の実際の範囲は、開示した実施形態だけではなく、特許請求の範囲に基づいて本発明を実施し、または実装するすべての同等の方法を含む。
【００５１】
本発明の一部の態様は、上記ではいくつかの請求項の形で提示されているが、発明者は、任意の数の請求項の形で本発明の様々な態様を考えている。例えば、コンピュータ可読媒体に組み込まれるものとして本発明の態様を１つだけ挙げているが、他の態様を同じようにコンピュータ可読媒体に組み込むことができる。したがって、発明者は、本明細書を提出した後、本発明の他の態様のこうした追加の請求項の形を追跡するために、追加の請求項を追加する権利を保持する。
【図面の簡単な説明】
【００５２】
【図１】一実施形態におけるデータ図ファシリティの態様によって使用されるデータの一例を示すテーブル図である。
【図２】一実施形態におけるデータ図ファシリティの態様によって生成されるサンプルのデータ図を示す図である。
【図３】一実施形態におけるデータ図ファシリティのユーザインターフェイスの態様を使用してその初期形式から変更された後の図２のデータ図を示す図である。
【図４】一実施形態における次元のドリル関数が適用された後の図３のデータ図の態様を示す図である。
【図５】一実施形態におけるデータ図ファシリティの実施に使用できる基となるデータ構造の集まりを示す図である。
【図６】一実施形態における多次元データに基づいてデータ図を作成するルーチンの一例を示すフロー図である。
【図７】一実施形態における現在のデータ図に対して実行される次元のドリルルーチンの一例を示すフロー図である。
【図８】データ図ファシリティの態様を実施することができる適した環境の一例を示すブロック図である。
【符号の説明】
【００５３】
２０２  データ図情報
２０４  ルート
２０６  領域
２０８  北
２１０  南
２１２  東
２１４  西
２１６  飲料
２１８  乳製品
２２０  精肉
２２２  青果
５０２  形状（親）（タイトル＝ルート）
５０３  形状（タイトル＝東）
５０４  分類形状
５０５  形状（飲料）
５０６  レコードセット
５０７  形状（乳製品）
５０８  データソース
５０９  形状（精肉）
５１０  情報形状
５１１  形状（青果）
５１２  インスタンスインデックス
５１４  分類形状
５１６  レコードセット
８００  コンピュータシステム
８０２  図式データ管理アプリケーション
８０４  メモリ
８０８  入力／出力
８１０  データストア
８１２  ＵＩレイヤ
８１４  自動レイヤ
８１６  エンジン
８１８  データ図インスタンスマネージャ
８２０  データ図マネージャ
８２２  列データマネージャ
８２４  選択マネージャ
【図１】
2006209746.tif 000003
【図２】
2006209746.tif 000004
【図３】
2006209746.tif 000005
【図４】
2006209746.tif 000006
【図５】
2006209746.tif 000007
【図６】
2006209746.tif 000008
【図７】
2006209746.tif 000009
【図８】
2006209746.tif 000010