(57)【要約】スプレッドシートにおいてレポートを作成するシステムは、中央処理装置と、命令をエンコードするメモリとを含み、命令は、中央処理装置により実行されたときに、中央処理装置に、スプレッドシートと関連するテーブルを識別するようにプログラムされるデータ・ソース・モジュールと、テーブルを分析してアイテム間の関係を識別するようにプログラムされるリレーションシップ・モジュールと、テーブル間の関係を表示するようにプログラムされるディスプレイ・モジュールとを作成させる。
2014535095.tif 000002
【特許請求の範囲】
【請求項１】
スプレッドシートにおいてレポートを作成するシステムであって、
中央処理装置と、
命令をエンコードするメモリと
を含み、前記命令は、前記中央処理装置により実行されたときに、前記中央処理装置に、
前記スプレッドシートと関連するテーブルを識別するようにプログラムされるデータ・ソース・モジュールと、
前記テーブルを分析してアイテム間の関係を識別するようにプログラムされるリレーションシップ・モジュールと、
前記テーブル間の関係を表示するようにプログラムされるディスプレイ・モジュールと
を作成させる、
システム。
【請求項２】
請求項１に記載のシステムであって、前記リレーションシップ・モジュールは、テーブルが前記レポートへ付加されたときに、前記関係を分析して識別する、システム。
【請求項３】
請求項１に記載のシステムであって、前記レポートはデータ・サマリー・テーブルであり、前記テーブルのそれぞれは、前記データ・サマリー・テーブルへ付加される１以上のディメンションを含む、システム。
【請求項４】
請求項１に記載のシステムであって、前記テーブルのうちの１つは、前記スプレッドシートにおいて定められるデータ領域である、システム。
【請求項５】
スプレッドシートにおけるデータ・アイテム間の関係を識別する方法であって、
計算デバイスにより、前記スプレッドシートと関連するテーブルを識別するステップと、
前記スプレッドシートのデータ・サマリー・テーブルへ、前記テーブルのうちの１つをユーザーが付加することを可能にするステップと、
付加された前記テーブルを分析して、付加された前記テーブルとデータ・サマリー・テーブル内の他のテーブルとの関係を決定するステップと、
付加された前記テーブルが前記データ・サマリー・テーブル内の前記他のテーブルと関連していない場合に、付加された前記テーブルと前記データ・サマリー・テーブル内の前記他のテーブルとの関係を自動的に識別するステップと
を含む方法。
【請求項６】
請求項５に記載の方法であって、付加された前記テーブルと前記データ・サマリー・テーブル内の前記他のテーブルとの関係を表示するステップを更に含む方法。
【請求項７】
請求項５に記載の方法であって、付加された前記テーブルが前記データ・サマリー・テーブルへ付加されるときに関係を定めることが必要であることをユーザーに通知するステップを更に含む方法。
【請求項８】
請求項５に記載の方法であって、関係を自動的に識別するためにヒューリスティックを用いるステップを更に含む方法。
【請求項９】
請求項５に記載の方法であって、関係を、前記スプレッドシートにおける前記テーブルの使用の間中、持続するステップを更に含む方法。
【請求項１０】
スプレッドシートのデータ・サマリー・テーブルのディメンション間の関係を識別する方法であって、
前記スプレッドシートの前記データ・サマリー・テーブルへ１つのテーブルをユーザーが付加することを可能にするステップであって、前記テーブルは前記スプレッドシートにおいて定められるデータ領域を含む、ステップと、
前記テーブルと関連するコラムを分析して、前記ディメンションと前記データ・サマリー・テーブル内の他のテーブルとの関係を決定するステップと、
付加された前記テーブルが前記データ・サマリー・テーブル内の他のテーブルと関連しない場合に、
付加された前記テーブルが前記データ・サマリー・テーブルへ付加されるときに関係を定める必要があることをユーザーに通知するステップ、および
ヒューリスティックを用いて、前記テーブルと前記データ・サマリー・テーブル内の前記他のテーブルとの関係を自動的に識別するステップと
付加された前記テーブルと前記データ・サマリー・テーブル内の前記他のテーブルとの関係を表示するステップと
を含む方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  スプレッドシートのデータ・サマリー・テーブルは、大量のデータを分析するために使用することができる。データ・サマリー・テーブルは、データベース・プログラムにより供給されるデータ又はスプレッドシートのデータ・リストにあるデータを、表示および要約するための有効な手段を提供する。ユーザーは、データ・サマリー・テーブルのフィルター領域、行、コラム、またはデータ領域内に含めるためのデータのフィールドを選択することができ、また、選択されたデータ・フィールドに関して表示されるように、合計、分散、カウント、および標準偏差などのような集計関数（aggregation function）を選択することができる。スプレッドシート・プログラム内からのクエリの対象とされ得るデータベース内のデータ、またはリストを含むスプレッドシート・データは、データ・サマリー・テーブルにおいて分析することができる。
【０００２】
[0002]  かなり多くのデータを含むスプレッドシートでは、ユーザーが、そのスプレッドシート上にデータ・サマリー・テーブルとしてレポートへ含ませるべきである望まれるデータを選択することは困難であり得る。例えば、１以上の大きくて体系的ではないスプレッドシートにわたって提供されるデータのボリュームはユーザーを圧倒し、それにより、特定のレポート・シナリオと関連するデータを捜すことを困難にする。
【発明の概要】
【０００３】
[0003]  １つの構成では、スプレッドシートにおいてレポートを作成するシステムは、中央処理装置と、命令をエンコードするメモリとを含み、命令は、中央処理装置により実行されたときに、中央処理装置に、
スプレッドシートと関連するテーブルを識別するようにプログラムされるデータ・ソース・モジュールと、
テーブルを分析してアイテム間の関係を識別するようにプログラムされるリレーションシップ・モジュールと、
テーブル間の関係を表示するようにプログラムされるディスプレイ・モジュールと
を作成させる。
【０００４】
[0004]  別の構成では、スプレッドシートのデータ・アイテム間の関係を識別する方法は、
計算デバイスにより、スプレッドシートと関連するテーブルを識別するステップと、
スプレッドシートのデータ・サマリー・テーブルへ、テーブルのうちの１つをユーザーが付加することを可能にするステップと、
付加されたテーブルを分析して、付加されたテーブルとデータ・サマリー・テーブル内の他のテーブルとの関係を決定するステップと、
付加されたテーブルがデータ・サマリー・テーブル内の他のテーブルと関係しない場合に、付加されたテーブルとデータ・サマリー・テーブル内の他のテーブルとの関係を自動的に識別するステップと
を含む。
【０００５】
[0005]  更に別の構成では、スプレッドシートのデータ・サマリー・テーブルのディメンション（dimension）間の関係を識別する方法は、
スプレッドシートのデータ・サマリー・テーブルへ１つのテーブルをユーザーが付加することを可能にするステップであって、テーブルはスプレッドシートにおいて定められるデータ領域を含む、ステップと、
テーブルと関連するコラムを分析して、ディメンションとデータ・サマリー・テーブル内の他のテーブルとの関係を決定するステップと、
付加されたテーブルがデータ・サマリー・テーブル内の他のテーブルと関係しない場合に、
付加されたテーブルがデータ・サマリー・テーブルへ付加されるときに、関係を定める必要があることをユーザーに通知するステップ、および
ヒューリスティックを用いて、テーブルとデータ・サマリー・テーブル内の他のテーブルとの関係を自動的に識別するステップと
付加されたテーブルとデータ・サマリー・テーブル内の他のテーブルとの関係を表示するステップと
を含む。
【０００６】
[0006]  この概要は、以下の詳細な説明で更に説明する概念のうちの選択したものを、簡素化した形で紹介するものである。この概要は、特許請求の範囲に記載の主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載の主題事項の範囲を決定する際の支援として用いることを意図していない。
【図面の簡単な説明】
【０００７】
【図１】図１は、スプレッドシート・プログラムにおいてレポートを生成するための例示的なシステムを示す。
【図２】図２は、スプレッドシートにおける例示的なピボット・テーブルを示す。
【図３】図３は、スプレッドシートにおけるピボット・テーブルを生成するために使用する例示的なデータ領域を示す。
【図４】図４は、図１のはシステムのクライアント計算デバイスの例示的なモジュールを示す。
【図５】図５は、レポートにおける２以上のテーブル間での関係を識別するための例示的な方法を示す。
【図６】図６は、レポートにおける２以上のテーブル間での関係を手動で識別するための例示的なウィザードを示す。
【図７】図７は、外部データ・ストアからのデータとレポートにおける１以上のテーブルとの間での関係を識別するためのインターフェースを示す。
【図８】図８は、図１に示す計算デバイスの例示的なコンポーネントを示す。
【発明を実施するための形態】
【０００８】
[0015]  本出願は、スプレッドシート・アプリケーションにおけるデータ領域間での関係を自動的に検出して提案を行うためのシステムおよび方法に関する。ここで説明する例では、データ領域間での関係は、識別されてユーザーへ呈示され、ユーザーがデータを１つの使用可能なレポートへ容易に組み合わせることを可能にする。
【０００９】
[0016]  図１は、例であるシステム１００を示し、システム１００は、スプレッドシート・アプリケーションにおいて提供されるデータに基づいて１以上のレポートの生成をサポートする。システム１００は、クライアント・コンピューター１０２とサーバー・コンピューター１０６とを含む。クライアント・コンピューター１０２は、ネットワークを介してサーバー・コンピューター１０６と接続され、ネットワークは、典型的には、コーポレート・イントラネットやインターネットである。より多くの数または少ない数のクライアント・コンピューター、サーバー・コンピューター、または他の計算デバイスを用いることもできる。
【００１０】
[0017]  以下で更に説明するように、クライアント・コンピューター１０２は、サーバー・コンピューター１０６へ接続して、スプレッドシート・ファイルなどのようなデータを得ることができる。クライアント・コンピューター１０２は、クライアント・コンピューター１０２上でネイティブのスプレッドシート・アプリケーションを実行して、スプレッドシート・ファイルを操作することができる。別の例では、クライアント・コンピューター１０２は、サーバー・コンピューター１０６でホストされる１以上のアプリケーションを用いて、スプレッドシート・ファイルへアクセスして操作することができる。他の構成も可能である。
【００１１】
[0018]  ここで図２を参照すると、例であるプログラム２００が示されている。この例では、プログラムは、上記のコンピューター・システム１００などのようなコンピューター・システムで実行されるマイクロソフト（登録商標）のＥＸＣＥＬ（登録商標）スプレッドシート・ソフトウェア・プログラムである。プログラム２００は、例示のデータ・リストを含むスプレッドシートを含む。
【００１２】
[0019]  ユーザーは、スプレッドシート内のデータに基づいて１以上のレポートを生成することができる。ここで説明する幾つかの例では、レポートはデータ・サマリー・テーブルとすることができる。しかし、他の例では、レポートを、単に別の「標準の」テーブルとすることができる。例えば、ここで説明するシステムおよび方法は、ユーザーにより生成されるテーブルに対して、特定のコラムを、スプレッドシートにおける他のテーブルとの識別される関連に基づいて提案するために用いることができる。
【００１３】
[0020]  例えば、プログラム２００の例としてのユーザー・インターフェース３０２が示されている。ユーザー・インターフェース３０２は、初期データ・サマリー・テーブル３２０を含む（図２ではデータ・サマリー・テーブル３２０はブランクである）。データ・サマリー・テーブル３２０は、様々なソースからのデータから生成することができる。図２に示す１つの例では、データ・サマリー・テーブル３２０は、スプレッドシート・ファイル内で提供されるデータから、または１以上の外部データ・ストアから、生成することができる。
【００１４】
[0021]  プログラム２００のユーザー・インターフェース３０２はまた、例としてのタスク・ペイン４５０を含み、タスク・ペイン４５０は、データ・サマリー・テーブル３２０の生成および変更を行うために用いることができる。例えば、タスク・ペイン４５０は、スプレッドシート・ファイルと関連するデータからのデータ・フィールドのリストを含む。ユーザーは、データ・サマリー・テーブル３２０を生成するために、タスク・ペイン４５０からフィールドの選択および検出を行うことができる。
【００１５】
[0022]  タスク・ペイン４５０は、一般に、フィールド・ペイン４５２とレイアウト・ペイン４５４とを含む。フィールド・ペイン４５２は、スプレッドシートにおいて使用可能なデータ・フィールドのリストを含む。これらの例では、データ・フィールドはテーブルを含み、各テーブルは、レポートへ付加可能な１以上のコラムを含む。以下で説明するように、リストのデータ・フィールドがレイアウト・ペイン４５４へ付加されると、データ・フィールドと関連するチェック・ボックスにチェックが付される。
【００１６】
[0023]  レイアウト・ペイン４５４は複数のゾーンを含み、複数のゾーンは、タスク・ペイン４５０を用いて生成されるデータ・サマリー・テーブル３２０の態様を表す。例えば、レイアウト・ペイン４５４は、行ゾーン、コラム・ゾーン、値ゾーン、およびフィルター・ゾーンを含む。行ゾーンは、結果として得られるデータ・サマリー・テーブル３２０の行ラベルを定める。コラム・ゾーンは、データ・サマリー・テーブル３２０のコラム・ラベルを定める。値ゾーンは、データ・サマリー・テーブル３２０において要約されるデータ（例えば、集計、変化など）を識別する。フィルター・ゾーンは、他のゾーンの他のフィールドの全てへ適用されるフィルタリングの選択を可能にする。
【００１７】
[0024]  データ・サマリー・テーブル３２０の生成および変更を行うために、フィールド・ペイン４５２からの１以上のデータ・フィールドが、レイアウト・ペイン４５４の１以上のゾーンへ付加される。示される例では、ユーザーは、フィールド・ペイン４５２のリストから、データ・フィールドを、クリックし、レイアウト・ペイン４５４のゾーンの１つへとドラッグしてドロップし、フィールドをデータ・サマリー・テーブル３２０へ付加する。
【００１８】
[0025]  ここで図３を参照すると、データ・サマリー・テーブル３２０などのようなレポートを生成するために用いるデータは、複数のソースからのものとすることができる。データのソースは、スプレッドシート内である場合も、外部である場合もある。
【００１９】
[0026]  例えば、図３に示すスプレッドシート５００は、２個の内部データ領域５０２および５０４を含む。データ領域は、行およびコラムなどのような少なくとも２個のディメンションを有する定められたデータ・セットである。例えば、データ領域５０２は、ＥｍｐｌｏｙｅｅＩＤ（従業員ＩＤ）とＮａｍｅ（名前）とのコラムと、行１〜３とを有する。同様に、データ領域５０４は、ＥｍｐｌｏｙｅｅＩＤ（従業員ＩＤ）とＳａｌｅｓ  Ａｍｏｕｎｔ（売上高）とのコラムと、行１〜７とを有する。
【００２０】
[0027]  これらの例では、スプレッドシート内、例えば、スプレッドシート内の同じまたは異なるシートなどの複数の位置において、複数のデータ領域を含むことができる。以下に記載するように、データはまた、外部ソースから組み込むこともできる。
【００２１】
[0028]  この例では、プログラム２００は、データ領域５０２および５０４を分析し、領域間での関係を自動的に決定するように、プログラムされる。例えば、プログラムは、更に説明する様々なヒューリスティックを用いて、双方の領域におけるＥｍｐｌｏｙｅｅＩＤデータがコンパチブルであると判定する。
【００２２】
[0029]  それらの例では、関係は、データ値を突き合わせることに基づいての、２個のデータ領域（「テーブル」と呼ばれる場合もある）の間で作成されるリンクである。それらの関係は、１対１の関係および／または１対多数の関係を含むことができる。例えば、テーブルにおける１つの値は、ルックアップまたは関連するテーブルにおける複数の値に対応することがある。関係は、プログラムが同時に双方のテーブルのデータをルックアップして要約することを可能にする。
【００２３】
[0030]  この検出の後、プログラム２００は、２個のデータ領域５０２および５０４の間の関係を作成し、ユーザーがユーザー・インターフェースのフィールドを単に選択することによりレポートを容易に作成することを、可能にする。例えば、データ領域５０２および５０４と関連するデータ・フィールドは、ユーザー・インターフェースにおいてクラスター化することができ、それにより、ユーザーは、データ領域間での関係を容易に識別することができる。この目的のための例示のユーザー・インターフェースについての更なる詳細については、本願と同日に出願され、「Ａｕｔｏｍａｔｉｃ  Ｓｃｏｐｉｎｇ  Ｏｆ  Ｄａｔａ  Ｅｎｔｉｔｉｅｓ（データ・エンティティの自動スコーピング）」と題された米国特許出願第１３／２５２４１２号、代理人ドケット第３３３７８９．０２（１４９１７．１９２２ＵＳ０１）において見ることができる。この参照により、その出願の全体をここに組み込む。
【００２４】
[0031]  データ領域５０２および５０４の間での関係が検出された後に生成できるレポートの一例が、スプレッドシート５００のレポート５１０である。この例では、レポート５１０は、ピボット・テーブルなどのようなデータ・サマリー・テーブルであり、データ領域５０２および５０４からのデータを用いて生成される。レポート５１０を作成するために、ユーザーは、図２において説明した様式と同様の様式で、データ領域５０２および５０４と外部データ・ストア５０６とから、望まれるデータ・フィールドを選択する。
【００２５】
[0032]  スプレッドシート５００において提供されるデータ領域５０２および５０４に加えて、データは、外部データ・ストアからスプレッドシート５００へ組み込むこともできる。例えば、外部データ・ストア５０６が図３に示されている。このような外部データ・ストアの例は、ＯＬＡＰおよび非ＯＰＡＰのデータ・ソースを含む。この外部データ・ストア５０６からのデータは、スプレッドシート５００へ組み込まれる。更に説明するが、この外部データ・ストア５０６についての情報に基づいて、外部データ・ストア５０６のデータと、スプレッドシート５００内のデータ領域５０２および５０４との間の関係を識別することができる。
【００２６】
[0033]  幾つかの例では、データ領域および外部データ・ストアにおいて提供されるものでありユーザーが選択可能である使用可能なデータ・フィールドの数は、大量になる。そのようなシナリオでは、使用可能なデータ・フィールドを検討して、レポートへ含めるために望まれるフィールドを選択することが、ユーザーにとって困難になり得る。
【００２７】
[0034]  ここで図４を参照すると、クライアント・コンピューター１０２の論理モジュールが示されている。それらのモジュールは、データ・ソース・モジュール５２２、リレーションシップ・モジュール５２４、およびインターフェース・モジュール５２６を含む。これらの例では、モジュール５２２、５２４、５２６は、スプレッドシート・ファイル内のデータをユーザーが操作することを可能にするスプレッドシート・アプリケーションと関連して、実行される。クライアント・コンピューター１０２のモジュール５２２、５２４、５２６は、スプレッドシート内のデータ間での関係を識別するように機能し、それにより、ユーザーは、ユーザーがレポートを作成する際に選択したいであろう関連するフィールドを容易に識別することができる。
【００２８】
[0035]  データ・ソース・モジュール５２２は、スプレッドシート・ファイルなどのような特定のファイルと関連する全てのデータ・ソースを識別する。これは、スプレッドシート・ファイルの１以上のシートで定められる内部データ領域を含むことができる。これはまた、外部データ・ストアからのデータを含むことができる。そのような外部データ・ストアは、スプレッドシート内から参照されるデータ、例えば、スプレッドシート・ファイルへ組み込まれている外部データなどを、含むことができる。データ・ソース・モジュール５２２は、分析のために、全てのデータ・ソースをリレーションシップ・モジュール５２４へ提供する。
【００２９】
[0036]  リレーションシップ・モジュール５２４は、スプレッドシート内のデータ・ソースの何れのものが関連しているかを、それらが有る場合には、判定する。例えば、ユーザーが、ピボット・テーブルなどのようなレポートを作成している場合、リレーションシップ・モジュール５２４は、様々なヒューリスティックを用いて全てのデータ領域と、スプレッドシートへ組み込まれている外部データ・ストアとを分析して、それらの間での関係を決定する。
【００３０】
[0037]  例えば、プログラムは、ヒューリスティックを用いて、スプレッドシート・グリッド内のデータまたはスプレッドシート・アプリケーションへユーザーが組み込んだ外部データ・ソースからのデータの何れかのデータを、異なるデータ領域におけるその提案と関連するデータ・エンティティに基づいて検査する。次に、スプレッドシート・アプリケーションはそれらの関係の情報を格納し、ここで他のスプレッドシートの特徴はそれらの関係を自動的にレバレッジするようになり、複数の異なるデータ領域からのデータを含むレポートをユーザーが作成することを可能にする。
【００３１】
[0038]  アソシエーションを識別するために使用できるヒューリスティックの幾つかの例は、以下の
・コラム名のマッチング（例えば、類似のキャプションを持つコラム）、
・値のマッチング、例えば、主キー・テーブルにおける独特の値を持つ１つのコラムと、外部キー・テーブルにおける反復する値を持つコラムとがあるが、別個の値の組が主キー・コラムに存在する、
・データ・タイプのマッチング（例えば、日付や通貨のフィールド）、
・ファジー値のマッチング（例えば、「ＣＡ」は「Ｃａｌｉｆｏｒｎｉａ」と一致する）
・マッピング・テーブルを用いて、１つのテーブルにおいて、必要とされる識別子を作成し、それらの識別子を持つコラムを既に有する別のテーブルとの関係を作成する、
のうちの１以上のものを含む。
【００３２】
[0039]  例えば、図５を参照すると、１つのシナリオにおいて、ユーザーが、関連していないテーブルから、データ・サマリー・テーブルなどのようなレポートへデータ・フィールドを付加するとき、２以上のテーブル間での関係が作成される。
【００３３】
[0040]  この例では、方法５３０は、動作５３２において、ユーザーがフィールドをレポートへ付加するときに開始される。次に、動作５３４において、関係が必要か否かに関する判定が行われる。なぜなら、例えば、そのフィールドは、テーブルに既に含まれているフィールドとは関係していないからである。関係が不要な場合（即ち、そのフィールドが何らかの形で既に関係している場合）、そのフィールドは付加され、方法は終了する。
【００３４】
[0041]  しかし、関係が必要な場合、制御は動作５３６へ移り、ユーザーに対して、関係が無いであろうことを、通知する。そのような通知のための１つの例示の方法は、ユーザー・インターフェース内で情報バーを提供して、ユーザーに対して、関係が無いことの通知（例えば、「テーブル間での関係を作成する必要があり得る」）を行うことである。
【００３５】
[0042]  次に、動作５３８において、新たに付加されるフィールドに対してユーザーが関係を作成したいか否かに関しての判定が、行われる。関係を作成したくない場合、方法は終了し、次にユーザーがレポートを変更するときに、ユーザーに対して、関係を提供する必要に関して再びプロンプトを行うことができる。関係を作成したい場合、制御は動作５３９へ移る。動作５３９において、新たに付加されたフィールドと、レポートに既に含まれているフィールドとの間の関係が決定される。１つの例では、関係は、上記のヒューリスティックの１以上のものを用いて、自動的に決定することができる。別の例では、関係は、手動で定めることができる。
【００３６】
[0043]  例えば、ここで図６を参照すると、例示のリレーションシップ・ウィザード５４０が示されている。このウィザード５４０において、ユーザーは、様々なテーブルにおけるフィールド間での関係を手動で定めることができる。この例では、ＥｍｐｌｏｙｅｅＩＤ（従業員ＩＤ）というフィールドが、ＳａｌｅｓＴａｂｌｅ（販売テーブル）およびＥｍｐｌｏｙｅｅＴａｂｌｅ（従業員テーブル）というテーブルに対して関係付けされている。
【００３７】
[0044]  リレーションシップ・モジュール５２４により定められる関係は、プログラムにより自動的に作成されてもユーザーにより手動で作成されても、レポートの作成の間中、持続することができる。幾つかの例では、関係はまた、スプレッドシート内の他のレポートの生成を通して持続することができ、それにより、プログラムおよび／またはユーザーは、スプレッドシートのデータ・フィールドが使用されるたびに関係を再定義することを、必要とされなくなる。
【００３８】
[0045]  再び図４を参照すると、インターフェース・モジュール５２６は、スプレッドシートにおいてデータ領域および外部データ・ストアからの使用可能なデータ・フィールドを、レポートへ含めるために、ユーザーに呈示する。この例では、インターフェース・モジュール５２６は、インターフェースにおいてユーザーに対してデータソース間の関係を示す。それらの関係は、幾つかの様式で明白にすることができる。１つの例では、ユーザーがテーブルを選択するとき、インターフェースは、そのテーブルと、その選択されたテーブルに関連する他のテーブルとのみを、呈示することができる。別の例では、テーブルは、関係を識別するためにクラスター化することができる。
【００３９】
[0046]  上述のように、スプレッドシート内のテーブルからのデータ・フィールドの中での関係を定めることに加えて、プログラムは、外部データ・ストアなどのような外部ソースからのデータとの関係を定めることができる。このシナリオでは、リレーションシップ・モジュール５２４は、外部データ・ストアからのデータを分析し、そのデータと、スプレッドシートに含まれる他のデータとの関係を提供するように、プログラムされる。
【００４０】
[0047]  例えば、図７を参照すると、例示のデータ接続ウィザード５５０が示されている。この例では、データ接続ウィザード５５０は、ウィザードにおいて現在選択されているテーブル（１以上）と直接に関連するテーブルをユーザーが選択することを可能にする。この例では、ウィザード５５０において外部データ・ストア「ＡｄｖｅｎｔｕｒｅＷｏｒｋｓＤＷ２００８Ｒ２」が選択されており、ユーザーは、データベースと関連付けするために、スプレッドシート内の特定のテーブルを選択することができる（例えば、ＤｉｍＥｍｐｌｏｙｅｅが選択される）。この選択は、ウィザード５５０においてユーザーにより手動で行うことができ、また、上述のヒューリスティックを用いてプログラムにより自動的に行うことができる。他の例では、外部データ・ソースが、そのテーブル間での既に定められた関係を有する場合、それらの関係は、外部データ・ソースからデータと共にインポートすることができ、スプレッドシート・アプリケーションにおいて、そこで作られた他の関係と共に用いることができる。
【００４１】
[0048]  例えば、プログラムは、外部データ・ストアについてのスキーマ情報へアクセスすることができ、これは、プログラムがテーブル間の関係を確かめることを可能にする。このスキーマ（例えば、ＸＭＬファイルの形態）は、インポートされる外部データ・ストア内のフィールド、および他の外部データ・ストアの他のデータを、関連付けすることができる。プログラムは、ユーザーのために、この情報をレバレッジしてデータ・フィールドを自動的に関連付けする。
【００４２】
[0049]  図８を参照すると、クライアント・コンピューター１０２およびサーバー・コンピューター１０６の例示的なコンポーネントが示されている。例示的な実施形態では、クライアント・コンピューター１０２およびサーバー・コンピューター１０６は計算デバイスである。クライアント・コンピューター１０２およびサーバー・コンピューター１０６は、入力／出力デバイス、中央処理装置（「ＣＰＵ」）、データ・ストレージ・デバイス、およびネットワーク・デバイスを含むことができる。クライアント・コンピューター１０２はまた、モバイル計算デバイス、例えば、ラップトップ、タブレット、コンバーチブル、またはスマートフォンやセルラー電話などのような他の手持ち型デバイスなどとすることもできる。サーバー・コンピューター１０６はまた、サーバーのネットワークにおける１以上のサーバー・コンピューターとして組み込むことができる。そのようなシナリオでは、ネットワークは、クラウド計算プラットフォームを提供することができ、クラウド計算プラットフォームでは、１以上のアプリケーションおよびデータが、クラウド計算プラットフォームへ接続するクライアントに対して、ホストされる。また、サーバー・コンピューター１０６に関する以下の記載は、クライアント・コンピューター１０２のコンポーネントにも適用される。
【００４３】
[0050]  基本的構成では、サーバー・コンピューター１０６は、典型的に、少なくとも１つの処理装置６０２およびシステム・メモリ６０４を含む。計算デバイスの正確な構成およびタイプに応じて、システム・メモリ６０４は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュ・メモリなど）、またはこれら二種の何らかの組み合わせとすることができる。システム・メモリ６０４は、典型的には、サーバーの動作の制御に適したオペレーティング・システム６０６を含み、オペレーティング・システムは、例えば、ワシントン州レドモンドのマイクロソフト（登録商標）・コーポレーションからのマイクロソフト（登録商標）ＳｈａｒｅＰｏｉｎｔ（登録商標）Ｓｅｒｖｅｒ  ２０１０コラボレーション・サーバーなどである。システム・メモリ６０４はまた、１以上のソフトウェア・アプリケーション６０８を含むことができ、また、プログラム・データを含むことができる。
【００４４】
[0051]  サーバー・コンピューター１０６は、追加の構成または機能を有することができる。例えば、サーバー・コンピューター１０６は、コンピューター読取可能媒体も含むことができる。コンピューター読取可能媒体は、コンピューター読取可能ストレージ媒体と通信媒体との双方を含むことができる。
【００４５】
[0052]  コンピューター読取可能ストレージ媒体は、データ・ストレージ・デバイス（取り外し可能および／または取り外し不可能）などのような物理的媒体であり、磁気ディスク、光ディスク、テープなどを含む。そのような追加のストレージは、図８において、取り外し可能ストレージ６１０および取り外し不可能ストレージ６１２として示している。コンピューター読取可能ストレージ媒体は、揮発性および不揮発性、および取り外し可能および取り外し不可能である媒体を含むことができ、その媒体は、コンピュータ読取可能命令、データ構造、プログラム・モジュール、および他のデータなどのような情報を記憶するための任意の方法および技術で実現される。コンピュータ・ストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタル・バーサタイル・ディスク（ＤＶＤ）、または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、または望まれる情報を記憶するために使用でき且つサーバー・コンピューター１０６によりアクセスできる他の任意の媒体を含むが、これらには限定されない。これらのようなコンピューター読取可能ストレージ媒体の任意のものをサーバー・コンピューター１０６の一部とすることができる。サーバー・コンピューター１０６はまた、入力デバイス６１４（１以上）を含むことができ、入力デバイスは、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどである。ディスプレイ、スピーカー、プリンターなどのような出力デバイス（１以上）６１６も含むことができる。
【００４６】
[0053]  本開示の実施形態と矛盾無く、入力デバイス６１４（１以上）は、ユーザーの動きやジェスチャーを検出できる任意の運動検出デバイスを含むことができる。例えば、入力デバイス６１４（１以上）は、マイクロソフト（登録商標）・コーポレーションからの、複数のカメラおよび複数のマイクロフォンを含むＫｉｎｅｃｔ（登録商標）モーション・キャプチャー・デバイスを含むことができる。
【００４７】
[0054]  サーバー・コンピューター１０６はまた、通信接続６１８を含むことができ、通信接続６１８は、デバイスが、例えば、分散型の計算環境におけるネットワークなど、例えば、イントラネットやインターネットを介して、他の計算デバイス６２０と通信することを可能にする。通信接続６１８は、通信媒体の一例である。通信媒体は、典型的には、搬送波や他のトランスポート機構などのような変調されたデータ信号におけるコンピューター読取可能命令、データ構造、プログラム・モジュール、または他のデータにより実現することができ、任意の情報配送媒体を含む。「変調されたデータ信号」という用語は、信号内において情報をエンコードするように、その信号の特性のうちの１以上の特性が設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などのような有線媒体と、音響、ＲＦ、赤外線、および他の無線媒体などのようなワイヤレス媒体とを含む。
【００４８】
[0055]  本開示の実施形態は、システム・オン・ア・チップ（ＳＯＣ）を介して実施することができ、その場合、図６に示す全てまたは多くのコンポーネントを１つの集積回路に組み込むことができる。そのようなＳＯＣデバイスは、１以上の処理装置、グラフィックス・ユニット、通信ユニット、システム仮想化ユニット、および様々なアプリケーション機能を含むことができ、それらの全ては、１つの集積回路としてチップ基板に組み込まれる（または「焼き付けされる」）。ＳＯＣを介して動作させる場合、上述の本開示に関する機能は、１つの集積回路（チップ）において計算デバイス１０２および１０６の他のコンポーネントと統合される特定用途向けロジックを介して、動作させることができる。
【００４９】
[0056]  上記の様々な実施形態は、単なる例として提供されており、限定と解釈すべきではない。上記の実施形態に対して、本開示の真の精神および範囲から離れること無く、様々な改造および変更を行うことができる。
【図１】
2014535095.tif 000003
【図２】
2014535095.tif 000004
【図３】
2014535095.tif 000005
【図４】
2014535095.tif 000006
【図５】
2014535095.tif 000007
【図６】
2014535095.tif 000008
【図７】
2014535095.tif 000009
【図８】
2014535095.tif 000010
【国際調査報告】
2014535095.tif 000011
2014535095.tif 000012