(57)【要約】  データベース全体にわたるクエリの結果などのデータを表示する際に、マークを生成するための方法。この方法は、好ましくは、フィールドが複数のレベルを含むデータセットと一緒に使用される。ビジュアルプロットが、規定に基づいて構築される。複数のレベルからの第１のレベルが、ビジュアルプロットの第１の成分によって表現される。複数のレベルからの第２のレベルが、ビジュアルプロットの第２の成分によって表現される。データセットには、オプションとして、規定に従ってデータを取り出すようにクエリが行われる。ビジュアルプロットは、規定に従って、取り出されたデータでポピュレートされる。
2008523473.tif 000002
【特許請求の範囲】
【請求項１】
複数のフィールドを有する、複数のタプルを含むデータを含有するデータセットを使用してビジュアルプロットを形成する方法であって、
前記複数のフィールドからの第１のフィールドに対応する少なくとも第１の軸をそれぞれが有する複数のペインに、前記ビジュアルプロットを編成すること、
前記第１のフィールドの第１のタイプに従って、前記複数のペインにおける各ペインにペインタイプを割り当てること、
前記ペインタイプに基づき、各ペインに関するマークを決定すること、および
前記データで前記ビジュアルプロットをポピュレートすることを含む方法。
【請求項２】
前記データセットは、データベースである、請求項１に記載の方法。
【請求項３】
前記データベースは、リレーショナルデータベースである、請求項２に記載の方法。
【請求項４】
前記データベースは、階層データベースである、請求項２に記載の方法。
【請求項５】
前記データベースは、構造化されていないデータベースである、請求項２に記載の方法。
【請求項６】
前記データセットにクエリを行って、取り出されたデータを獲得することをさらに含み、前記ビジュアルプロットは、前記取り出されたデータでポピュレートされる、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記取り出されたデータは、タプルセットを含む、請求項６に記載の方法。
【請求項８】
前記ビジュアルプロットを前記ポピュレートすることは、前記タプルセットの各タプルを、前記複数のペインにおけるペインに関連付けることを含む、請求項７に記載の方法。
【請求項９】
前記ビジュアルプロットを編成することは、規定に従う、請求項１に記載の方法。
【請求項１０】
前記ビジュアルプロットを前記ポピュレートすることは、前記規定に従う、請求項９に記載の方法。
【請求項１１】
前記規定は、前記複数のフィールドからの１つまたは複数のフィールドに基づく言語で表現される、請求項９に記載の方法。
【請求項１２】
前記言語は、規則セットと、いくつかの操作とを含む、請求項１１に記載の方法。
【請求項１３】
前記言語は、テーブル代数を使用する、請求項１２に記載の方法。
【請求項１４】
前記複数のペインは、複数のロウと、複数のカラムとを含む、請求項１に記載の方法。
【請求項１５】
前記複数のフィールドにおける各フィールドは、複数のレベルを有し、前記複数のレベルからの第１のレベルは、前記ビジュアルプロットの第１の成分によって表現され、前記複数のレベルからの第２のレベルは、前記ビジュアルプロットの第２の成分によって表現され、前記第１の成分と前記第２の成分は、互いに同一ではなく、前記第１の成分と前記第２の成分は、同一のフィールドからであっても、異なるフィールドからであってもよい、請求項１４に記載の方法。
【請求項１６】
前記第１の成分と前記第２の成分は、前記ビジュアルプロットにおける１つまたは複数のロウ、前記ビジュアルプロットにおける１つまたは複数のカラム、前記ビジュアルプロットにおける１つまたは複数のレイヤ、前記ビジュアルプロットの軸、前記ビジュアルプロットにおけるグラフィック、前記ビジュアルプロットにおけるグラフィックの詳細レベルから成るグループから、それぞれ独立に選択される、請求項１５に記載の方法。
【請求項１７】
前記第１の成分は、前記複数のロウであり、前記第２の成分は、前記複数のカラムである、請求項１６に記載の方法。
【請求項１８】
前記第１の成分は、前記複数のロウであり、前記第２の成分は、前記複数のレイヤである、請求項１６に記載の方法。
【請求項１９】
前記第１の成分は、前記複数のカラムであり、前記第２の成分は、前記複数のレイヤである、請求項１６に記載の方法。
【請求項２０】
前記第１のタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから選択される、請求項１に記載の方法。
【請求項２１】
前記第１のタイプは、時間タイプである、請求項２０に記載の方法。
【請求項２２】
前記第１のタイプは、数値タイプであり、前記マークは、形状である、請求項２０に記載の方法。
【請求項２３】
前記第１のタイプは、カテゴリタイプであり、前記マークは、テキストである、請求項２０に記載の方法。
【請求項２４】
前記第１のタイプは、地理位置タイプである、請求項２０に記載の方法。
【請求項２５】
前記第１の軸は、角度極座標であり、前記マークは、円グラフのセグメントである、請求項２０に記載の方法。
【請求項２６】
前記マークは、テキストフォーム、棒グラフ、円グラフ、３次元棒グラフ、３次元投影、ホログラム、ガントチャート、および散布図から成るグループから選択される、請求項１に記載の方法。
【請求項２７】
前記規定は、オペランドを含む代数式を含む、請求項９に記載の方法。
【請求項２８】
前記データセットは、階層データベースであり、前記代数式は、前記階層データベース上の操作を表す、請求項２７に記載の方法。
【請求項２９】
前記規定は、前記複数のロウに関する第１の代数式と、前記複数のカラムに関する第２の代数式とを含む、請求項９に記載の方法。
【請求項３０】
前記規定は、前記複数のペインを複数のレイヤにさらに編成し、前記規定は、前記複数のレイヤに関する第３の代数式をさらに含む、請求項２９に記載の方法。
【請求項３１】
前記ビジュアルプロットの前記第１の成分は、前記ビジュアルプロットの第１の軸であり、前記ビジュアルプロットの前記第２の成分は、前記ビジュアルプロットの第２の軸である、請求項１５に記載の方法。
【請求項３２】
前記第１のレベルと前記第２のレベルの１つは、期間を表す、請求項１５に記載の方法。
【請求項３３】
前記期間は、年、四半期、月、週、日、時、分、または秒のいずれか１つである、請求項３２に記載の方法。
【請求項３４】
前記ペインのそれぞれは、前記複数のフィールドからの第２のフィールドに対応する第２の軸をさらに有し、前記第２のフィールドは、第２のタイプを有する、請求項１に記載の方法。
【請求項３５】
前記第１の軸と前記第２の軸は、互いに直交する、請求項３４に記載の方法。
【請求項３６】
前記第１の軸と前記第２の軸は、互いに、１８０°未満で、９０°以外のある角度で配置される、請求項３４に記載の方法。
【請求項３７】
前記第１の軸と前記第２の軸は、回転、反射、反転、およびせん断から成るグループから選択される変形を受ける、請求項３５に記載の方法。
【請求項３８】
前記第１のタイプと前記第２のタイプは、一緒になって、ペインタイプを形成し、前記ペインタイプに規則が関連付けられる、請求項３４に記載の方法。
【請求項３９】
各ペインにペインタイプを前記割り当てることは、前記第１のタイプ、および前記第２のフィールドの第２のタイプに従う、請求項３４に記載の方法。
【請求項４０】
前記第１のタイプと前記第２のタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから独立に選択される、請求項３４に記載の方法。
【請求項４１】
前記第１のタイプと前記第２のタイプはともに、順序タイプであり、前記マークは、テキストである、請求項４０に記載の方法。
【請求項４２】
前記第１のタイプと前記第２のタイプはともに、数値タイプであり、前記マークは、形状である、請求項４０に記載の方法。
【請求項４３】
前記第１のタイプと前記第２のタイプの１つは、順序タイプであり、前記第１のタイプと前記第２のタイプの１つは、数値タイプであり、前記マークは、棒である、請求項４０に記載の方法。
【請求項４４】
前記第１のタイプと前記第２のタイプの１つは、順序タイプであり、前記第１のタイプと前記第２のタイプの１つは、時間タイプであり、前記マークは、ガントである、請求項４０に記載の方法。
【請求項４５】
前記第１のタイプと前記第２のタイプの１つは、時間タイプであり、前記第１のタイプと前記第２のタイプの１つは、数値タイプであり、前記マークは、線である、請求項４０に記載の方法。
【請求項４６】
前記第１のタイプと前記第２のタイプの１つは、地理位置タイプであり、前記マークは、地図記号である、請求項４０に記載の方法。
【請求項４７】
前記複数のタプルにおける各タプルに１つのマークが割り当てられる、請求項１に記載の方法。
【請求項４８】
前記複数のタプルにおける複数のタプルからマークが形成される、請求項１に記載の方法。
【請求項４９】
前記マークは、ポリゴンである、請求項４８に記載の方法。
【請求項５０】
前記ペインのそれぞれは、前記複数のフィールドからの第３のフィールドに対応する第３の軸をさらに有し、前記マークは、３次元のマークである、請求項３４に記載の方法。
【請求項５１】
コンピュータ可読記憶媒体と、
そのコンピュータ可読記憶媒体に組み込まれ、複数のフィールドからの第１のフィールドに対応する少なくとも第１の軸をそれぞれが有する複数のペインに、ビジュアルプロットを編成するための命令と、
前記第１のフィールドの第１のタイプに従って、前記複数のペインにおける各ペインにペインタイプを割り当てるための命令と、
前記ペインタイプに基づき、各ペインに関するマークを決定するための命令と、
データで前記ビジュアルプロットをポピュレートするための命令とを含む、前記複数のフィールドを有する、複数のタプルを含む前記データを含有するデータセットを使用して前記ビジュアルプロットを形成するためのコンピュータプログラム機構とを含む、コンピュータシステムと併せて使用するためのコンピュータプログラム製品。
【請求項５２】
前記データセットは、データベースである、請求項５１に記載のコンピュータプログラム製品。
【請求項５３】
前記データベースは、リレーショナルデータベースである、請求項５２に記載のコンピュータプログラム製品。
【請求項５４】
前記データベースは、階層データベースである、請求項５２に記載のコンピュータプログラム製品。
【請求項５５】
前記データベースは、構造化されていないデータベースである、請求項５２に記載のコンピュータプログラム製品。
【請求項５６】
前記データセットにクエリを行って、取り出されたデータを獲得することをさらに含み、前記ビジュアルプロットは、前記取り出されたデータでポピュレートされる、請求項５１から５５のいずれか一項に記載のコンピュータプログラム製品。
【請求項５７】
前記取り出されたデータは、タプルセットを含む、請求項５６に記載のコンピュータプログラム製品。
【請求項５８】
前記ビジュアルプロットを前記ポピュレートすることは、前記タプルセットの各タプルを、前記複数のペインにおけるペインに関連付けることを含む、請求項５７に記載のコンピュータプログラム製品。
【請求項５９】
前記ビジュアルプロットを編成することは、規定に従う、請求項５１に記載のコンピュータプログラム製品。
【請求項６０】
前記ビジュアルプロットを前記ポピュレートすることは、前記規定に従う、請求項５９に記載のコンピュータプログラム製品。
【請求項６１】
前記規定は、前記複数のフィールドからの１つまたは複数のフィールドに基づく言語で表現される、請求項５９に記載のコンピュータプログラム製品。
【請求項６２】
前記言語は、規則セットと、いくつかの操作とを含む、請求項６１に記載のコンピュータプログラム製品。
【請求項６３】
前記言語は、テーブル代数を使用する、請求項６２に記載のコンピュータプログラム製品。
【請求項６４】
前記規定は、オペランドを含む代数式を含む、請求項５９に記載のコンピュータプログラム製品。
【請求項６５】
前記データセットは、階層データベースであり、前記代数式は、前記階層データベース上の操作を表す、請求項６４に記載のコンピュータプログラム製品。
【請求項６６】
前記規定は、前記複数のロウに関する第１の代数式と、前記複数のカラムに関する第２の代数式とを含む、請求項５９に記載のコンピュータプログラム製品。
【請求項６７】
前記規定は、前記複数のペインを複数のレイヤにさらに編成し、前記規定は、前記複数のレイヤに関する第３の代数式をさらに含む、請求項６６に記載のコンピュータプログラム製品。
【請求項６８】
前記複数のペインは、複数のロウと、複数のカラムとを含む、請求項５１に記載のコンピュータプログラム製品。
【請求項６９】
前記複数のフィールドにおける各フィールドは、複数のレベルを有し、前記複数のレベルからの第１のレベルは、前記ビジュアルプロットの第１の成分によって表現され、前記複数のレベルからの第２のレベルは、前記ビジュアルプロットの第２の成分によって表現され、前記第１の成分と前記第２の成分は、互いに同一ではなく、前記第１の成分と前記第２の成分は、同一のフィールドからであっても、異なるフィールドからであってもよい、請求項６８に記載のコンピュータプログラム製品。
【請求項７０】
前記第１の成分と前記第２の成分は、前記ビジュアルプロットにおける１つまたは複数のロウ、前記ビジュアルプロットにおける１つまたは複数のカラム、前記ビジュアルプロットにおける１つまたは複数のレイヤ、前記ビジュアルプロットの軸、前記ビジュアルプロットにおけるグラフィック、前記ビジュアルプロットにおけるグラフィックの詳細レベルから成るグループから、それぞれ独立に選択される、請求項６９に記載のコンピュータプログラム製品。
【請求項７１】
前記第１の成分は、前記複数のロウであり、前記第２の成分は、前記複数のカラムである、請求項７０に記載のコンピュータプログラム製品。
【請求項７２】
前記第１の成分は、前記複数のロウであり、前記第２の成分は、前記複数のレイヤである、請求項７０に記載のコンピュータプログラム製品。
【請求項７３】
前記第１の成分は、前記複数のカラムであり、前記第２の成分は、前記複数のレイヤである、請求項７０に記載のコンピュータプログラム製品。
【請求項７４】
前記ビジュアルプロットの前記第１の成分は、前記ビジュアルプロットの第１の軸であり、前記ビジュアルプロットの前記第２の成分は、前記ビジュアルプロットの第２の軸である、請求項６９に記載のコンピュータプログラム製品。
【請求項７５】
前記第１のレベルと前記第２のレベルの１つは、期間を表す、請求項６９に記載のコンピュータプログラム製品。
【請求項７６】
前記期間は、年、四半期、月、週、日、時、分、または秒のいずれか１つである、請求項７５に記載のコンピュータプログラム製品。
【請求項７７】
前記第１のタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから選択される、請求項５１に記載のコンピュータプログラム製品。
【請求項７８】
前記第１のタイプは、時間タイプである、請求項７７に記載のコンピュータプログラム製品。
【請求項７９】
前記第１のタイプは、数値タイプであり、前記マークは、形状である、請求項７７に記載のコンピュータプログラム製品。
【請求項８０】
前記第１のタイプは、カテゴリタイプであり、前記マークは、テキストである、請求項７７に記載のコンピュータプログラム製品。
【請求項８１】
前記第１のタイプは、地理位置タイプである、請求項７７に記載のコンピュータプログラム製品。
【請求項８２】
前記第１の軸は、角度極座標であり、前記マークは、円グラフのセグメントである、請求項７７に記載のコンピュータプログラム製品。
【請求項８３】
前記マークは、テキストフォーム、棒グラフ、円グラフ、３次元棒グラフ、３次元投影、ホログラム、ガントチャート、および散布図から成るグループから選択される、請求項５１に記載のコンピュータプログラム製品。
【請求項８４】
前記ペインのそれぞれは、前記複数のフィールドからの第２のフィールドに対応する第２の軸をさらに有し、前記第２のフィールドは、第２のタイプを有する、請求項５１に記載のコンピュータプログラム製品。
【請求項８５】
前記第１の軸と前記第２の軸は、互いに直交する、請求項８４に記載のコンピュータプログラム製品。
【請求項８６】
前記第１の軸と前記第２の軸は、回転、反射、反転、およびせん断から成るグループから選択される変形を受ける、請求項８５に記載のコンピュータプログラム製品。
【請求項８７】
前記第１の軸と前記第２の軸は、互いに、１８０°未満で、９０°以外のある角度で配置される、請求項８４に記載のコンピュータプログラム製品。
【請求項８８】
前記第１のタイプと前記第２のタイプは、一緒になって、ペインタイプを形成し、前記ペインタイプに規則が関連付けられる、請求項８４に記載のコンピュータプログラム製品。
【請求項８９】
各ペインにペインタイプを前記割り当てることは、前記第１のタイプ、および前記第２のフィールドの第２のタイプに従う、請求項８４に記載のコンピュータプログラム製品。
【請求項９０】
前記第１のタイプと前記第２のタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから独立に選択される、請求項８４に記載のコンピュータプログラム製品。
【請求項９１】
前記第１のタイプと前記第２のタイプはともに、順序タイプであり、前記マークは、テキストである、請求項９０に記載のコンピュータプログラム製品。
【請求項９２】
前記第１のタイプと前記第２のタイプはともに、数値タイプであり、前記マークは、形状である、請求項９０に記載のコンピュータプログラム製品。
【請求項９３】
前記第１のタイプと前記第２のタイプの１つは、順序タイプであり、前記第１のタイプと前記第２のタイプの１つは、数値タイプであり、前記マークは、棒である、請求項９０に記載のコンピュータプログラム製品。
【請求項９４】
前記第１のタイプと前記第２のタイプの１つは、順序タイプであり、前記第１のタイプと前記第２のタイプの１つは、時間タイプであり、前記マークは、ガントである、請求項９０に記載のコンピュータプログラム製品。
【請求項９５】
前記第１のタイプと前記第２のタイプの１つは、時間タイプであり、前記第１のタイプと前記第２のタイプの１つは、数値タイプであり、前記マークは、線である、請求項９０に記載のコンピュータプログラム製品。
【請求項９６】
前記第１のタイプと前記第２のタイプの１つは、地理位置タイプであり、前記マークは、地図記号である、請求項９０に記載のコンピュータプログラム製品。
【請求項９７】
前記ペインのそれぞれは、前記複数のフィールドからの第３のフィールドに対応する第３の軸をさらに有し、前記マークは、３次元のマークである、請求項８４に記載のコンピュータプログラム製品。
【請求項９８】
前記複数のタプルにおける各タプルに１つのマークが割り当てられる、請求項５１に記載のコンピュータプログラム製品。
【請求項９９】
前記複数のタプルにおける複数のタプルからマークが形成される、請求項５１に記載のコンピュータプログラム製品。
【請求項１００】
前記マークは、ポリゴンである、請求項９９に記載のコンピュータプログラム製品。
【請求項１０１】
中央処理装置と、
前記中央処理装置に結合されたメモリとを含み、メモリは、
データセットと、
複数のフィールドからの第１のフィールドに対応する少なくとも第１の軸をそれぞれが有する複数のペインに、ビジュアルプロットを編成するための命令と、
前記第１のフィールドの第１のタイプに従って、前記複数のペインにおける各ペインにペインタイプを割り当てるための命令と、
前記ペインタイプに基づき、各ペインに関するマークを決定するための命令と、
データで前記ビジュアルプロットをポピュレートするための命令とを含むプログラミングモジュールとを含む、前記複数のフィールドを有する、複数のタプルを含む前記データを含有する前記データセットを使用して前記ビジュアルプロットを形成するためのコンピュータシステム。
【請求項１０２】
前記データセットは、データベースである、請求項１０１に記載のコンピュータシステム。
【請求項１０３】
前記データベースは、リレーショナルデータベースである、請求項１０２に記載のコンピュータシステム。
【請求項１０４】
前記データベースは、階層データベースである、請求項１０２に記載のコンピュータシステム。
【請求項１０５】
前記データベースは、構造化されていないデータベースである、請求項１０２に記載のコンピュータシステム。
【請求項１０６】
前記データセットにクエリを行って、取り出されたデータを獲得することをさらに含み、前記ビジュアルプロットは、前記取り出されたデータでポピュレートされる、請求項１０１から１０５のいずれか一項に記載のコンピュータシステム。
【請求項１０７】
前記取り出されたデータは、タプルセットを含む、請求項１０６に記載のコンピュータシステム。
【請求項１０８】
前記ビジュアルプロットを前記ポピュレートすることは、前記タプルセットの各タプルを、前記複数のペインにおけるペインに関連付けることを含む、請求項１０７に記載のコンピュータシステム。
【請求項１０９】
前記ビジュアルプロットを編成することは、規定に従う、請求項１０１に記載のコンピュータシステム。
【請求項１１０】
前記ビジュアルプロットを前記ポピュレートすることは、前記規定に従う、請求項１０９に記載のコンピュータシステム。
【請求項１１１】
前記規定は、前記複数のフィールドからの１つまたは複数のフィールドに基づく言語で表現される、請求項１０９に記載のコンピュータシステム。
【請求項１１２】
前記言語は、規則セットと、いくつかの操作とを含む、請求項１１１に記載のコンピュータシステム。
【請求項１１３】
前記言語は、テーブル代数を使用する、請求項１１２に記載のコンピュータシステム。
【請求項１１４】
前記規定は、オペランドを含む代数式を含む、請求項１０９に記載のコンピュータシステム。
【請求項１１５】
前記データセットは、階層データベースであり、前記代数式は、前記階層データベース上の操作を表す、請求項１１４に記載のコンピュータシステム。
【請求項１１６】
前記規定は、前記複数のロウに関する第１の代数式と、前記複数のカラムに関する第２の代数式とを含む、請求項１０９に記載のコンピュータシステム。
【請求項１１７】
前記規定は、前記複数のペインを複数のレイヤにさらに編成し、前記規定は、前記複数のレイヤに関する第３の代数式をさらに含む、請求項１１６に記載のコンピュータシステム。
【請求項１１８】
前記複数のペインは、複数のロウと、複数のカラムとを含む、請求項１０１に記載のコンピュータシステム。
【請求項１１９】
前記複数のフィールドにおける各フィールドは、複数のレベルを有し、前記複数のレベルからの第１のレベルは、前記ビジュアルプロットの第１の成分によって表現され、前記複数のレベルからの第２のレベルは、前記ビジュアルプロットの第２の成分によって表現され、前記第１の成分と前記第２の成分は、互いに同一ではなく、前記第１の成分と前記第２の成分は、同一のフィールドからであっても、異なるフィールドからであってもよい、請求項１１８に記載のコンピュータシステム。
【請求項１２０】
前記第１の成分と前記第２の成分は、前記ビジュアルプロットにおける１つまたは複数のロウ、前記ビジュアルプロットにおける１つまたは複数のカラム、前記ビジュアルプロットにおける１つまたは複数のレイヤ、前記ビジュアルプロットの軸、前記ビジュアルプロットにおけるグラフィック、前記ビジュアルプロットにおけるグラフィックの詳細レベルから成るグループから、それぞれ独立に選択される、請求項１１９に記載のコンピュータシステム。
【請求項１２１】
前記第１の成分は、前記複数のロウであり、前記第２の成分は、前記複数のカラムである、請求項１２０に記載のコンピュータシステム。
【請求項１２２】
前記第１の成分は、前記複数のロウであり、前記第２の成分は、前記複数のレイヤである、請求項１２０に記載のコンピュータシステム。
【請求項１２３】
前記第１の成分は、前記複数のカラムであり、前記第２の成分は、前記複数のレイヤである、請求項１２０に記載のコンピュータシステム。
【請求項１２４】
前記ビジュアルプロットの前記第１の成分は、前記ビジュアルプロットの第１の軸であり、前記ビジュアルプロットの前記第２の成分は、前記ビジュアルプロットの第２の軸である、請求項１１９に記載のコンピュータシステム。
【請求項１２５】
前記第１のレベルと前記第２のレベルの１つは、期間を表す、請求項１１９に記載のコンピュータシステム。
【請求項１２６】
前記期間は、年、四半期、月、週、日、時、分、または秒のいずれか１つである、請求項１２５に記載のコンピュータシステム。
【請求項１２７】
前記第１のタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから選択される、請求項１０１に記載のコンピュータシステム。
【請求項１２８】
前記第１のタイプは、時間タイプである、請求項１２７に記載のコンピュータシステム。
【請求項１２９】
前記第１のタイプは、数値タイプであり、前記マークは、形状である、請求項１２７に記載のコンピュータシステム。
【請求項１３０】
前記第１のタイプは、カテゴリタイプであり、前記マークは、テキストである、請求項１２７に記載のコンピュータシステム。
【請求項１３１】
前記第１のタイプは、地理位置タイプである、請求項１２７に記載のコンピュータシステム。
【請求項１３２】
前記第１の軸は、角度極座標であり、前記マークは、円グラフのセグメントである、請求項１２７に記載のコンピュータシステム。
【請求項１３３】
前記マークは、テキストフォーム、棒グラフ、円グラフ、３次元棒グラフ、３次元投影、ホログラム、ガントチャート、および散布図から成るグループから選択される、請求項１０１に記載のコンピュータシステム。
【請求項１３４】
前記ペインのそれぞれは、前記複数のフィールドからの第２のフィールドに対応する第２の軸をさらに有し、前記第２のフィールドは、第２のタイプを有する、請求項１０１に記載のコンピュータシステム。
【請求項１３５】
前記第１の軸と前記第２の軸は、互いに直交する、請求項１３４に記載のコンピュータシステム。
【請求項１３６】
前記第１の軸と前記第２の軸は、回転、反射、反転、およびせん断から成るグループから選択される変形を受ける、請求項１３５に記載のコンピュータシステム。
【請求項１３７】
前記第１の軸と前記第２の軸は、互いに、１８０°未満で、９０°以外のある角度で配置される、請求項１３４に記載のコンピュータシステム。
【請求項１３８】
前記第１のタイプと前記第２のタイプは、一緒になって、ペインタイプを形成し、前記ペインタイプに規則が関連付けられる、請求項１３４に記載のコンピュータシステム。
【請求項１３９】
各ペインにペインタイプを前記割り当てることは、前記第１のタイプ、および前記第２のフィールドの第２のタイプに従う、請求項１３４に記載のコンピュータシステム。
【請求項１４０】
前記第１のタイプと前記第２のタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから独立に選択される、請求項１３４に記載のコンピュータシステム。
【請求項１４１】
前記第１のタイプと前記第２のタイプはともに、順序タイプであり、前記マークは、テキストである、請求項１４０に記載のコンピュータシステム。
【請求項１４２】
前記第１のタイプと前記第２のタイプはともに、数値タイプであり、前記マークは、形状である、請求項１４０に記載のコンピュータシステム。
【請求項１４３】
前記第１のタイプと前記第２のタイプの１つは、順序タイプであり、前記第１のタイプと前記第２のタイプの１つは、数値タイプであり、前記マークは、棒である、請求項１４０に記載のコンピュータシステム。
【請求項１４４】
前記第１のタイプと前記第２のタイプの１つは、順序タイプであり、前記第１のタイプと前記第２のタイプの１つは、時間タイプであり、前記マークは、ガントである、請求項１４０に記載のコンピュータシステム。
【請求項１４５】
前記第１のタイプと前記第２のタイプの１つは、時間タイプであり、前記第１のタイプと前記第２のタイプの１つは、数値タイプであり、前記マークは、線である、請求項１４０に記載のコンピュータシステム。
【請求項１４６】
前記第１のタイプと前記第２のタイプの１つは、地理位置タイプであり、前記マークは、地図記号である、請求項１４０に記載のコンピュータシステム。
【請求項１４７】
前記ペインのそれぞれは、前記複数のフィールドからの第３のフィールドに対応する第３の軸をさらに有し、前記マークは、３次元のマークである、請求項１３４に記載のコンピュータシステム。
【請求項１４８】
前記複数のタプルにおける各タプルに１つのマークが割り当てられる、請求項１０１に記載のコンピュータシステム。
【請求項１４９】
前記複数のタプルにおける複数のタプルからマークが形成される、請求項１０１に記載のコンピュータシステム。
【請求項１５０】
前記マークは、ポリゴンである、請求項１４９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本発明は、概ね、データベース情報などのデータを視覚化するためのコンピュータシステムおよび方法に関する。本発明は、具体的には、視覚化されるデータのタイプに基づいて適切なマークを決定するためのコンピュータシステムおよび方法に関する。
【背景技術】
【０００２】
[0002]  デジタル時代の到来は、ダムの決壊に似ていた。すなわち、情報の激流が、解き放たれ、私たちは、現在、絶えず増加しているデータの潮流に洗われている。情報、結果、計量値、および計算値、つまり、一般に、データは、現在、豊富にあり、無限に再使用可能なデジタル形態で、磁気媒体上、または光媒体上で、容易にアクセス可能である。コンピューティング能力の容赦ない増大が、より迅速に、常により独創的な仕方で、膨大な量のデータを効率的に解析し、表示することができるという期待を煽ってきた。したがって、データを有意に理解できるようにするという常に存在する必要性が、統計解析、パターン認識、データマイニング、および視覚化の方法において相当な研究を推進している。現在の課題には、複雑なパラメータ空間内に存在するデータを高速にうまく処理するやり方を提供する能力が含まれる。
【０００３】
[0003]  データは、データを構成する数、値、または述語にとどまらない。データは、奇妙で、複雑に入り組んでいるだけでなく、人間の脳によって容易に理解できない、豊かで、変化に富む景観を宿す多次元空間に存在する。最も複雑なデータは、多くの見たところ無関係の変数に依存する測定または計算から生じる。数百の変数を有するデータセットは、今日、ゲノムと、ゲノムがコードする様々なタンパク質の間の結び付きを明らかにするための遺伝子発現データ、基礎をなす社会学的動向および経済的動向を捕捉するための人口統計データおよび消費者プロファイリングデータ、広大な、常に変化している市場における莫大な数の製品に関する売上高データおよびマーケティングデータ、および汚染、気象変化、および資源影響問題などの現象を理解するための環境測定を含め、多くの活動分野で生じる。また、ヒトゲノム計画やスローンデジタルスカイサーベイなどの国際研究プロジェクトも、大量の学術データベースを生み出している。さらに、企業が、企業の業務の重要な態様に関する履歴データの大型のデータウェアハウスを作成している。また、企業は、デスクトップアプリケーションを使用して、企業のビジネスの何らかの特定の態様を検討するための、多くの小型のデータベースも作成している。
【０００４】
[0004]  以上のデータベースのいずれもが抱える１つの課題が、それらのデータベースが含むデータから意味を抽出して、構造を発見し、パターンを見出し、因果関係を導き出すことである。しばしば、それらのデータセットのサイズそのものが、その仕事を複雑にし、各レコードを見に行くことを要求する対話型の計算が、ありそうにないことを意味する。また、アナリストが、データセット全体を最も細かい詳細レベルで考察すること、または見ることも実行不可能である可能性がある。しかし、データセットが小さい場合でさえ、データセットの複雑さは、データを集約することなしに、または単純化する要約を作成することなしに、意味を収集することを、しばしば、困難にする。
【０００５】
[0005]  回帰、クラスタ化、集計、依存関係モデル化、および分類などの、データに対して実行されることが可能な主要な操作の中で、パターンを迅速に見出す能力が、最も重要である。データは、多くの形態でもたらされ、１つの形態を表示するのに最も適切なやり方は、別の形態に関して最良のやり方ではない。過去には、多くの表示方法が認識されていた場合、最も適切な方法を選択することは、骨の折れる作業であった。しかし、最も効果的な表示方法を識別することは、データ自体の基礎をなす構造を識別することと密接に結び付いている可能性がある。
【０００６】
[0006]  ビジネスインテリジェンスは、多次元データベースの対話型の視覚化のためのツールが相当に役に立つ、１つの急速に成長している分野である。そのような情報を視覚化するいくつかのアプローチが、当技術分野で知られている。しかし、そのようなアプローチを実施するソフトウェアプログラムは、有用であるが、それらのプログラムは、しばしば、満足の行くものではない。そのようなプログラムは、情報を表示する最も適切な仕方をユーザが選択することを要求するインタフェースを有する。
【０００７】
[0007]  視覚化は、大量のデータを、単独で、またはデータマイニングアルゴリズムと一緒になって探究するための強力なツールである。しかし、大型のデータベースを有効に視覚化する作業は、視覚化システムに対する人間−コンピュータインタフェースに相当な要求を課す。探究プロセスは、仮説、実験、および発見のいずれかである。探究の進路は、予測できず、アナリストは、表示されているデータと、データのビジュアル表現をともに容易に変更することができる必要がある。さらに、アナリストは、最初、データを高い抽象レベルで考察し、次いで、関心対象のデータをより詳細なレベルで探究するように迅速にドリルダウンすることができなければならない。このため、良好なインタフェースは、データの基礎となる階層構造を明らかにするとともに、視覚化の迅速な改良をサポートする。
【０００８】
[0008]  様々なソフトウェアプログラムに加えて、既知の技術は、形式的なグラフィックプレゼンテーションもさらに提供する。Ｂｅｒｔｉｎの「Ｓｅｍｉｏｌｏｇｙ  ｏｆ  Ｇｒａｐｈｉｃｓ」、Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｗｉｓｃｏｎｓｉｎ  Ｐｒｅｓｓ、Ｍａｄｉｓｏｎ  Ｗｉｓｃｏｎｓｉｎ（１９８３年）が、グラフィック技術を形式化しようとする早期の試みである。Ｂｅｒｔｉｎは、データを記述するためのボキャブラリ、およびそれらのデータをグラフィックにコード化するための技術を開発した。Ｂｅｒｔｉｎは、データがコード化されることが可能な網膜変数（位置、色、サイズなど）を特定した。Ｃｌｅｖｅｌａｎｄ（「Ｔｈｅ  Ｅｌｅｍｅｎｔｓ  ｏｆ  Ｇｒａｐｈｉｎｇ  Ｄａｔａ」、Ｗａｄｓｗｏｒｔｈ  Ａｄｖａｎｃｅｄ  Ｂｏｏｋｓ  ａｎｄ  Ｓｏｆｔｗａｒｅ（１９８５年）、Ｐａｃｉｆｉｃ  Ｇｒｏｖｅ、Ｃａｌｉｆｏｒｎｉａ、および「Ｖｉｓｕａｌｉｚｉｎｇ  Ｄａｔａ」（１９９３年）、Ｈｏｂａｒｔ  Ｐｒｅｓｓ）は、理論上の結果および実験結果を使用して、人々が、どれぐらいうまく、それらの異なる網膜特性を使用して、定量的な変化を比較することができるかを割り出した。
【０００９】
[0009]  ＭａｃｋｉｎｌａｙのＡＰＴシステム（「ＡＣＭ  Ｔｒａｎｓ．Ｇｒａｐｈｉｃｓ」、５、１１０〜１４１、（１９８６年））は、コンピュータによって生成される表示に対する形式的なグラフィック規定の最初の応用例の１つであった。ＡＰＴは、リレーショナルデータの２次元表示を生成するために、グラフィック言語、および探索される合成規則の階層を使用する。Ｓａｇｅシステム（Ｒｏｔｈ他、（１９９４年）、Ｐｒｏｃ．ＳＩＧＣＨＩ’９４、１１２〜１１７ページ）は、ＡＰＴの概念を拡張して、データ特徴付けの豊かなセットをもたらし、より多様な表示を生成する。
【００１０】
[0010]  当技術分野の形式的なグラフィック規定の欠点は、それら規定が、結果を制御する、または結果に影響を与える手段をユーザに与えないことである。例えば、ＡＰＴは、所与のデータベース構造を想定し、ユーザの関与、またはユーザの関与のためのサポートを全く伴わないグラフィックを生成し、最も適切であると考える可能性を導き出すまでに、いくつかの可能性を探すことも要求する。したがって、そのような形式的なグラフィック規定は、データベースを解析する満足の行くやり方をもたらさない。
【００１１】
[0011]  ＶＱＥ（Ｍｅｒｔｈｉｃｋ他、１９９７年、「Ａｎ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｖｉｓｕａｌｉｚａｔｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  Ｄａｔａ  Ｅｘｐｌｏｒａｔｉｏｎ」、Ｐｒｏｃ．ｏｆ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｄａｔａｂａｓｅｓ、２〜９ページ）、Ｖｉｓａｇｅ（Ｒｏｔｈ他、１９９６年、「Ｖｉｓａｇｅ：Ａ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  Ｅｘｐｌｏｒｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｖｉｓｕａｌｉｚａｔｉｏｎ、３〜１２ページ掲載）、ＤＥＶｉｓｅ（Ｌｉｖｎｙ他、１９９７年、「ＤＥＶｉｓｅ：Ｉｎｔｅｇｒａｔｅｄ  Ｑｕｅｒｙｉｎｇ  ａｎｄ  Ｖｉｓｕａｌ  Ｅｘｐｌｏｒａｔｉｏｎ  ｏｆ  Ｌａｒｇｅ  Ｄａｔａｓｅｔｓ」、Ｐｒｏｃ．ｏｆ  ＡＣＭ  ＳＩＧＭＯＤ掲載）、およびＴｉｏｇａ−２（Ｗｏｏｄｒｕｆｆ他、２００１年、Ｊｏｕｒｎａｌ  ｏｆ  Ｖｉｓｕａｌ  Ｌａｎｇｕａｇｅｓ  ａｎｄ  Ｃｏｍｐｕｔｉｎｇ、Ｓｐｅｃｉａｌ  Ｉｓｓｕｅ  ｏｎ  Ｖｉｓｕａｌ  Ｌａｎｇｕａｇｅｓ  ｆｏｒ  Ｅｎｄ−ｕｓｅｒ  ａｎｄ  Ｄｏｍａｉｎ−Ｓｐｅｃｉｆｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  １２、５５１〜５７１ページ）などのビジュアルクエリツールは、ビジュアルクエリを介して対話型のデータベース探究を直接にサポートする視覚化ツールを構築することに的を絞った。ユーザは、インタフェースとの対話を介して、クエリおよび視覚化を直接に構築することができる。以上のシステムは、クエリ結果をグラフにマップするための柔軟性のある機構を有し、データベースタプルを、グラフにおけるマークの網膜特性にマップすることをサポートする。しかし、以上のビジュアルクエリツールは、データをどのように表示するのが最適であるかを迅速に決定する際に、特に大幅な労力の節約をユーザにもたらさない。
【００１２】
[0012]  本明細書で説明する、当技術分野の背景技術の状態に基づき、必要とされているのは、階層構造を有するデータを含め、データを視覚化するための改良された方法、および改良されたグラフィックインタフェースである。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
[0013]  本発明は、データを視覚化するための改良された方法を提供する。
【課題を解決するための手段】
【００１４】
[0014]  本発明の第１の態様は、複数のフィールドを有する、複数のタプルを含むデータを含有するデータセットを使用して、ビジュアルプロットを形成する方法であって、複数のフィールドからの第１のフィールドに対応する少なくとも第１の軸をそれぞれが有する複数のペインにビジュアルプロットを編成すること、第１のフィールドの第１のタイプに従って、複数のペインにおける各ペインにペインタイプを割り当てること、ペインタイプに基づき、各ペインに関するマークを決定すること、およびビジュアルプロットをデータでポピュレートすることを含む方法を提供する。一実施形態では、データセットには、規定に従ってデータを取り出すようにクエリが行われる。
【００１５】
[0015]  本発明の第２の態様は、コンピュータシステムと一緒に使用するためのコンピュータプログラム製品を提供する。コンピュータプログラム製品は、コンピュータ可読記憶媒体と、コンピュータ可読記憶媒体に組み込まれたコンピュータプログラム機構とを含む。コンピュータプログラム機構は、複数のフィールドを有する、複数のタプルを含むデータを含有するデータセットを使用してビジュアルプロットを形成し、コンピュータプログラム機構は、複数のフィールドからの第１のフィールドに対応する少なくとも第１の軸をそれぞれが有する複数のペインにビジュアルプロットを編成するための命令と、第１のフィールドの第１のタイプに従って、複数のペインにおける各ペインにペインタイプを割り当てるための命令と、ペインタイプに基づき、各ペインに関するマークを決定するための命令と、ビジュアルプロットをデータでポピュレートするための命令を含む。好ましい諸実施形態では、複数のペインは、複数のロウと複数のカラムに編成される。また、規定が、データセットの中の１つまたは複数のフィールドに基づく言語で表現されることも好ましい。一実施形態では、コンピュータプログラム機構は、規定に従ってデータを取り出すようにデータセットにクエリを行うための命令をさらに含む。
【００１６】
[0016]  本発明の第３の態様は、複数のフィールドを有する、複数のタプルを含むデータを含有するデータセットを使用してビジュアルプロットを形成するためのコンピュータシステムであって、中央処理装置と、中央処理装置に結合されたメモリとを含み、メモリは、データセットと、複数のフィールドからの第１のフィールドに対応する少なくとも第１の軸をそれぞれが有する複数のペインにビジュアルプロットを編成するための命令、第１のフィールドの第１のタイプに従って、複数のペインにおける各ペインにペインタイプを割り当てるための命令、ペインタイプに基づき、各ペインに関するマークを決定するための命令、およびビジュアルプロットをデータでポピュレートするための命令を含むプログラミングモジュールとを格納する、システムを提供する。一実施形態では、プログラミングモジュールは、規定に従ってデータを取り出すようにデータセットにクエリを行うための命令をさらに含む。一部の実施形態では、プログラミングモジュールのすべて、または一部分が、複数のリモートサーバ上、および／または複数のクライアントコンピュータ上に分散される。
【００１７】
[0040]  同様の符号は、図面のいくつかの図のすべてで対応する部分を指す。
【発明を実施するための最良の形態】
【００１８】
[0041]  本発明は、データベースの中で見られるようなデータまたは情報の便利な視覚化をユーザに提供するためのコンピュータシステム、コンピュータプログラム製品、および方法を提供する。本発明の通常の実施形態では、ユーザが、データのあるカテゴリを指定する。探索クエリの結果などの、そのようなデータの例が、本発明の方法によって、そのユーザに関して決定されたスキームに従ってグラフィック形態で表示される。本発明の利点は、データが、多数のグラフィック表現で示されることが可能であることである。
【００１９】
[0042]  予備的な定義
以下の用語が、本明細書で使用される。
【００２０】
[0043]  タプルは、データベースの中のフィールドからの２つ以上の属性によって指定される、データベースからのデータの項目（レコードなどの）である。データベース全体にわたる探索クエリは、１つまたは複数のタプルを戻す。
【００２１】
[0044]  テーブルスキーマが、タプルを含むカラムを定義する。スキーマは、各カラムの名前およびタイプを与える。また、カラムが、キーであるかどうか、または値が、許された値のサブセットに限定されているかどうかなどの、カラムについてのさらなる情報も、与えられることが可能である。
【００２２】
[0045]  データベーススキーマは、テーブルの集合である。
【００２３】
[0046]  プレゼンテーションは、データベースの中のデータのグラフィック表示である。
【００２４】
[0047]  テーブル代数は、フィールドによって編成された、データベースの中のデータに適用されて、データが、所望される編成で表示されることが可能であるようにすることが可能な数学的演算を含む。
【００２５】
[0048]  ビジュアル規定（本明細書で「規定」とも呼ばれる）は、プレゼンテーションの軸に関する表現を含む。規定は、通常、グラフィック表現を記述するように仕立てられた言語のような言語で表現される。好ましい実施形態では、規定は、本明細書で説明するテーブル代数を使用して表現される。軸は、通常、ｘ軸とｙ軸として表現されるが、一部の実施形態では、２つより多くの軸、または１つだけの軸も可能である。また、ビジュアル規定は、通常、１つまたは複数のレイヤを定義するための表現も含む。
【００２６】
[0049]  集約は、複数の値の統計的集計である。例えば、数値の合計または平均、またはカテゴリ値の数のカウント。
【００２７】
[0050]  レイヤは、互いに重ね合わされたグラフィック表示のスタックである。
【００２８】
[0051]  ペインは、表示のシステムの一部分であり、１つまたは複数のフィールドによって定義され、ペインが２つのフィールドによって記述される通常のケースでは、それらのフィールドは、縦座標および横座標と呼ばれる。
【００２９】
[0052]  マークは、データベースからの１つまたは複数のタプルをビジュアルに表現する。マークは、ペインにおけるタプルのビジュアル表現である。マークは、通常、あるタイプのグラフィック表示に関連付けられる。例えば、棒グラフでは、マークは、棒である。マークのその他の例には、テキスト、形状、および記号が含まれる。
【００３０】
[0053]  マークの決定
本発明は、複数のフィールドを有する、複数のタプルを含むデータを含有するデータセットからビジュアルプロットを形成する方法であって、複数のフィールドからのフィールドに対応する少なくとも１つの軸をそれぞれが有する複数のペインにビジュアルプロットを編成すること、フィールドのタイプに従って、複数のペインにおける各ペインにペインタイプを割り当てること、ペインタイプに基づき、各ペインに関するマークを決定すること、およびビジュアルプロットをデータでポピュレートすることを含む方法を提供する。フィールドのタイプは、数値タイプ、カテゴリタイプ、時間タイプ、または地理位置タイプであることが可能である。本発明の方法は、データセットの探索、例えば、クエリとして表現された探索からもたらされるタプルに関するマークを決定する方法をさらに提供する。
【００３１】
[0054]  本発明によれば、ペインにおける各タプルは、１対１マッピングで、または複数のタプル対単一のマークとして、マークにマップされ、マークの選択は、特定のペインの属性に従って設定される。
【００３２】
[0055]  好ましい実施形態では、ペインは、複数のロウと複数のカラムに編成されるが、データの視覚化を円滑にする他のペイン配置も、本発明の方法と合致する。
【００３３】
[0056]  各ペインには、「ペインタイプ」と呼ばれるタイプが割り当てられる。ペインタイプは、ペインのエッジ上のフィールドのタイプに依存する。数量は、タイプＱと表され、カテゴリ量は、タイプＯ（序数を表す、というのは、カテゴリの順序が与えられるからである）と表される。一般に、ペインは、２つのフィールドに関連付けられる。このため、数量および／または順序量を包含するデータから形成されることが可能な、以下の４つのタイプのペインが存在する。すなわち、ＯＯ、ＯＱ、ＱＯ，およびＱＱである。また、特定のタイプも、可能である。２つの重要な例が、以下の特定のタイプの座標である。すなわち、Ｔと表される時間、および「Ｇｅｏ」と表される地理位置（緯度と経度によって与えられるような）である。
【００３４】
[0057]  ペインのエッジに関連するタイプは、さらなる情報を含むことが可能である。例えば、数量を独立した量または依存する量として分類することが一般的である。例えば、式ｙ＝ｆ（ｘ）では、ｘは、独立した量であり、ｙは、依存する量である。このタイプの違いは、例えば、ＱｉおよびＱｄと表される。ペインタイプ、したがって、関連するマークは、このさらなる情報に依存することが可能である。
【００３５】
[0058]  軸の特性に基づき、グラフィック分類法とも呼ばれる、ペインタイプを割り当てる仕方の概要が、図１に示される。
【００３６】
[0059]  本発明は、ペインのエッジに割り当てられたフィールドのタイプに基づき、マークを割り当てることに関係する。好ましい実施形態では、マークは、規則セットに従って決定される。代替の実施形態では、単一のデフォルトが、すべてのタイプのペインに関して設定される。さらに別の実施形態では、ユーザが、各タイプのペインに関して所望されるマークを選び、そのような選択が、格納されて、データセット全体にわたる後の探索において使用される。しかし、本発明の目標は、問題のデータタイプに関する最良の慣行に従ってマークを割り当てて、ユーザが、マークを割り当てる必要がないようにすることである。テキスト、記号、形状、線、ポリゴンを含め、様々なマークが、可能である。マークの特性には、位置（（ｘ，ｙ）などの）、色、サイズ、およびその他が含まれることが可能である。特に、複数のタプルが、マークに関連付けられることが可能である。例えば、マークがポリゴンである場合、各タプルは、ポリゴンの頂点に関連付けられることが可能である。
【００３７】
[0060]  好ましい実施形態では、以下の規則が、ペインタイプに基づいてマークを割り当てるのに使用される。すなわち、
【００３８】
【表１】
2008523473.tif 000003
【００３９】
[0061]  より一般的には、本発明は、ペインに割り当てられたフィールドのタイプを所与として、マークタイプを選択する任意の規則体系を包含する。
【００４０】
[0062]  本明細書で示されるとおり、ペインには、単一のフィールドが関連付けられていることが可能である。そのような情報を表現する最も一般的なやり方は、順序データの場合、テキストとして表現することであり、数値データの場合、形状として表現することである。データが、パーセンテージ（テーブルにおいてθで表される）として表現される場合のように、一部の実例では、情報を円グラフとして表示することが好都合である。そのようなケースでは、ペインの軸は、円形の極座標系の角度であり、マークは、プロットのセグメントである。
【００４１】
[0063]  しかし、一般に、データは、２次元の形態で表示されることが最も多い。そのような２次元の表示の例が、図２Ａ〜図２Ｇに示される。表示の軸は、互いに直交に配置されることが好ましい。しかし、ペインの軸は、０°から１８０°までの間の、ただし、９０°以外の角度で配置されることが可能であることが、本発明と合致する。また、半径と角度の両方が変化する、２次元で表示するための円形の極座標系を使用することも可能である。
【００４２】
[0064]  このため、ペインタイプＯＯの場合、テキストのテーブルが、図２Ａに示されるとおり、もたらされ、各マークは、数値などのテキストの項目である。
【００４３】
[0065]  ペインタイプＱＯおよびＯＱの場合、棒グラフが、もたらされる（図２Ｂおよび図２Ｃ）。各マークは、慣例的な形で、長さが、問題のカテゴリの値に比例する棒として提示される、グラフにおける棒である。
【００４４】
[0066]  図２Ｄを参照して、ペインタイプＱＱの場合、表示は、散布図であり、各タプルは、図における形状によって表現される。例えば、図２Ｄでは、ばつ（×）、丸（○）、および四角（□）がすべて、マークの例である。
【００４５】
[0067]  図２Ｅを参照して、ペインタイプＱＴまたはＴＱの場合、表示は、線グラフである。マークは、隣接する各タプルを結び付ける線である。
【００４６】
[0068]  図２Ｆを参照して、ペインタイプＯＴまたはＴＯの場合、表示は、ガントチャートである。そのようなチャートは、１つの軸に沿った時間を示す。各カテゴリに関して、関連するマークは、長さが、イベントの時間を表し、時間軸に対する位置が、イベントの開始時刻および終了時刻を表す棒である。
【００４７】
[0069]  通常、２つの座標として表現される地理的変数に基づくペインタイプに関して、表示は、地図であることが可能であり、例えば、図２Ｇを参照されたい。そのようなケースでは、マークは、線、点、曲線、面、またはアイコンなどの地図記号である。アイコンは、以下のように例示されることが可能である。すなわち、地図が、州地図である場合、アイコンは、様々なサイズおよび重要度の都市を表す市記号および町記号、史跡を示す記号、レクリエーション地域を示す記号、および空港を示す記号であることが可能である。好ましい実施形態では、地図記号の選択は、さらなる規則セットによって支配されることが可能である。地図記号のタイプのそれぞれは、同一の規則、またはその他の規則に従ってさらに色付けされてもよい。
【００４８】
[0070]  また、多次元表示が可能であることも、本発明の方法と合致する。そのような状況では、ペインタイプは、２つより多くの軸のタイプに基づいて割り当てられ、使用されることが可能なプレゼンテーションには、３次元棒グラフ、多次元の表現の、２次元への投影、ホログラフ表現、およびバーチャルリアリティ方法を使用した表現が含まれるが、以上には限定されない。
【００４９】
[0071]  本発明のビジュアルプロットは、ビジュアル規定に従って編成されることが好ましい。そのような規定は、好ましくは、グラフィックプレゼンテーション言語で表現され、好ましくは、ユーザによって選択される。規定は、さらに好ましくは、フィールドに基づく代数式を使用して表現され、オペランドを含む。
【００５０】
[0072]  例示的な諸実施形態
例示的なタイプのデータベース編成
本発明の方法は、任意の種類のデータセット、および任意の種類のデータベース構造で使用されることが可能である。データセットという用語には、データベースを含め、任意の形態のデータが含まれるものと想定されることが可能である。一般的に見られるデータベース構造が、本明細書でさらに説明される。そのような説明が、本発明の範囲を限定することは、意図していない。
【００５１】
[0073]  データベースは、通常、オーダエントリ、経理、および在庫管理を含め、ＯＬＴＰ（オンライントランザクション処理）などの事業上の目的で使用されてきた。最近では、企業および学術プロジェクトが、明確に探究および解析の目的で、データウェアハウス、または大型のＯＬＡＰ（オンライン解析処理）データベースと呼ばれる、データベースを構築してきた。
【００５２】
[0074]  「データウェアハウス」は、経営意思決定を支援する、題材指向の、統合された、経時変化する、不揮発性のデータの集合として説明されることが可能である。データウェアハウスの重要な態様は、データウェアハウスが、トランザクションデータまたは業務データではなく、解析データに関するリポジトリであることである。データウェアハウスの中に含まれるデータは、通常、履歴データ、例えば、ビジネスまたはプロジェクトの何らかの重要な関心についての、時間につれてのトランザクションを表す。そのデータは、通常、業務データベース、シミュレーション、データ収集ツール（例えば、ｔｑｄｕｍｐ）、およびその他の外部ソースなどの、多くの異なるソースから収集される。
【００５３】
[0075]  データウェアハウスは、通常、リレーショナルデータベースまたは多次元データキューブとして構造化される。リレーショナルデータベースおよび多次元データキューブについてのさらなる情報に関しては、ＢｅｒｓｏｎおよびＳｍｉｔｈ、「Ｄａｔａ  Ｗａｒｅｈｏｕｓｉｎｇ，Ｄａｔａ  Ｍｉｎｉｎｇ  ａｎｄ  ＯＬＡＰ」、ＭｃＧｒａｗ−Ｈｉｌｌ、Ｎｅｗ  Ｙｏｒｋ（１９９７年）、Ｆｒｅｅｚｅ、２０００年、「Ｕｎｌｏｃｋｉｎｇ  ＯＬＡＰ  ｗｉｔｈ  Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ  ａｎｄ  Ｅｘｃｅｌ  ２０００」、ＩＤＧ  Ｂｏｏｋｓ  Ｗｏｒｌｄｗｉｄｅ，Ｉｎｃ．、Ｆｏｓｔｅｒ  Ｃｉｔｙ、Ｃａｌｉｆｏｒｎｉａ、およびＴｈｏｍｓｏｎ、「ＯＬＡＰ  Ｓｏｌｕｔｉｏｎｓ：Ｂｕｉｌｄｉｎｇ  Ｍｕｌｔｉｄｉｍｅｎｔｉｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ」、Ｗｉｌｅｙ  Ｃｏｍｐｕｔｅｒ  Ｐｕｂｌｉｓｈｉｎｇ、Ｎｅｗ  Ｙｏｒｋ（１９９７年）を参照されたい。このため、本発明は、データウェアハウスなどのデータベースの中に格納された多次元解析データの探究および解析のための視覚化技術を提供する。
【００５４】
[0076]  階層データベース
本発明は、正規の階層構造を有するデータベースに限定されないことを理解されたい。それでも、大型のデータベースに有意な階層構造を課すことにより、コンピュータとアナリストの両方によって活用されることが可能な複数の抽象化レベルがもたらされる。それらの階層は、いくつかの異なるソースに由来することが可能である。いくつかの階層は、データベースの本来備わった性質によってもたらされる。データを分類し、階層を自動的に導き出す決定ツリーおよびクラスタ化技術などの、データマイニングアルゴリズムも、データベース階層を決定するのに使用されることが可能であり、本発明の方法に関連して応用先を見出すことが可能である。例えば、参照により全体が本明細書に組み込まれている、Ｔｈｅａｒｌｉｎｇ他、「Ｖｉｓｕａｌｉｚｉｎｇ  Ｄａｔａ  Ｍｉｎｉｎｇ  Ｍｏｄｅｌｓ」、Ｉｎｆｏｒｍａｔｉｏｎ  Ｖｉｓｕａｌｉｚａｔｉｏｎ  ｉｎ  Ｄａｔａ  Ｍｉｎｉｎｇ  ａｎｄ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ掲載、Ｆａｙｙａｄ、Ｇｒｉｎｓｔｅｉｎ、およびＷｉｅｒｓｅ編集、Ｍｏｒｇａｎ  Ｋａｕｆｍａｎ（２００１年）を参照されたい。
【００５５】
[0077]  階層データベースにおけるほとんどの次元は、階層構造を有する。例えば、「州」という単一の次元を有するのではなく、国、州、および群に関してそれぞれ１つの、３つのレベルを有する「場所」という階層次元が、使用されることが可能である。次いで、アナリストが、それらのレベルのいずれにも、関心対象の計量値を集約することができる。集約レベルは、複数のレベルを有するツリーとして構造化される、階層次元から決定される。ツリーは、各詳細レベルにおける領域値の間の親子関係のセットを形成する。それらの関係は、次元階層内の集約操作、ドリルダウン操作、およびロールアップ操作のための基礎である。最高レベルが、最も集約され、最低レベルは、最も集約されない。各レベルは、その次元に関する、異なる意味的詳細レベルに相当する。ツリーの各レベル内に、多くのノードが存在し、各ノードは、その次元のその詳細レベルの領域内の値に相当する。図３は、時間次元に関する階層を示す。時間次元内に、４つのレベル、「すべて」、「年」、「四半期」、および「月」が存在する。
【００５６】
[0078]  階層データベースを表現する一般的なやり方は、スタースキーマまたはスノーフレークスキーマの技術を使用することである。スタースキーマまたはスノーフレークスキーマは、そのようなデータベースの概念上の多次元の図を提供する。図３に示された階層のような単純な階層は、スタースキーマを使用して、一般的にモデル化される。次元階層全体は、基礎事実テーブルに結合された単一の次元テーブルによって表現される。このタイプの階層では、１つだけの集約パスが存在する。しかし、集約パスが分岐することが可能なより複雑な次元階層が、存在する。例えば、時間次元は、日から週にも、月にも集約されることが可能である。それらの複雑な階層は、通常、複数の関係（テーブル）を使用して、分岐する階層を表現する、スノーフレークスキーマを使用して表現される。
【００５７】
[0079]  各スキーマは、データベースが構築される解析における関心対象のデータ項目（計量値）を含有する事実テーブルを有する。それらのデータ項目は、ミューチュアルファンドに投資された金額、または売上トランザクション上の利益などのトランザクション金額であることが可能である。事実テーブルは、事実テーブルを様々な形で集計するのに使用される詳細な情報を含む次元テーブルによって囲まれる。データベースは、互いに関係のあるテーブルのセットではなく、いくつかの次元によって特徴付けられる計量値のコアセットである。この編成は、多数のタプルにわたり、製品、場所、または日付などの、いくつかの特徴付ける属性（または次元）により、利益または売上高などの、いくつかの定量的属性（または計量値）を集計する通常の解析クエリと相互に直接に関連する。スタースキーマとスノーフレークスキーマの間の主要な違いは、それらのスキーマが、どのように次元上に階層構造をモデル化するかにおいて生じる。スタースキーマの例示が、図４に与えられている。図４のテーブルスキーマは、中心の事実テーブル（基礎売上データテーブル）が、各次元を説明する次元テーブル（ルックアップテーブル）のそれぞれによって囲まれて表されるために、スタースキーマと呼ばれる。図５は、階層を含むスノーフレークスキーマを示す。
【００５８】
[0080]  図４の事実テーブルにおいて店、週、および製品を表すカラムは、数値を含む。事実テーブルは、膨大な数のロウに成長する可能性がある。ルックアップテーブルは、各店、各週、および各製品を、より高いレベル集約と関係付ける階層情報を含む。例えば、図４の基礎テーブルにおける店１は、「店ルックアップ」テーブルに結び付き、「店ルックアップ」テーブルにおいて店１は、リッジウッドという名前を有し、北東地域にロールアップする。基礎テーブルにおける製品２は、「製品ルックアップ」テーブルに結び付き、「製品ルックアップ」テーブルにおいて、製品２は、オリーブ油石鹸という名前を有し、スキンケア製品グループにおける石鹸という製品タイプにロールアップする。例えば、参照により全体が本明細書に組み込まれている、Ｔｈｏｍｓｅｎ、「ＯＬＡＰ  Ｓｏｌｕｔｉｏｎｓ：Ｂｕｉｌｄｉｎｇ  Ｍｕｌｔｉｄｉｍｅｎｔｉｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ」、Ｗｉｌｅｙ  Ｃｏｍｐｕｔｅｒ  Ｐｕｂｌｉｓｈｉｎｇ、Ｎｅｗ  Ｙｏｒｋ（１９９７年）を参照されたい。
【００５９】
[0081]  次元階層内の値を参照する際、「ドット」の表記を使用して、指定された値に至るまで、階層のルートレベル（例えば、図３の「すべて」）から特定のパスを指定することができる。具体的には、階層のレベルｍにおける値を参照するのに、次元名が、最初に、オプションとしてリストアップされ、次いで、（ｍ−１）個の中間祖先値の０個以上、次いで、最後に、ｍレベルにおける値が、すべてピリオドによって隔てられて、リストアップされる。例えば、ドット表記では、１９９８年１月に対応する、時間階層における月レベルにおける１月ノードは、１９９８．Ｑｔｒ１．Ｊａｎとして参照されることが可能である。
【００６０】
[0082]  有利には、本発明の方法と一緒に使用するための、好ましいコンピュータシステム、コンピュータプログラム製品では、次元は、グラフィックの複数の軸上で表示されることが可能である。より具体的には、ある次元における複数のレベルは、複数の軸、グループ化、およびビジュアルコード化にわたることが可能である。さらに、次元内のレベル（例えば、四半期、月）は、それらのレベルの自然な階層順序に制約されない。実際、階層において定義されるレベルは、飛ばされることが可能である。
【００６１】
[0083]  リレーショナルデータベース
また、本発明の方法は、リレーショナルデータベースまたはリレーショナルウェアハウスにも応用先を見出す。リレーショナルデータベースは、各ロウが、基本的なエンティティまたは事実に対応し、各カラムが、そのエンティティの特性を表すテーブルに、データを編成する。例えば、Ｔｈｏｍｓｅｎ、「ＯＬＡＰ  Ｓｏｌｕｔｉｏｎｓ：Ｂｕｉｌｄｉｎｇ  Ｍｕｌｔｉｄｉｍｅｎｓｉｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ」、Ｗｉｌｅｙ  Ｃｏｍｐｕｔｅｒ  Ｐｕｂｌｉｓｈｉｎｇ、Ｎｅｗ  Ｙｏｒｋ（１９９７年）を参照されたい。例えば、テーブルは、各ロウが、単一のトランザクションに対応し、各トランザクションが、トランザクション金額、口座残高、銀行支店、および顧客などの、複数の属性を有する、銀行におけるトランザクションを表すことが可能である。テーブルは、関係と呼ばれ、ロウは、タプルと呼ばれ、カラムは、属性またはフィールドと呼ばれる。ある関係内の属性は、次元および計量値という２つのタイプに分けられることが可能である。次元および計量値はそれぞれ、従来の解析における独立変数および従属変数に類似する。例えば、銀行支店および顧客が、次元であるのに対して、口座残高は、計量値である。単一のリレーショナルデータベースが、しばしば、多数の異種の、ただし、互いに関係のあるエンティティを記述する。例えば、コーヒーチェーン向けに設計されたデータベースが、従業員、製品、および売上高についての情報を保持することが可能である。データベーススキーマは、データベースの中の関係（テーブル）、それらの関係の間の関係、およびそれらの関係が、どのように関心対象のエンティティをモデル化するかを定義する。リレーショナルウェアハウスの中で次元テーブルおよびスタースキーマを作成することが可能である。
【００６２】
[0084]  データキューブ
データウェアハウスは、スタースキーマまたはスノーフレークスキーマを使用してリレーショナルデータベースとして構築されることが可能であり、多次元データセットの概念上のモデルを提供する。しかし、集計や集約などの、通常の解析操作は、リレーショナルモデルによってよくサポートされていない。クエリは、ＳＱＬなどの言語で書くのが困難であり、クエリパフォーマンスは、理想的ではない。その結果、通常、事実テーブルおよび次元テーブルは、解析のために直接に使用されず、データキューブと呼ばれる多次元データベースを構築する基礎として使用される。
【００６３】
[0085]  データキューブにおける各軸は、リレーショナルスキーマにおける次元に対応し、その次元に関する可能なすべての値から成る。例えば、米国の州に対応する軸は、各州に関して１つの、５０の値を有する。データキューブにおける各セルは、次元に関する値の固有の組み合わせに対応する。例えば、「州」および「製品」という２つの次元が存在する場合、その２つの固有の組み合わせごとにあるセルが、例えば、（カリフォルニア州、茶）、（カリフォルニア州、コーヒー）、（フロリダ州、茶）、（フロリダ州、コーヒー）などに関してそれぞれ１つのセルが、存在する。各セルは、データキューブの測定ごとに１つの値を含む。したがって、製品製造情報および製品消費情報が必要とされる場合、各セルは、その州で消費された各タイプの製品の数に関して１つ、その州で製造された各タイプの製品の数に関して１つの、２つの値を含む。図６は、架空の全国的なコーヒーチェーンデータウェアハウスに関するデータキューブを示し、データは、製品、売上期間、および地域という次元を有する。データキューブにおける各セルは、各次元における対応する値に関して、基礎事実テーブルの中のすべての計量値を集計する。
【００６４】
[0086]  データウェアハウス内の次元は、しばしば、階層構造で強化される。本発明で使用するための、好ましいシステムおよび方法は、それらの階層を使用して、複数の有意な集約レベルでデータキューブを探究し、解析するのに使用されることが可能なツールを提供する。データキューブにおける各セルは、適切な詳細レベルに集約された基礎事実テーブルの計量値に対応する。各次元が、階層構造を有する場合、データウェアハウスは、単一のデータキューブではなく、データキューブのラチスであり、各キューブは、各次元に関する詳細レベルの組み合わせによって定義される（図７）。図７で、各次元（時間、製品、場所）の階層構造は、キューブのラチスを定義する。ラチス内で、各キューブは、各次元に関する詳細レベルの組み合わせによって定義される。ラチスの一番下におけるキューブは、最も詳細な情報を含むのに対して、ラチスの一番上のキューブは、最も抽象的である。
【００６５】
[0087]  多次元データベースは、ｎ次元のデータキューブとして構造化される。データキューブにおける各次元は、リレーショナルスキーマにおける（例えば、スタースキーマまたはスノーフレークスキーマにおける）１つの次元に対応する。データキューブにおける各セルは、リレーショナルスキーマにおけるすべての計量値を含み、各次元に関する値の固有の組み合わせに対応する。データキューブ内の次元は、しばしば、階層構造で強化される。この階層構造は、次元内の意味的詳細レベルから導き出されること、または分類アルゴリズムから生成されることが可能である。それらの階層を使用して、アナリストは、基礎事実テーブル（例えば、生のデータを有するデータベースの中の関係）から計算された複数の有意な集約レベルで、データキューブを探究し、解析することができる。この場合、データキューブにおける各セルは、適切な詳細レベルに集約された基礎事実テーブルの計量値に対応する。
【００６６】
[0088]  集約レベルは、階層次元から決定される。各次元は、複数のレベルを有するツリーとして構造化される。各レベルは、その次元に関する異なる意味的詳細レベルに対応する。ツリーの各レベル内には、多くのノードが存在する。各ノードは、そのノードが入っている詳細レベルの領域内の値に対応する。ツリーは、各詳細レベルにおける領域値の間の親子関係のセットを形成する。
【００６７】
[0089]  多次元解析操作
一部の実施形態では、データベースは、通常、極めて大きく、階層構造、および、しばしば、多くのメンバをそれぞれが有する多くの次元を含む。もたらされる、データキューブのラチスを移動し、次元の縮減を実行して、解析のためのデータを抽出するのに、本発明の方法と一緒に使用されることが可能な、いくつかの多次元解析操作が、存在する。
【００６８】
[0090]  ドリルダウンは、データキューブのラチスを、より詳細な方向に移動するプロセスを指す。ドリルダウンは、１つの情報をより小さい、より詳細な部分に分割する技術である。
【００６９】
[0091]  ロールアップは、ドリルダウンの逆であり、詳細なデータを、より粗い要素に集約する。
【００７０】
[0092]  投影（図８に例示される）は、次元にわたって集約することにより、ｎ次元のデータキューブの次元の数を、（ｎ−１）次元に減らす。例えば、図８では、最初の投影は、「場所」にわたって集計を行い、３次元キューブを２次元キューブに縮減する。
【００７１】
[0093]  投影が、集約を介して次元の数を減らすのに対して、スライシング（図９に例示される）は、次元をフィルタリングして、単一の値にすることにより、次元の数を減らす。つまり、１つの次元が、その次元にわたるスライスを生成するように、一定に保たれる。図９に示される例では、「第２四半期」に関するデータに対応する２次元スライスが、「時間」次元からとられている。
【００７２】
[0094]  視覚化のためのデータ特徴付け
視覚化の目的で、データベースシステムによって通常、捕捉されるより多くの属性についてのことが、しばしば、必要とされる。データベースは、フィールドの名前、フィールドが、次元であるか、または計量値であるか、およびフィールドのタイプ（例えば、時間、整数、フロート、文字）などの、フィールドについての限られた情報を通常、提供する。
【００７３】
[0095]  本発明の一部の実施形態では、ビジュアルテーブルの中のフィールドを、ビジュアル特性を使用して、どのようにコード化するかを決定するため、データベースフィールド（オペランド）が、名目的であるか、順序を表すか、または定量的であるかについての判定が、行われる。代表的なビジュアル特性には、色、サイズ、または位置が含まれるが、以上には限定されない。これには、ピボットテーブルのようなテーブルの中に現れる通常の黒のテキストが含まれる。この特徴付けは、Ｓｔｅｖｅｎｓの測定スケールの単純化に基づく。Ｓｔｅｖｅｎｓ、Ｓｃｉｅｎｃｅ、１０３、６７７〜６８０ページ、（１９４６年）を参照されたい。一部の実施形態では、この特徴付けは、離散データと連続的データの間の違いを文脈が強調するかどうか、またはフィールドが順序付けを有することを文脈が強調するかどうかに依存して、さらに単純化される。一実施例では、フィールドを空間的にコード化する場合、強調されるのは、フィールドが離散値を有するかどうかである。さらに、フィールドが、軸に割り当てられる場合、フィールドは、順序付けを有する。このため、この文脈では、通常、順序付けを有さない名目的なフィールドに、順序付けが割り当てられ、本発明の一部の実施形態において、順序フィールドとして扱われる。もたらされる特徴付けは、分類的と呼ばれる。
【００７４】
[0096]  これとは異なり、色などのビジュアル特性をフィールドに割り当てる場合、区別をつける重要な特徴付けは、順序である。この文脈では、順序フィールドと定量的フィールドは、単一の特徴付けとして扱われ、名目的フィールドは、本発明の一部の実施形態では、別個に考慮される。さらに、属性は、関連する単位、および意味的領域を有する。例えば、属性は、時間、経度と緯度などの地理的単位、または物理的計量値をコード化することができる。以上の情報が、利用可能な場合、以上の情報は、より効果的なビジュアルコード化を生成し、ビジュアルテーブルの形状寸法（例えば、縦横比）を決定するのを助けるのにも使用されることが可能である。例えば、ビジュアルテーブルのｘ軸とｙ軸が、利益と売上高ではなく、緯度と経度に対応することを知ることは、適切な形状寸法および図の決定に影響を与える。
【００７５】
[0097]  また、データベースは、通常、全く順序付けなしに、フィールドの現在の領域（例えば、データベース内に現在、存在する値）だけを格納することも行う。しかし、アナリストには、可能な値や、それらの値の本来備わった（該当する場合）順序付けなどの、フィールドの実際の領域を理解することが重要である可能性がある。属性をビジュアルテーブルの軸としてコード化するのに、データが欠落している場合の指示が、行われることが可能であるように、さらに、何らかの恣意的な順序付け、例えば、アルファベット順を使用するのではなく、データの意味的文脈内でデータを提示するのに、可能なすべての値、およびそれらの値の順序付けが、必要とされる。一部の実施形態では、以上のさらなるデータ特徴付けは、データベースに関連する属性ファイルの中で捕捉される。
【００７６】
[0098]  データベースのデータ探究
本発明の方法は、当技術分野で知られている多くの視覚化ツールおよびデータ解析ツールに適用可能である。一部の実例では、そのようなツールは、本発明の特徴を活用するために、変更を要するが、そのような変更は、当業者の能力の範囲内である。
【００７７】
[0099]  １つのツールは、Ｐｏｌａｒｉｓである。Ｓｔｏｌｔｅ、Ｔａｎｇ、およびＨａｎｒａｈａｎ、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｖｉｓｕａｌｉｚａｔｉｏｎ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ８、（２００２年）を参照されたい。Ｐｏｌａｒｉｓは、関係の視覚化を構築するための代数形式主義に基礎を置く。ユーザインタフェースの状態は、ビジュアル規定である。この規定は、形式主義に従って解釈されて、要求されるデータを取り出すのに必要な一連のクエリとともに、結果のタプル（データベースの中のデータのロウ）の、グラフィックマークへのマッピングおよびレイアウトが、決定される。
【００７８】
[0100]  本発明が適用可能な分野における、その他のツールは、以下の２つのカテゴリに分けることができる。すなわち、データベースのビジュアル探究、およびデータマイニングアルゴリズムと併せたデータ視覚化の使用である。
【００７９】
[0101]  データベースのビジュアルデータ探究のためのツールには、ＶＱＥ（Ｍｅｒｔｈｉｃｋ他、１９９７年、「Ａｎ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｖｉｓｕａｌｉｚａｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  Ｄａｔａ  Ｅｘｐｌｏｒａｔｉｏｎ」、Ｐｒｏｃ．ｏｆ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｄａｔａｂａｓｅｓ、２〜９ページ）、Ｖｉｓａｇｅ（Ｒｏｔｈ他、１９９６年、「Ｖｉｓａｇｅ：Ａ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  Ｅｘｐｌｏｒｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｖｉｓｕａｌｉｚａｔｉｏｎ、３〜１２ページ掲載）、ＤＥＶｉｓｅ、Ｌｉｖｎｙ他、１９９７年、「ＤＥＶｉｓｅ：Ｉｎｔｅｇｒａｔｅｄ  Ｑｕｅｒｙｉｎｇ  ａｎｄ  Ｖｉｓｕａｌ  Ｅｘｐｌｏｒａｔｉｏｎ  ｏｆ  Ｌａｒｇｅ  Ｄａｔａｓｅｔｓ」、Ｐｒｏｃ．ｏｆ  ＡＣＭ  ＳＩＧＭＯＤ掲載）、およびＴｉｏｇａ−２（Ｗｏｏｄｒｕｆｆ他、２００１年、Ｊ．Ｖｉｓｕａｌ  Ｌａｎｇｕａｇｅｓ  ａｎｄ  Ｃｏｍｐｕｔｉｎｇ、Ｓｐｅｃｉａｌ  Ｉｓｓｕｅ  ｏｎ  Ｖｉｓｕａｌ  Ｌａｎｇｕａｇｅｓ  ｆｏｒ  Ｅｎｄ−ｕｓｅｒ  ａｎｄ  Ｄｏｍａｉｎ−Ｓｐｅｃｉｆｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  １２、５５１〜５７１ページ）が含まれる。その他の例示的なツールは、ＸｍｄｖＴｏｏｌ（Ｗａｒｄ、１９９４年、「ＸｍｄｖＴｏｏｌ：Ｉｎｔｅｇｒａｔｉｎｇ  ｍｕｌｔｉｐｌｅ  ｍｅｔｈｏｄｓ  ｆｏｒ  ｖｉｓｕａｌｉｚｉｎｇ  ｍｕｌｔｉ−ｖａｒｉａｔｅ  ｄａｔａ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｖｉｓｕａｌｉｚａｔｉｏｎ、３２６〜３３６ページ）、Ｓｐｏｔｆｉｒｅ（ＢｉｏＮｏｒｔｈ、Ｏｔｔａｗａ、Ｏｎｔａｒｉｏ、Ｃａｎａｄａ、２００２年１１月）、Ｘｇｏｂｉ（Ｂｕｊａ他、１〜９９６、Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｓｔａｔｉｓｔｉｃｓ  ５、７８〜９９ページ）、および視覚化システムであるＶｉｓＤＢ（ＫｅｉｍおよびＫｒｉｅｇｅｌ、１９９４年、「ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ」、１４、４０〜４９ページ）である。
【００８０】
[0102]  本発明で使用されることが可能な視覚化およびデータマイニングのためのツールには、決定ツリー、ベイズ分類子、および決定テーブル分類子を表示するための技術を組み込んだＳＧＩのＭｉｎｅＳｅｔ（Ｂｒｕｎｋ他、「ＭｉｎｅＳｅｔ：ａｎ  ｉｎｔｅｇｒａｔｅｄ  ｓｙｓｔｅｍ  ｆｏｒ  ｄａｔａ  ｍｉｎｉｎｇ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ３ｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｄａｔａ  Ｍｉｎｉｎｇ、１３５〜１３８ページ）が含まれる。
【００８１】
[0103]  本発明で使用するための、その他の視覚化システムは、テーブルベースのディスプレイである。散布図マトリックスなどの静的テーブルディスプレイ（Ｈａｒｔｉｇａｎ、「Ｊｏｕｒｎａｌ  ｏｆ  Ｓｔａｔｉｓｔｉｃａｌ  Ｃｏｍｐｕｔａｔｉｏｎ  ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ」、４、１８７〜２１３ページ）およびトレリスディスプレイ（Ｂｅｃｋｅｒ、「Ｄｉｓｐｌａｙｓ：Ａ  Ｍｕｌｔｉ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｄａｔａ  Ｖｉｓｕａｌｉｚａｔｉｏｎ  Ｔｏｏｌ  ｆｏｒ  Ｄａｔａ  Ｍｉｎｉｎｇ」、Ｔｈｉｒｄ  Ａｎｎｕａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｄａｔａｂａｓｅｓ、１９９７年８月）が、統計データ解析において広く使用されており、本発明の方法に適合されることが可能である。
【００８２】
[0104]  同様に、対話型テーブルディスプレイも、本発明と合致する。例えば、ピボットテーブルは、アナリストが、テーブル軸に対するフィールドの割り当てを対話的に指定することにより、大型の多次元データセットの様々な投影を探究することを可能にする。しかし、ピボットテーブルは、テキストベースのディスプレイに限定される。
【００８３】
[0105]  Ｔａｂｌｅ  Ｌｅｎｓ（ＲａｏおよびＣａｒｄ、「Ｔｈｅ  Ｔａｂｌｅ  Ｌｅｎｓ：Ｍｅｒｇｉｎｇ  Ｇｒａｐｈｉｃａｌ  ａｎｄ  Ｓｙｍｂｏｌｉｃ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｉｎ  ａｎ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｆｏｃｕｓ＋Ｃｏｎｔｅｘｔ  Ｖｉｓｕａｌｉｚａｔｉｏｎ  ｆｏｒ  Ｔａｂｕｌａｒ  Ｉｎｆｏｒｍａｔｉｏｎ」、Ｉｎ  Ｐｒｏｃ．ｏｆ  ＳＩＧＣＨＩ  １９９４、３１８〜３２２ページ掲載）、およびＦＯＣＵＳ視覚化システム（Ｓｐｅｎｋｅ他、「ＦＯＣＵＳ：Ｔｈｅ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｔａｂｌｅ  ｆｏｒ  Ｐｒｏｄｕｃｔ  Ｃｏｍｐａｒｉｓｏｎ  ａｎｄ  Ｓｅｌｅｃｔｉｏｎ」、Ｉｎ  Ｐｒｏｃ．ｏｆ  ｔｈｅ  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｏｆｔｗａｒｅ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ、１９９６年１１月）のような動的ディスプレイは、セルの中で、定量的値を伝える単純なグラフィックスを使用して、リレーショナルテーブル表示でデータを提示するテーブルディスプレイを提供し、本発明で使用するのにも適している。
【００８４】
[0106]  以上の視覚化ツールのすべては、いくつかの欠点を有するものの、以上のツールは、本明細書で説明する方法に従ってマークを選択し、識別するプロセスに適している。さらに、以上のツールについて明示的に述べたが、本発明の方法が、以上の特定の実例に限定されることは、意図していない。
【００８５】
[0107]  好ましい実施形態の概要
本発明の機能を提供するグラフィカルユーザインタフェースの好ましい実施形態の実施例を、図１０に示す。
【００８６】
[0108]  概念上のデータフロー
クエリが、データベース全体にわたって実行され、結果が、ユーザ向けに決定されたマークを使用してペインの中に表示される、本発明の好ましい実施形態による概念上のデータフローを、図１０に関連して説明することができる。図１１および図１２に例示的なステップが示されている。ビジュアルテーブル７２０構造を定義することとともに、ビジュアル規定（シェルフ７０８−４上、およびシェルフ７０８−５上で形成される）の代数式は、データベースのいずれのタプルが、選択され、各ペイン７２２の中にマップされるべきかを定義する。規定が、解釈されると、一実施形態では、データベースからタプルを取り出す１つまたは複数のクエリが、生成される（図１１のステップ６０８、図１２のステップ１８０２）。結果のタプルは、複数のレイヤ、および複数のペインに入るように分けられる（図１２のステップ１８０４）。次に、各ペイン内のタプルが、グループ化され、選別され、集約される（図１２のステップ１８０６）。タプルは、選別されて、ペイン７２２に入れられると、次に、ペインの軸上のフィールドのタイプを使用する規則セットに従ってグラフィックマークにマップされて、知覚可能な表示が生成される（図１２のステップ１８０８）。
【００８７】
[0109]  図１０の好ましい実施形態において特に関心対象となるのは、ロウシェルフ７０８−４およびカラムシェルフ７０８−５である。カラムシェルフは、ＰｒｏｄｕｃｔＴｙｐｅおよびＰｒｏｆｉｔというフィールドを含み、ロウシェルフは、ＱｕａｒｔｅｒおよびＳａｌｅｓというフィールドを含む。これらのシェルフ上のフィールドには、異なる形で陰影が付けられることに留意されたい。ＰｒｏｄｕｃｔＴｙｐｅおよびＱｕａｒｔｅｒを表す左側の項目は、カテゴリであり、ＰｒｏｆｉｔおよびＳａｌｅｓを表す右側の項目は、数量である。
【００８８】
[0110]  本発明をサポートすることができるビジュアルスプレッドシートの基本的な機能は、ユーザが、宣言言語で句を作成することにより、データベースのピクチャを指定することができるようにすることである。図１０に示されるシステムでは、これは、左側のデータベーススキームからのフィールドを、アプリケーションにおける様々なシェルフにドラッグすることによって行われることが可能である。シェルフの内容は、その言語における句を形成する。その言語ステートメントが、所望されるピクチャを定義する。
【００８９】
[0111]  この好ましい実施形態の態様は、リレーショナルデータベースおよびデータキューブの中に格納されたデータのピクチャを記述するための言語である。その言語の重要な態様は、本明細書で例をさらに説明する、テーブル代数である。テーブル代数は、式および公式を使用して、グラフィックテーブルのロウとカラムのレイアウトを記述する。
【００９０】
[0112]  多くのテーブル代数が、本発明で使用するのに適していることが、当業者には理解されよう。好ましい実施形態では、テーブル代数式は、連結（＋）、掛け算（×）、および割り算（／）などの代数演算子を含む。掛け算は、クロス乗積を表し、割り算は、ネストを表す。データベースからのフィールドは、データベースの中のそのフィールドの領域に対応するセットを表す。例えば、ＰｒｏｄｕｃｔＴｙｐｅのようなカテゴリの場合、領域セットは、｛コーヒー，エスプレッソ，ハーブ茶，茶｝などの様々なタイプの製品を含む。クロス演算子は、それらのセットのクロス乗積を形成する。したがって、ＰｒｏｄｕｃｔＴｙｐｅ×Ｐｒｏｆｉｔは、以下のセット、｛（コーヒー，利益），（エスプレッソ，利益），（ハーブ茶，利益），（茶，利益）｝を作成する。より複雑なセットも、より複雑な式を使用して形成されることが可能である。
【００９１】
[0113]  ロウシェルフとカラムシェルフの内容を使用して、テーブル代数における式が形成される。示される実施例では、ロウシェルフにより、以下の式が形成されるようになる。すなわち、ＰｒｏｄｕｃｔＴｙｐｅ×Ｐｒｏｆｉｔ。
【００９２】
[0114]  好ましい実施形態では、ロウとカラムのテーブル代数式からもたらされるセットを使用して、キャンバスが、ヘッダ、軸、ペイン、およびセルに分けられる。数量は、軸をもたらし、カテゴリ量は、ヘッダをもたらす。ペインは、最も内側のロウとカラムのフィールドによって定義される。図１０の実施例では、最も内側のロウのフィールドとカラムのフィールドはそれぞれ、ＰｒｏｆｉｔとＳａｌｅｓである。
【００９３】
[0115]  一部の実施形態では、クエリが、ビジュアル表現を作成する前に実行される。クエリを実行することの結果は、データベースからタプルのセットを取り出すことである。いずれにしても、表示のために選択されたタプルは、次に、分けられて、複数のペインに入れられる。ペインの中の各タプルが、次に、規則セットに従ってマークにマップされ、そのマークの特性が、設定される。
【００９４】
[0116]  マークを決定するための例示的なシステム
本明細書で提示するのは、クエリから取り出されたレコードなどの、データベースレコードを視覚化するための適切なマークを決定するための例示的なシステムである。システムは、本発明の方法を使用してデータベースレコードを視覚化するのに使用されることが可能である。しかし、これは、単に例示的なシステムである。本発明のデータ視覚化方法は、データベースクエリ結果の視覚化に限定されない。本発明のデータ視覚化方法は、様々な形で表示されることが可能な任意の形態のデータを視覚化するのに使用されることが可能である。
【００９５】
[0117]  図１３は、本発明の一実施形態による、データウェアハウスのようなデータベースの中のデータの表示を円滑にするシステム５００を示す。
【００９６】
[0118]  システム５００は、中央処理装置５２２と、ソフトウェアおよびデータを格納するための、好ましくは、１つまたは複数のハードディスクドライブを含むメイン不揮発性ストレージユニット５３４と、ディスクコントローラ５３２によって通常、制御されるストレージユニット５３４と、不揮発性ストレージユニット５３４から読み込まれるプログラムおよびデータを含め、システム制御プログラム、データ、およびアプリケーションプログラムを格納するためのシステムメモリ５３８、好ましくは、高速ＲＡＭ（ランダムアクセスメモリ）と、マウス５２６、キーパッド５３０、およびディスプレイ５２８などの、１つまたは複数の入力デバイスを含むユーザインタフェース５２４と、任意の有線または無線の通信ネットワークに接続するための、オプションのネットワークインタフェースカード５３６と、システムの前述した諸要素を互いに接続するための内部バス５３３とを含むコンピュータ５０２を、好ましくは、含む。また、システムメモリ５３８は、ＲＯＭ（読み取り専用メモリ）を含むことも可能である。
【００９７】
[0119]  コンピュータ５０２の動作は、中央処理装置５２２によって実行されるオペレーティングシステム５４０によって主に制御される。オペレーティングシステム５４０は、システムメモリ５３８の中に格納されることが可能である。オペレーティングシステム５４０に加えて、システムメモリ５３８の通常のインプリメンテーションは、本発明によって使用される様々なファイルおよびデータ構造へのアクセスを制御するためのファイルシステム５４２と、（データベース５５８のフィールドに基づいた言語になっている規定をユーザから獲得することにより、１つまたは複数のペインから成るビジュアルテーブルを構築するために）ユーザからビジュアル規定（規定）を獲得するためのユーザインタフェースモジュール５４６と、（タプルまたはオブジェクトのセットを、１つまたは複数のペインにおけるあるペインに関連付けるために）データベースレコードを処理して、それらの結果を規定に従って表示するためのビジュアルインタプリタモジュール５５６とを含む。また、メモリ５３８は、オプションとして、（データベース５５８にクエリを行って、規定に従ってタプルまたはオブジェクトのセットを取り出すために）規定に基づいてデータベースクエリを作成するためのデータインタプリタモジュール５５２も含むことが可能である。
【００９８】
[0120]  好ましい実施形態では、ユーザインタフェースモジュール５４６は、システムによって実行されるべき厳密な解析操作およびクエリ操作を決定するのに使用されることが可能な形式主義を指定するビジュアル規定５５０を含む。モジュール５４６は、オプションとして、データベース階層５４８の詳細を含んでもよい。
【００９９】
[0121]  好ましい実施形態では、データインタプリタモジュール５５２は、データベースにクエリを行うのに使用される１つまたは複数のクエリ記述５５４と、データベースクエリ結果を格納するのに使用されるクエリキャッシュ５５５と、各ペイン７２２に関する別個のデータ構造を、ビジュアルインタプリタモジュール５５６によって表示されるビジュアルテーブル７２０の中に格納するのに使用されるペインデータキャッシュ５５７とを含む。
【０１００】
[0122]  また、システム５００は、１つまたは複数のデータベース５５８も含む。オプションとして、データベースには、データベーススキーマ５６０が関連付けられる。一般に、データベース５５８は、フラットファイル、リレーショナルデータベース、階層データベース、またはＯＬＡＰデータベースを含むが、以上には限定されない、任意の形態のデータストレージシステムである。一実施形態では、データベース５５８は、概念上、多次元データキューブと見なされることが可能なＯＬＡＰデータである。他の諸実施形態では、データベース５５８は、階層ＯＬＡＰキューブである。一部の特定の実施形態では、データベース５５８は、キューブとして格納されないが、階層を定義する次元テーブルを有するスタースキーマを含む。さらに、一部の実施形態では、データベース５５８は、基礎をなすデータベースまたはデータベーススキーマ（例えば、階層構造にされていない次元テーブル）に明示的に広げられていない階層を有する。一部の実施形態では、属性ファイル５８０が、各データベース５５８に関連付けられる。
【０１０１】
[0123]  通常の実施形態では、データベース５５８の１つまたは複数は、コンピュータ５０２によってホストされない。むしろ、通常の実施形態では、データベース５５８は、ネットワークインタフェース接続５３６を使用してコンピュータ５０２によってアクセスされる。
【０１０２】
[0124]  図１３に示されるモジュールの多くは、リモートコンピュータ上に存在することが可能であることが理解されよう。例えば、本発明の一部の実施形態は、Ｗｅｂサービスタイプのインプリメンテーションである。そのような諸実施形態では、ユーザインタフェースモジュール５４６は、ネットワーク（図示せず）を介してコンピュータ５０２と通信するクライアントコンピュータ上に存在することが可能である。一部の実施形態では、ユーザインタフェースモジュール５４６は、コンピュータ５０２によってクライアントコンピュータに提供される対話型Ｗｅｂページであることが可能である。さらに、ビジュアルインタプリタモジュール５５６のコンポーネントの一部またはすべては、クエリの結果が、クライアントコンピュータ上で表示されるように、クライアントコンピュータ上に存在することが可能である。このため、本発明は、１名または複数名のユーザが、リモートサイトから本発明の技術および方法を使用して、１つまたは複数のデータベース５５８を探究することができる、多くの多様なインプリメンテーションを完全に包含する。単一の中央コンピュータにおける図１３のモジュールの例示は、単に、本発明の様々な実施形態において使用されるいくつかのソフトウェアモジュールおよびデータ構造を簡潔に示すために提示されており、全く限定するものではない。
【０１０３】
[0125]  他の多くの構成が、可能であり、すべてのそのような構成が、本発明の範囲に含まれることが、当業者には理解されよう。
【０１０４】
[0126]  テーブル代数
本発明の方法は、グラフィックスを指定するための形式的なシステム、つまり、言語を活用する。本発明を実施するのに十分である、多くのそのような言語が、存在する。例えば、Ｗｉｌｋｉｎｓｏｎ（「Ｔｈｅ  Ｇｒａｍｍａｒ  ｏｆ  Ｇｒａｐｈｉｃｓ、Ｎｅｗ  Ｙｏｒｋ、Ｓｐｒｉｎｇｅｒ、（１９９９）」、米国特許第６４９２９８９号）が、従来の統計グラフを記述するための言語を開発し、Ｗｉｌｋｉｎｓｏｎの言語内で表現可能な規定のサブセットを生成するためのインタフェースを提案した。そのような言語が、本発明の方法で使用されることも可能である。
【０１０５】
[0127]  基礎にあるそのような言語は、好ましい実施形態では、代数である。多くの代数が、本発明を可能にする目的で有用に使用されることが可能である。したがって、本明細書で説明する代数だけが、本発明の方法を実行するのに使用されることが可能な、そのような代数ではないことを理解されたい。
【０１０６】
[0128]  本明細書で説明するとおり、テーブル構成は、３つの別々の式から成ることが可能である。それらの式の２つは、テーブルをロウとカラムに分ける、ビジュアルテーブル７２０のｘ軸とｙ軸の構成を定義する。第３の式は、互いに重ねて構成されたｘ−ｙテーブルのレイヤに表示を分ける、ビジュアルテーブル７２０のｚ軸を定義する。以下の説明は、本発明の好ましい諸実施形態において、それら３つの式で使用されることが可能な、構文および意味を含む代数を説明する。本明細書で説明するとおり、その代数における各式は、演算子によって結び付けられたオペランドから成る。
【０１０７】
[0129]  オペランド
オペランドは、代数式に含められるように選択された、データベーススキーマ（またはその他のデータベースメタデータ）からの次元レベルまたは測定／定量的変数である。好ましいテーブル代数におけるオペランドは、データベース５５８のフィールドの名前（フィールドオペランド）、およびｐタプルの事前定義された不変のシーケンスの名前（定数オペランド）である。一部の実施形態では、フィールドタイプの分類は、すべての名目的フィールドにデフォルトのアルファベット順を割り当て、次に、それらのフィールドを序数として扱うことにより、順序タイプおよび定量的タイプに減らされる。このため、そのような諸実施形態では、以下の３つのクラスのオペランドが存在する。すなわち、（１）順序フィールドオペランド、（２）定量的フィールドオペランド、および（３）定数オペランドである。この説明の以降の部分では、全体にわたって、項ＡおよびＢは、順序フィールドオペランドを表し、ＰおよびＱは、定量的フィールドオペランドを表し、Ｃは、定数オペランドを表し、Ｘ、Ｙ、およびＺは、式を表す。
【０１０８】
[0130]  セット解釈
セット解釈は、以下のように各オペランド記号に割り当てられる。順序フィールドには、フィールドの順序付けられた領域のメンバが割り当てられる。定量的フィールドには、フィールド名を含む単一の要素セットが割り当てられる。定数オペランドには、それらのオペランドの事前定義されたセット解釈が割り当てられる。
【数１】
2008523473.tif 000004
【０１０９】
[0131]  説明を簡明にするため、タグは、必要な場合を除き、この説明の以下のセット解釈には含められない。
【０１１０】
[0132]  フィールドオペランドへのセットの割り当ては、２つのタイプのフィールドが、どのようにビジュアルテーブル７２０の構造にコード化されるかにおける主要な違いを反映する。順序フィールドは、ビジュアルテーブル７２０（およびデータベースタプル）をロウとカラムに分けるのに対して、定量的フィールドは、ペイン７２２内の軸として空間的にコード化される。
【０１１１】
[0133]  定数オペランド
定数オペランドは、選択基準も、空間的コード化も定義しない。代わりに、定数オペランドは、データベースタプルを分けることなしに、さらなるロウを生成するのに使用されることが可能である。これは、異種のデータベースの階層化を容易にする。一部の実施形態では、定数オペランドは、仮想事実テーブルを定義し、次に、その仮想事実テーブルに対して演算子を定義することにより、順序フィールドオペランドとして扱われる。（Ｃ，．．．，Ｃｎ）を定数オペランドのセットとし、ＲＣを、領域が、Ｃｉの事前定義されたセット解釈に対応する、単一の属性（Ｃｉ）との関係とし、ＦＴを、データベース５５８に関する事実テーブルとする。仮想事実テーブルＶＦＴは、以下のとおり、所与の定数オペランドセットに対して定義される。
【数２】
2008523473.tif 000005
この代数は、１つの事前定義された定数オペランドである、空のシーケンスを含む。
【０１１２】
[0134]  フィールドオペランドのフィルタリングおよび選別
フィールドが、フィルタリング（または選別）されるべき場合、フィルタリングされ、選別された領域は、式においてフィールドオペランドの直後にリストアップされ、事実上、そのオペランドに関するセット解釈を指定する。領域（Ａ）＝＜（ａ），．．．，（ａｎ）＞を有する順序フィールドＡを所与として、オペランドは、フィルタリングされ、選別された領域（＜ｂ，．．．，ｂｊ＞，ｂｉ∈領域（Ａ））を、序数オペランドの直後に示すことにより、式内でフィルタリングされ、選別されることが可能であり、セット解釈は、以下のとおり、リストアップされた領域である。
【数３】
2008523473.tif 000006
同様に、フィルタリングされた領域は、所望される領域の最小値と最大値をリストアップすることにより、定量的フィールドに関して指定されることが可能である。その情報は、以下のとおり、生成されたセット解釈の中に含まれる。
【数４】
2008523473.tif 000007
【０１１３】
[0135]  オペランド、およびオペランドのセット解釈の生成を定義したので、本発明の代数における４つの演算子が、定義されることが可能である。
【０１１４】
[0136]  演算子
本明細書で述べるとおり、代数における有効な式は、隣接するオペランドの各ペアの間に演算子を有する、１つまたは複数のオペランドの順序付けられたシーケンスである。この代数における演算子は、優先の順に、ドット（．）、クロス（×）、ネスト（／）、および連結（＋）である。括弧を使用して、優先の順序を変更することができる。各オペランドは、シーケンスとして解釈されるので、各演算子の正確な意味は、その演算子が、どのように２つのシーケンス（左側のオペランドと右側のオペランドから１つずつ）を組み合わせて、単一のシーケンスにするかという点で、定義される。ドット演算子、クロス演算子、ネスト演算子、および連結演算子の定義を、本明細書で提供する。提供される厳密な定義は、単に例示的であり、各演算子の特徴と合致する他の定義も、本発明の範囲に含まれることが、当業者には理解されよう。
【０１１５】
[0137]  連結
連結演算子は、２つのオペランドのセット解釈の順序付けられた合併を実行し、以下のとおり、任意の２つのオペランドまたは式に適用されることが可能である。
【数５】
2008523473.tif 000008
【数６】
2008523473.tif 000009
【数７】
2008523473.tif 000010
【数８】
2008523473.tif 000011
【数９】
2008523473.tif 000012
【０１１６】
[0138]  連結演算子に関して成立する唯一の代数特性は、以下のとおり、結合則である。
【数１０】
2008523473.tif 000013
【０１１７】
[0139]  連結演算子は、２つのシーケンスの順序付けられた合併が、可換ではないため、可換ではない。
【０１１８】
[0140]  クロス
クロス演算子は、以下のとおり、２つの記号のセットのデカルト積を実行する。
【数１１】
2008523473.tif 000014
【数１２】
2008523473.tif 000015
【数１３】
2008523473.tif 000016
【０１１９】
[0141]  定量的フィールドおよび式は、クロス演算子が適用された場合に、右側のオペランドとしてだけ現れることが可能である。また、クロス演算子は、以下のとおり、結合的ではあるが、可換ではない（順序付けられたデカルト積が、可換ではないため）。
【数１４】
2008523473.tif 000017
【０１２０】
[0142]  ネスト
ネスト演算子は、クロス演算子と同様であるが、同一の領域値を有するデータベースタプルが存在するセットエントリだけを作成する。ＶＦＴが、式ＸおよびＹにおけるすべての定数オペランドに関連して解析されているデータベースの仮想事実テーブルであり、ｔが、タプルであり、ｔ（Ｘ．．．Ｘｎ）が、タプルｔに関するフィールドＸないしＸｎの値であると定義される場合、ネスト演算子は、以下のとおり、定義されることが可能である。すなわち、
【数１５】
2008523473.tif 000018
【数１６】
2008523473.tif 000019
【数１７】
2008523473.tif 000020
【数１８】
2008523473.tif 000021
【０１２１】
[0143]  ネスト演算子の適用によって生成されるシーケンスにおけるｐタプルの順序付けは、同一のオペランドに対するクロス演算子の適用によって生成されたシーケンスにおける場合と同一である。
【０１２２】
[0144]  ネスト演算子の直観的解釈は、「Ａ内のＢ」である。例えば、ＱｕａｒｔｅｒおよびＭｏｎｔｈというフィールドを所与として、式Ｑｕａｒｔｅｒ／Ｍｏｎｔｈは、各四半期内の月と解釈され、各四半期に関して３つのエントリがもたらされる（事実テーブルの中に、すべての月に関するデータが存在するものと想定して）。これに対して、Ｑｕａｒｔｅｒ×Ｍｏｎｔｈは、各四半期に関して１２のエントリをもたらす。ネスト演算子は、序数オペランドおよび式にだけ適用されることが可能である。ネストは、結合的な演算子である。
【０１２３】
[0145]  ドット
クロス演算子およびネスト演算子は、アドホックなカテゴリ階層を生成するためのツールを提供する。しかし、データウェアハウスは、しばしば、明確な意味階層を有する次元を含む。ドット演算子は、本発明の代数において、それらの階層構造を活用するための機構を提供する。ドット演算子は、ネスト演算子に類似するが、「階層を認識」している。
【０１２４】
[0146]  ＤＴが、レベルＡおよびＢを含む階層を定義するリレーショナル次元テーブルであると定義され、ＤＴのスキーマにおいてＡがＢに先行する場合、以下のとおりである。すなわち、
【数１９】
2008523473.tif 000022
【０１２５】
[0147]  同様に、ドットは、同一の次元階層からのドット演算子およびレベルだけが関与する式Ｘに関連して定義されることが可能である。ＤＴは、Ｘにおけるすべてのレベルと、次元レベルＡとを含む次元を定義するリレーショナル次元テーブルであると定義される。さらに、Ｘにおけるすべてのレベルは、それらのレベルが、Ｘにおいて現れる順序で、ＤＴのスキーマにおいて現れなければならず、ＤＴのスキーマにおいてＡに先行しなければならない。したがって、以下のとおりである。すなわち、
【数２０】
2008523473.tif 000023
また、ドット演算子は、結合的でもあるが、可換ではない。
【０１２６】
[0148]  注意として述べると、ネストは、データベース階層におけるドリルダウンのために使用されることが可能であるが、その用法は、不適切である。ネスト演算子は、次元レベル間の定義された階層関係を認識せず、代わりに、事実テーブルの中のタプルに基づく関係を導き出す。このアプローチは、事実テーブルが、しばしば、極めて大きいので、非効率なだけでなく、誤った結果をもたらす可能性もある。例えば、１１月に関して、全くデータがログ記録されていない状況を考慮されたい。ＱｕａｒｔｅｒおよびＭｏｎｔｈにネスト演算子を適用することは、四半期４の子として１１月を含まない、誤った形で導き出された階層をもたらす。
【０１２７】
[0149]  ドット演算子は、データベースが階層データベースである状況においてデータベース階層を扱うための特に有利な方法を提供する。これは、ドット演算子が、（ｉ）データベース５５８次元テーブルにおいて定義されている、または（ｉｉ）データベース５５８が、次元テーブルを有さず、他の形で構築されている実例における階層情報を使用するからである。これとは異なり、ネスト演算子は、次元レベル間の定義された階層関係を認識していない。代わりに、ネスト演算子は、データベース事実テーブルの中のタプルの存在スキャンに基づき、データベース内の階層タイプ関係を導き出すことにより、機能する。これは、事実テーブルが、極めて大きい可能性があるため、階層情報を導き出す非効率なやり方である。有利には、ドット演算子は、存在スキャンに基づいてデータベース内の階層タイプ関係を導き出すことをしない。むしろ、ドット演算子は、データベース階層を定義するデータベース５５８に関連するメタデータを使用する。そのメタデータの形態は、データベース５５８の厳密な性質に依存する。一部の実例では、メタデータは、例えば、スタースキーマを含む。データベース５５８が、そのような定義された階層関係（例えば、データベース５５８が、フラットファイルであるケースにおける）を有さない実例では、メタデータは、データベース階層モジュールによって構築される。
【０１２８】
[0150]  要約
各演算子に関して本明細書で説明されるセット意味を使用して、代数におけるすべての式は、セットの中の各エントリが、順序付けられたｐタプルである、単一のセットに縮減されることが可能である。式の、このセット評価は、正規化されたセットフォームと呼ばれる。式の正規化されたセットフォームは、テーブルの１つの軸を算出する。すなわち、テーブル軸は、正規化されたセットの中のセットエントリと、カラムとの間に１対１対応が存在するように、分けられて、複数のカラム（あるいは複数のロウまたはレイヤ）に入れられる。
【０１２９】
[0151]  代数プロパティ
本発明で使用するための好ましい代数では、代数式は、以下の２つの目的のためのセットとして解釈される。すなわち、（ｉ）ビジュアルテーブル７２０の基礎をなすテーブル構造を決定するため、および（ｉｉ）データベース５５８から取得されるべきタプルを決定するためである。（ｉ）のケースでは、正規化されたセットフォームにおけるｐタプルの順序付けは、有意である。というのは、その順序付けは、ビジュアルテーブル７２０のカラム、ロウ、およびレイヤの順序付けを決定するからである。その結果、それらの演算子に関して成立する唯一の代数特性は、結合則である。可換的な演算子、または分配的な演算子は、正規化されたセットフォームの順序付けを変更する代数操作を可能にする。しかし、いずれのデータベースタプルを取り出すかを決定する解釈を実行する際、演算子の特性に対する以上の制約は、セット解釈におけるｐタプルの順序付けが、データベースクエリの文脈では、有意ではないので、緩和されることが可能である。具体的には、その目的に限って、セット解釈は、シーケンスではなく、バッグとして扱われ（したがって、順序付けを破棄し）、以下の代数特性を可能にする。すなわち、
結合則
【数２１】
2008523473.tif 000024
分配則
【数２２】
2008523473.tif 000025
交換則
【数２３】
2008523473.tif 000026
【０１３０】
[0152]  演算子は、以上の代数特性を可能にするように変更される場合、ビジュアルテーブル７２０を生成するデータベースクエリまたはデータキューブ投影を迅速に決定するように使用されることが可能である。
【０１３１】
[0153]  構文を再び取り上げる
本発明による好ましい代数の構文は、演算子によって隔てられたオペランドのシーケンスとして定義された。また、演算子の適用に関する一部の制約も、提供された。構文は、文法を使用することにより、正確にされることが可能である。文法を定義するのに、以下の４つの属性が、導入され、定義される。すなわち、終端記号のセット、非終端のセット、生成規則のセット、および開始記号である。本発明による好ましい文法は、以下の１０の終端記号を有する。すなわち、
【０１３２】
【表２】
2008523473.tif 000027
【０１３３】
[0154]  以下は、好ましい文法に関する生成規則である（Ｅは、開始記号である）。すなわち、
【数２４】
2008523473.tif 000028
【０１３４】
[0155]  以下は、その文法で表現された、演算子に対する主要な構文上の制約である。すなわち、
クロス：定量的オペランド、または定量的オペランドを含む式は、クロス演算子の右側のオペランドであることだけしか可能でない。
ネスト：ネスト演算子は、序数オペランドおよび式にだけ適用されることが可能である。
ドット：ドットは、次元レベルに適用されることだけしか可能でない。さらに、定量的フィールドは、ドット演算子の右端のオペランドとしてだけしか現れることが可能でない。というのは、定量的次元レベルは、次元階層のリーフレベルとしてだけしか可能でないからである。
連結：連結は、いずれのオペランドにも適用されることが可能である。
【０１３５】
[0156]  以上の説明では、代数式は、テーブルを複数のロウおよびカラムに入るように分割する。また、代数式は、レイヤを記述することもできる。
【０１３６】
[0157]  レイヤ
本発明では、ビジュアルテーブル７２０の中のあるレイヤは、ｘ軸とｙ軸の式によって構造が定義される単一のｘ−ｙテーブルである。規定におけるすべてのレイヤが、すべて一緒に合成されて、最終的な視覚化が形成される。単一の視覚化が、複数のデータソースを組み合わせることが可能である。各データソースは、個別のレイヤ、またはレイヤのセットにマップされる。すべてのデータソースおよびレイヤが、テーブルのｘ軸とｙ軸に関して同一の構成を共有するが、各データソースは、そのソースのデータを分けて、複数のレイヤに入れるための異なる式（ｚ軸）を有することが可能である。複数のデータソースの階層化、およびレイヤの分割が、図１４に示される。本発明の一部の実施形態では、視覚化における各データソースは、個別のレイヤにマップされる。データソースのレイヤは、そのデータソースに関するｚ軸の式によって、さらなるレイヤに分割されることが可能である。規定におけるすべてのレイヤは、すべて一緒に合成されて、最終的な視覚化が形成される。
【０１３７】
[0158]  定数オペランドは、階層化の重要な態様である。単一の視覚化は、別個のレイヤにそれぞれがマップされた複数の異種のデータベース５５８から構成されることが可能であり、すべてのレイヤは、ｘ軸とｙ軸に関して同一の式を共有しなければならない。しかし、時として、視覚化されたデータベースのサブセットの中だけに存在するｘ軸の式およびｙ軸の式の中に順序フィールドを含めることが望ましい。それが生じた場合、定数オペランドが、フィールドが現れるレイヤにおける順序フィールドの領域と合致する事前定義されたセット解釈を有する他のレイヤに関して生成される。このため、式は、各レイヤに関して適切に評価されることが可能である。
【０１３８】
[0159]  データソースに関するｚ軸の式は、ｘ軸およびｙ軸に関する式よりも制約される。具体的には、階層化は、離散的でなければならないので、ｚ軸の式は、序数オペランドだけを含むことができ、定量的オペランドは、含むことができない。つまり、ｚ軸の式は、本発明の文法におけるＯｅｘｐｒ生成規則に制約される。
【０１３９】
[0160]  要約
本明細書で説明される代数は、ビジュアルテーブル７２０の基礎をなす構造を記述するための、簡潔ではあるが、強力な表記法を提供する。代数式は、そのようなテーブルが、どのようにロウ、カラム、およびレイヤに分割されるかを定義し、テーブルの各ペイン７２２内の空間的コード化をさらに定義する。
【０１４０】
[0161]  階層データベースにクエリを行う例示的な方法
（ｉ）データベースの中で明示的に定義されている、または（ｉｉ）データベースから導き出されることが可能な階層構造を有利に使用するデータベースクエリを形成するための例示的な方法を、本明細書で説明する。この例示的な方法は、ビジュアルテーブルにおけるビジュアル規定を使用して形成されたクエリを表示する。このようにしてクエリの結果を表示する方法が、本発明の方法に従ってマークを自動的に表示する方法と一緒に使用されることが可能である。
【０１４１】
[0162]  図１１を参照すると、本発明の一実施形態による例示的な方法が、示されている。図１１で使用されるデータベースの属性は、図１０に関連して見て取ることができる。
【０１４２】
[0163]  ステップ６０２。ステップ６０２で、選択された各データベース５５８に関する階層が、オプションとして、特徴付けられる。一部の実施形態では、複数のデータベース５５８が、同時に解析される。一部の実施形態では、選択されたデータベース５５８は、基礎をなすそれぞれのデータベース５５８の中で明示的に定義された階層を有さない。そのような諸実施形態では、データベース階層情報は、それぞれのデータベースの各データベースに関して構成される。一部の実例では、この解析は、ユーザからの入力によって支援され、かつ／またはデータベースの中に格納されたデータの解析を要求する。
【０１４３】
[0164]  一部の実施形態では、データベース５５８の階層構造は、データベース５５８に関するデータベーススキーマから導き出される。このデータベーススキーマは、スキーマフィールドを含む。一部の実施形態では、各スキーマフィールドは、タイプ（例えば、ベースタイプまたはアレイタイプ）を有する。代表的なベースタイプには、文字ストリング、整数、短整数、倍精度整数、単精度浮動数、倍精度浮動小数点、およびオブジェクトハンドルが含まれるが、以上には限定されない。代表的なアレイタイプには、長整数のアレイ、短整数のアレイ、単精度浮動小数点のアレイ、倍精度浮動小数点のアレイ、およびオブジェクトハンドルのアレイが含まれるが、以上には限定されない。
【０１４４】
[0165]  ステップ６０４。ステップ６０４で、ビジュアル規定（規定）５５０が、ユーザインタフェースモジュール５４６によってユーザから獲得される。好ましい実施形態では、ビジュアル規定５５０は、ユーザインタフェースモジュール５４６によって提供されるドラッグアンドドロップインタフェースを使用して作成される。例示的なユーザインタフェースモジュール５４６が、図１０Ａおよび図１０Ｂに示される。図１０Ａでは、ロウシェルフおよびカラムシェルフが、７０８−４および７０８−５で表され、示されるポイントに配置されたカラムにより、テーブルの構造が決まる。解析操作が、７４２で表され、コンテキストメニューが、フィルタリング、選別、およびドリルダウンなどの解析操作を提供する。ボタン７４０が、取り消し／やり直し能力を提供して、ユーザが、無限の取り消しおよびやり直しを安全に探究し、実験することができるようにする。図１０Ａの左側に示されるデータベーススキーマにおいて、ユーザは、次元レベルまたは物差しをシェルフまでドラッグして、グラフィックを定義する。次元階層は、７４６で示される。図１０Ａに表されるユーザインタフェース内で、フィルタシェルフが、７４８で表され、フィルタは、任意のレベルまたは物差しにおいて構築されることが可能である。Ｇｒｏｕｐ  ｂｙ  Ｓｈｅｌｆ７５０に入れられたレベルにより、各ペイン内のマークの数が決まる。マークメニュー７５２が、各ペイン内の関係が、選択されたタイプのマークとして描かれることを決定する。エリア７５４が、ビジュアル属性をリストアップし、エリア７５４内に配置されたカラムは、マークのビジュアル特性でコード化される。レジェンド７５６により、ユーザが、データからビジュアル特性へのマッピングを見て、変更することができるようになる。各マーク７５８は、データベースからの１つまたは複数の関係を視覚的に表現する。ユーザは、スキーマボックス７０２からのオペランド名を、インタフェース全体の様々なシェルフ７０８にドラッグすることにより、ビジュアル規定５５０を作成する。それらのオペランド名は、ステップ６０２で特徴付けられた、選択された各データベース５５８の階層構造から導き出される。例えば、データベースの中の探究するために利用可能な次元の１つが、「時間」であることが可能である。すると、おそらく、スキーマボックス７０２の中で利用可能なオペランド名は、「年」、「四半期」、「月」、および「日」である。それらのオペランド名のそれぞれは、タイプタプルと呼ばれる。一部の実施形態では、複数のデータベースが、ステップ６０２で特徴付けられる。さらに、規定５５０は、ステップ６０２で特徴付けられた第１のデータベース５５８の階層構造の第１の要素と、ステップ６０２で特徴付けられた第２のデータベースの階層構造の第２の要素とを含むことが可能である。第１の要素は、第１のデータベース５５８から導き出されたタイプタプルを含み、第２の要素は、第２のデータベース５５８から導き出されたタイプタプルを含む。
【０１４５】
[0166]  図１０のスキーマボックス７０２は、解析されている１つまたは複数のデータベース５５８のそれぞれに関するデータベーススキーマの表現を含む。スキーマボックス７０２は、解析されている各データベース５５８の各スキーマ５６０において表現される各次元７０４を含む。例えば、図１０では、「時間」７０４−１、「製品」７０４−２、および「場所」７０４−３という次元を含む単一のデータベースが、解析される。各次元の下に、その次元のレベルの順序付けられたリストが、配置される。例えば、時間７０４−１のケースでは、順序付けられたリストは、「年」、「四半期」、および「月」という次元レベルを含む。製品のケースでは、順序付けられたリストは、「製品タイプ」および「製品」という次元レベルを含む。場所のケースでは、順序付けられたリストは、「市場」および「州」という次元レベルを含む。
【０１４６】
[0167]  ユーザは、任意の次元レベルを、シェルフ７０８のインタフェースの中にドロップすることができる。シェルフ７０８−４および７０８−５は、軸シェルフである。シェルフ７０８−４上、およびシェルフ７０８−５上に配置されたオペランド（例えば、年、四半期、月、製品タイプ、製品、市場、州）により、ビジュアルテーブル７２０の構造、およびビジュアルテーブル７２０の各ペイン７２２内に配置されるグラフのタイプが決まる。例えば、図１０では、「製品タイプ」という次元に属する「売上高」という値が、シェルフ７０８−４上に配置されている。したがって、ビジュアルテーブル７２０のｙ軸は、各「製品タイプ」の売上高の内訳である。有効な製品タイプには、「コーヒー」、「エスプレッソ」、「ハーブ茶」、および「茶」が含まれる。このため、ビジュアルテーブル７２０のｙ軸は、それらの製品の各製品の売上高を表す。図１７では、「四半期」というオペランド（「時間」という次元の一部である）に属する「利益」という値が、シェルフ７０８−５上に配置されている。このため、ビジュアルテーブル７２０のｘ軸は、利益を表す。詳細シェルフ７０８−２のレベルは、州に設定されている。したがって、ビジュアルテーブル７２０の中の各ペイン７２２内の各マークは、ある特定の州に関するデータを表す。
【０１４７】
[0168]  シェルフ７０８（図１０）のオペランドの構成は、ビジュアル規定５５０（図１３）を形成する。少なくとも、ビジュアル規定５５０は、ｘ軸の式とｚ軸の式を含む。より一般的には、ビジュアル規定５５０は、シェルフ７０８−１上に配置されたｘ軸の式、および詳細レベルの式７０８−２をさらに含む。例示的なビジュアル規定は、以下の式、すなわち、
【数２５】
2008523473.tif 000029
を含み、各ペイン７２２内の詳細レベルは、
詳細レベル：Ｇ
に設定される。
【０１４８】
[0169]  一部の実施形態では、ユーザは、本明細書でさらに説明される、代数（例えば、序数、連結など）のいずれを指定することができる。一部の実施形態では、ユーザは、図１０に示されるユーザインタフェースのようなユーザインタフェースを使用して、代数を直接にタイプ入力するか、または代数をファイルの中に含め、そのファイルが、解釈されるか、または当技術分野で知られている、他の何らかの形態のデータ入力を使用する。
【０１４９】
[0170]  一部の実施形態では、ビジュアルテーブル７２０の軸を表す各シェルフ７０８は、自動化された形で対応する式に変換される。例えば、ｘ軸を表すシェルフ７０８の内容が、ビジュアルテーブル７２０のｘ軸を表す式に変換され、ｙ軸を表すシェルフ７０８が、ビジュアルテーブル７２０のｙ軸を表す式に変換され、レイヤを表すシェルフ７０８が、ビジュアルテーブル７２０のｚ軸を表す式に変換される。各軸シェルフ７０８の内容は、データベースフィールド名の順序リストである。一部の実施形態では、データベースフィールド名の順序は、すべての名目的フィールドおよび順序フィールドが、シェルフにおけるすべての定量的フィールドに先行するように制約される。例示的な名目的フィールドには、製品、地域、口座番号、または人々が含まれるが、以上には限定されない。例示的な順序フィールドには、日付または優先順位ランク付けが含まれるが、以上には限定されない。例示的な定量的フィールドには、利益、売上高、口座残高、速度、または周波数が含まれるが、以上には限定されない。すべての名目的フィールドおよび順序フィールドが、シェルフ７０８におけるすべての定量的フィールドに先行するよう、データベースフィールド名の順序が制約される諸実施形態では、名目的フィールドには、順序付けが割り当てられ、序数として扱われる。その順序付けは、自然な順序付け（例えば、アルファベット順、番号順）、またはユーザによって指定された順序付けである。その場合、それぞれのシェルフにおけるフィールドのリストは、以下の形態の式に変換される。すなわち、
【数２６】
2008523473.tif 000030
【０１５０】
[0171]  加えて、いずれかの隣接する２つのカテゴリフィールドが、同一の次元のレベルを表す場合、それらのフィールド間のクロス「×」演算子は、ドット「．」演算子で置き換えられる。規定は、ビジュアルインタプリタモジュール５５６によって、データベース５５８からのデータ値をビジュアル特性にマップするのに使用される。「Ｇｒｏｕｐ  ｉｎ  ｐａｎｅｓ  ｂｙ」（図示せず）および「Ｓｏｒｔ  ｉｎ  ｐａｎｅｓ  ｂｙ」（図１０の７０８−３）というラベルが付けられたシェルフが、ビジュアル規定の「Ｇｒｏｕｐ」コンポーネントおよび「Ｓｏｒｔ  Ｏｒｄｅｒ」コンポーネントを定義する。
【０１５１】
[0172]  一部の実施形態では、規定は、ステップ６０２で特徴付けられた１つまたは複数のデータベース５５８のメタデータ（例えば、階層構造）に基づく言語で書かれる。少なくとも、その言語は、１つまたは複数のデータベース５５８の階層を構成する次元レベルのすべて、または一部を含む。次元レベル（例えば、年、四半期、月など）の例が、説明されている。通常、それらの次元レベルは、図１０に示されるとおり、ユーザインタフェース５２４上に表示される。一部の実施形態では、言語は、ユーザが、１つまたは複数のペイン７２２から成る複雑なビジュアルテーブル（図１０）を形成することができるようにする、本明細書で説明する代数などの、テーブル代数をさらに含む。規定５５０が、代数式の形態のテーブル代数を利用する諸実施形態では、規定は、少なくとも１つのオペランドを含む。少なくとも１つのオペランドに加えて、代数式は、ステップ６０２で特徴付けられた１つまたは複数のデータベース５５８のメタデータに対する操作を表す１つまたは複数の演算子を含む。そのような演算子の例には、クロス積、合併、選択、または選別などのリレーショナル演算子が含まれるが、以上には限定されない。演算子のその他の例には、ネスト演算子およびドット演算子が含まれるが、以上には限定されない。ネスト演算子は、データベース内の事実テーブルを解析するのに対して、ドット演算子は、データベース５５８階層を定義するデータベース５５８に関連する次元テーブル（または同等のデータ構造）を解析する。ネスト演算子による事実テーブル、またはドット演算子による次元テーブル（または同等のデータ構造）の解析は、関連するデータベース５５８の階層構造に対する操作を表す。代数式内の操作および演算子は、ネスト化されることが可能である。例えば、一実施形態では、括弧を使用して、演算子が考慮される順序が変更される。
【０１５２】
[0173]  本発明の好ましい態様では、ビジュアル規定５５０は、ペイン７２２を複数のロウと複数のカラムに編成する。本発明のこの態様による諸実施形態では、ビジュアル規定５５０は、複数のロウに関する第１の代数式と、複数のカラムに関する第２の代数式とを含む。第１の代数式と第２の代数式はともに、それぞれ、ステップ６０２で特徴付けられたデータベース５５８（例えば、階層構造）のメタデータに対する操作を表す。本発明のこの態様による一部の実例では、規定は、１つまたは複数のペイン７２２を複数のレイヤにさらに編成する。これを達成するのに、規定５５０は、複数のレイヤに関する第３の代数式をさらに含む。第３の代数式は、ステップ６０２で特徴付けられたデータベース５５８の１つまたは複数のデータベースのメタデータに対する操作を表す。例えば、最初の２つの代数式は、すべての製品に関する収益を対象に含むことが可能であるのに対して、第３の代数式は、「州」という次元を追加して、各レイヤが、各州に関する製品ごとの収益を表すようにすることができる。
【０１５３】
[0174]  本発明の方法を使用して、各ビジュアル規定５５０は、システム５００によって実行されるべき厳密な解析操作、クエリ操作、および作図操作を決定するように解釈されることが可能である。好ましい実施形態では、作図操作は、ビジュアルテーブル７２０の各ペイン７２２内で独立に実行される。
【０１５４】
[0175]  ビジュアルテーブル７２０は、３つの軸を含む。ｘ軸とｙ軸はそれぞれ、前述したとおり、シェルフ７０８−５および７０８−４によって決定される。ｚ軸は、シェルフ７０８−１（図１０Ｂ）によって決定される。ｘ軸、ｙ軸、およびｚ軸のそれぞれの交差が、テーブルペイン７２２をもたらす。各ペイン７２２は、ビジュアルテーブルを作成するマークのセットとして視覚的にコード化される、データベース５５８にクエリを行うことによって獲得される、レコードのセットを含む。シェルフ７０８−１、７０８−４、および７０８−５は、ビジュアルテーブル７２０の外側のレイアウトを決定するのに対して、表示７００におけるその他のシェルフ７０８は、ペイン７２２内のレイアウトを決定する。一部の実施形態では、この内側のレイアウトには、オペランドの選別およびフィルタリング、特定のデータベース５５８を、ビジュアルテーブル７２０のｚ軸内の特定のレイヤにマップすること、ペイン７２２内のデータをグループ化すること、統計的特性、および派生フィールドの計算、各ペイン７２２内に表示されるグラフのタイプ（例えば、円、棒、グリフなど）、およびビジュアルテーブルにおけるマークの網膜特性に対する、データフィールドのマッピング（例えば、マークのサイズに対する、「利益」のマッピング、および色に対する、「四半期」のマッピング）が含まれる。
【０１５５】
[0176]  ステップ６０６。ステップ６０６で、クエリのセットが、オプションとして、規定５５０に基づき、データインタプリタモジュール５５２によって形成される。データベース固有のクエリを生成する前に、データインタプリタモジュール５５２は、ビジュアル規定５５０において指定された値（例えば、シェルフ７０８−１上、シェルフ７０８−４上、およびシェルフ７０８−５上に配置された値）を使用して、クエリを記述する１つまたは複数の抽象クエリ記述５５４のセットを生成する。クエリ記述５５４は、データベース５５８からのタプルまたはオブジェクトの所望されるフィルタリング、選別、およびグループ化を正確に記述する。本明細書で使用する「オブジェクト」という用語は、データベースからの１つまたは複数のフィールドを使用する意味的派生物である。
【０１５６】
[0177]  単一のビジュアル規定５５０に関して生成される個々のクエリ記述５５４の数は、ビジュアル規定５５０において指定される詳細レベルによって決まり、例えば、２００４年１２月２日に公開された、米国特許出願公開第２００４／０２４３５９３号を参照されたい。一部の実施形態では、ビジュアルテーブル７２０の中のペイン７２２内の詳細レベルは、詳細レベルシェルフ７０８−２と、シェルフ７０８−１、７０８−４、および７０８−５において形成されたテーブル代数式（図１０）の両方によって決まる。
【０１５７】
[0178]  各ペイン７２２が、異なる詳細レベルに対応し、したがって、異なるクエリに対応することは可能であるが、一般的な状況は、ペイン７２２（図１０）の数が、同一の詳細レベルに対応し、タプルがどのようにフィルタリングされるかだけによって異なることである。効率のため、同一の詳細レベルを要求するペイン７２２をグループと見なし、単一のクエリをデータベース５５８に送信して、適切なタプルを要求することが、好ましい。次に、それらのタプルが、後続の処理ステップにおいてローカルで、複数のペイン７２２に入るように分けられることが可能である。したがって、本発明の一態様では、データベースクエリは、グループ化される。一部の実施形態では、これは、所与のビジュアルテーブル７２０に関して要求されるクエリを決定するために、ビジュアル規定５５０を代数的に操作することによって達せられる。本発明の代数で使用されるすべての代数演算子のうち、異なる投影または詳細レベルを有する隣接したペイン７２２をもたらすことができる演算子は、連結演算子である。本明細書で説明されるネスト、クロス、およびドットは、各出力ｐタプルにおけるすべての入力次元レベルを含む。連結は、そうではない。このため、ビジュアル規定５５０における各軸式が、項の合計の形態に縮減された場合、結果の項は、１つまたは複数のデータベース５５８から取り出される必要があるクエリのセットに対応する。
【０１５８】
[0179]  各軸の項の合計による縮減を例示するのに、以下の例示的なビジュアル規定を考慮されたい。すなわち、
【数２７】
2008523473.tif 000031
かつ、各ペイン７２２内の詳細レベルが、Ｇに設定される。本明細書に明記されるテーブル代数に従って以上の式をクロス演算し、項の合計の形態に縮減すると、以下がもたらされる。すなわち、
【数２８】
2008523473.tif 000032
このため、この例では、以下の４つのデータベースクエリが作成される。すなわち、
（Ａ＊Ｃ＊Ｄ＊Ｆ＊Ｇ）    クエリ１
（Ａ＊Ｃ＊Ｅ＊Ｆ＊Ｇ）    クエリ２
（Ｂ＊Ｃ＊Ｄ＊Ｆ＊Ｇ）    クエリ３
（Ｂ＊Ｃ＊Ｅ＊Ｇ）        クエリ４
【０１５９】
[0180]  最も一般的な多次元のクエリ言語は、クエリ１〜４において見られる形態のクエリを生成するための機構を提供する。例えば、クエリ１〜４の各クエリは、ＭＤＸ（マイクロソフト、ワシントン州レッドモンド）で表現されるような単一の多次元の式のクエリであることが可能である。ＭＤＸは、多次元のオブジェクトおよびデータの定義および操作をサポートするシンタックスである。ＭＤＸは、ＳＱＬ（構造化照会言語）シンタックスに類似するが、ＳＱＬ言語の拡張ではない。ＳＱＬクエリの場合と同様に、各ＭＤＸクエリは、データ要求（ＳＥＬＥＣＴ句）、開始点（ＦＲＯＭ句）、およびフィルタ（ＷＨＥＲＥ句）を要する。以上、およびその他のキーワードは、解析のために階層データベース（例えば、キューブ）からデータの特定の部分を抽出するのに使用されるツールを提供する。このため、一般に、各クエリは、ＳＱＬクエリのようなリレーショナル代数演算子に、またはデータキューブクエリ（例えば、ＭＤＸクエリ）にマップされることが可能である。
【０１６０】
[0181]  以上、ビジュアル規定５５０が、どのようにクエリのセットに縮減されるかについての概要を提供した。本発明の一実施形態において使用されるアルゴリズムを、以下の擬似コードで説明する。
【０１６１】
【表３】
2008523473.tif 000033
【０１６２】
[0182]  擬似コードのライン１０１ないし１０３は、ビジュアル規定５５０の各軸が、項の合計に縮減されるケースを表す。次に、ライン１０４ないし１０７は、項ｉのそれぞれを個々に考慮するのに使用される。個々に、各項ｉは、ビジュアルテーブル７２０におけるロウのセット、カラムのセット、またはレイヤのセットを記述する。それらの項は、一緒になって、すべて同一の詳細レベル７０８−６に存在するペイン７２２のセット（図１１）を定義する。このため、ライン１０４ないし１０７は、「ｆｏｒ  ｅａｃｈ  ｘ−ｔｅｒｍ，ｙ−ｔｅｒｍ，ｚ−ｔｅｒｍ  ｃｏｍｂｉｎａｔｉｏｎ」と読むことができる。
【０１６３】
[0183]  ライン１０８および１０９は、特定のｘ項、ｙ項、およびｚ項の組み合わせによって定義されるペイン７２２のために、マーク、コード化などを定義するペイン規定を見出すのに使用される。これは、好ましくは、ビジュアル規定の中の各ペイン規定における選択基準述語に照らしてｐルックアップを試験することにより、行われる。
【０１６４】
[0184]  ライン１１０ないし１１８は、特定のｘ項、ｙ項、およびｚ項の組み合わせに関するクエリを構築する。ライン１１０は、クエリを保持する変数「ｑｄ」を作成し、ライン１１１ないし１１３は、特定のｘ項、ｙ項、ｚ項の組み合わせの中のｘ項、ｙ項、およびｚ項におけるすべてのフィールドを追加する。ライン１１４ないし１１８は、詳細レベルなどの、ビジュアル規定５５０からのさらなる項をクエリに追加する。
【０１６５】
[0185]  次に、ライン１１９ないし１２２で、ライン１１０ないし１１８によって構築された形態のクエリが、データキャッシュ（図１３のクエリキャッシュ５５５）の中に既に存在するかどうかについての判定が、行われる。存在する場合、結果が、データキャッシュから（ライン１２０、図１３のクエリキャッシュ５５５から）取り出される。存在しない場合、ライン１１０ないし１１８によって構築されたクエリを使用して、ターゲットデータベース５５８をホストするサーバにクエリが行われる（ライン１２２）。そのようなデータベースクエリが行われた場合、データインタプリタモジュール５５２は、データベース固有の仕方でクエリを作成する。例えば、いくつかの実例では、データインタプリタモジュール５５２は、ＳＱＬクエリを作成するのに対して、他の実例では、データインタプリタモジュール５５２は、ＭＤＸクエリを作成する。ライン１２３で、クエリの結果が、データキャッシュに（図１３のクエリキャッシュ５５５に）追加される。
【０１６６】
[0186]  以上の処理ステップで取り出されたデータは、ペイン７２２のセットに関するデータを含むことが可能である。それが該当する場合、データは、集約が実行されるのではなく、各グループに関して別々のデータ構造が作成されること以外は、ＳＱＬにおける「ＧＲＯＵＰ  ＢＹ」と概念上、同一であるグループ化変換（ライン１２４〜１２５）を使用して、各ペイン７２２に関する別個のデータ構造に入るように分けられる。ライン１２６で、グループｔｓｆからの各出力データ構造が、ビジュアルインタプリタモジュール５５６による後の使用のために、ペインデータキャッシュ５５７（図１３）に追加される。
【０１６７】
[0187]  ステップ６０８。ステップ６０８で、ステップ６０６（実行される場合）で開発されたクエリを使用して、１つまたは複数のデータベース５５８にクエリが行われる。そのようなデータベース５５８は、メモリ５３８の中に格納されることが可能である。しかし、より好ましい実施形態では、それらのデータベース５５８は、リモートサーバの中に格納される。
【０１６８】
[0188]  ステップ６１０。ステップ６１０で、ビジュアルインタプリタモジュール５５６が、データインタプリタモジュール５５２によって生成されたクエリを処理する。それらのクエリを処理するために、いくつかのステップが、実行される。クエリが、実行されていない場合、６１０のステップは、データベース５５８の中のデータに、または他の手段によって選択された、そのようなデータのサブセットに適用されることが可能である。以上のステップの概要が、図１５に示される。ステップ６１２で、ビジュアル規定５５０が、正規化されたセットフォーム１１０４に縮減される。ステップ６１４で、ビジュアルテーブル７２０が、その正規化されたセットフォームを使用して構築される。ステップ６１６で、クエリ結果が、ビジュアルテーブル７２０の中のペイン７２２に対応するタプルに分けられる。
【０１６９】
[0189]  ステップ６１２  ビジュアル規定の、正規化されたセットフォームへの縮減。ステップ６０４で、ビジュアル規定５５０が、ユーザインタフェースモジュール５４６によって獲得されている。ビジュアル規定５５０は、ユーザによってポピュレートされたシェルフ７０８の値を含む。ステップ６１２で、ビジュアル規定５５０を使用して、ビジュアルテーブル７２０が、どのようにロウ、カラム、およびレイヤに分けられるかを定義し、ビジュアルテーブル７２０の各ペイン７２２内の空間的コード化をさらに定義する代数式が構築される。このようにして、ビジュアル規定５５０は、１つまたは複数のペイン７２２を複数のロウと複数のカラムに編成する。一部の実施形態では、複数のロウと複数のカラムは、階層構造にされる。さらに、一部の実施形態では、規定５５０は、１つまたは複数のペイン７２２を、オプションとして階層構造にされる、複数のレイヤに編成する。さらに、一部の実施形態では、規定は、１つまたは複数のペイン７２２を、オプションとして階層構造にされる、別々のページに編成する。
【０１７０】
[0190]  ビジュアルテーブル７２０の完全な代数式は、「テーブル構成」と呼ばれる。このため、ステップ６１２で、ビジュアルテーブル７２０のｘ軸、ｙ軸、およびｚ軸をそれぞれ定義するビジュアル規定５５０の３つの別々の表現が、ビジュアルテーブル７２０のロウ、カラム、およびレイヤを分割するために、セットフォーム（解釈されたセット）に正規化される。正規化されたセットフォームを生成するのに、３つの別々の式における各オペランドが、セットフォームになるように評価される。各式の中の演算子は、式内で各セットをどのように評価するかを定義する。このため、セットフォームへの正規化は、単一のセット（正規化されたセットフォーム）をもたらし、正規化されたセットフォームの中の各要素は、ビジュアルテーブル７２０の単一のロウ、単一のカラム、または単一のレイヤに対応する。一部の実施形態では、以上の正規化プロセスは、「ページ」と呼ばれる、さらに別の次元まで拡張される。
【０１７１】
[0191]  ｘ軸、ｙ軸、およびｚ軸を定義するビジュアル規定５５０の３つの別々の式における各式は、データベーススキーマの中のオペランド（例えば、フィールド）から引き出されることを想い起こされたい。正規化されたセットフォームを生成するのに使用される代数は、データベーススキーマ（またはデータ構造の他の何らかの表現）の中のオペランドのそれぞれを特徴付けて、次元レベルおよび計量値という２つのタイプにする。オペランドが、次元レベルであるか、または計量値であるかは、オペランドのタイプに依存する。オペランドのセット解釈は、オペランドの順序領域のメンバから成る。計量値オペランドのセット解釈は、オペランド名を含む単一要素のセットである。例えば、「Ｐｒｏｆｉｔ」オペランドのセット解釈は、｛Ｐｒｏｆｉｔ｝である。
【０１７２】
[0192]  異なるタイプのオペランドへのセットの割り当ては、２つのタイプのオペランドが、どのようにビジュアルテーブル７２０の構造にコード化されるかの違いを反映する。次元レベルオペランドが、テーブルをロウとカラムに分割するのに対して、計量値オペランドは、テーブルペイン内の軸として空間的にコード化される。本発明で使用される代数における有効な式は、隣接するオペランドの各ペアの間に演算子を有する１つまたは複数のオペランドの順序付けられたシーケンスである。この代数における演算子は、優先の順に、クロス（×）、ネスト（／）、および連結（＋）である。括弧を使用して、優先の順序を変更することができる。各オペランドは、順序付けられたセットとして解釈されるので、各演算子の正確な意味は、それらの演算子が、どのように２つのセット（左側のオペランドと右側のオペランドから１つずつの）を合併して、単一のセットにするかという点で、定義される。
【０１７３】
[0193]  このため、ビジュアル規定５５０におけるすべての式は、セット内の各エントリが、０または１つ以上の次元レベル値の後に、０または１つ以上の計量値オペランド名が続く、順序付けられた連結である、単一のセットに縮減されることが可能である。例えば、「月×利益」という式の正規化されたセットフォームは、｛（Ｊａｎ，Ｐｒｏｆｉｔ），（Ｆｅｂ，Ｐｒｏｆｉｔ），．．．，（Ｄｅｃ，Ｐｒｏｆｉｔ）｝である。式の正規化されたセットフォームにより、ビジュアルテーブル７２０の１つの軸が決まる。テーブル軸は、カラムと、正規化されたセットの中のエントリとの間に１対１の対応が存在するように、カラム（またはロウまたはレイヤ）に分割される。
【０１７４】
[0194]  ステップ６１２の以下の例を考慮されたい。以下の、図１８の例示的なビジュアル規定５５０を考慮されたい。
【数２９】
2008523473.tif 000034
このビジュアル規定の正規化されたセットフォームの計算は、ステップ６１２に従って、以下をもたらす。
【数３０】
2008523473.tif 000035
【０１７５】
[0195]  有利には、本発明の代数形式主義は、次元レベルを扱うことに専用に設計された、ドット演算子と呼ばれる演算子を利用することができる。このため、この代数形式主義は、本発明におけるデータベース階層の使用および探究のための直接のサポートを提供する。ドット演算子の利点の１つは、ドット演算子が、データベース事実テーブルを解析することなしに、階層情報を導き出すことができることである。
【０１７６】
[0196]  ステップ６１４  正規化されたセットフォームを使用したビジュアルテーブル７２０の構築。ステップ６１４（図１１、図１５）で、ビジュアルインタプリタ５５６が、ビジュアル規定５５０から獲得されたｘ軸、ｙ軸、およびｚ軸に関する式の正規化されたセットフォームを使用して、ビジュアルテーブル７２０を構築する。ｘ軸、ｙ軸、およびｚ軸に関する式の正規化されたセットフォームの中の各要素は、単一のロウ、単一のカラム、または単一のレイヤに対応する。
【０１７７】
[0197]  図１６は、ビジュアル規定の正規化されたセットフォームから生成されたビジュアルテーブル７２０に関する構成を示す。図１６は、コーヒーチェーンデータセット（ＣＯＦＦＥＥ）に関するＰｒｏｆｉｔ情報を表示する。ｙ軸は、Ｐｒｏｆｉｔ＋（Ｍａｒｋｅｔ×ＰｒｏｄｕｃｔＴｙｐｅ）という式によって定義され、ｘ軸は、（Ｑｕａｒｔｅｒ／Ｍｏｎｔｈ）という式によって定義される。ｚ軸は、図１９に示されていない。
【０１７８】
[0198]  図１６に示されるとおり、式１２０２および１２０４は、演算子によって結び付けられたオペランドから成る。各オペランドは、ｐタプル（セット解釈）の数学的シーケンスになるように評価される。数学的シーケンスは、重複メンバを可能にする順序付けられた要素リストである。各オペランドに挟まれた演算子は、２つのシーケンスをどのように結び付けるかを定義する。このため、各式は、シーケンスの中の各要素が、単一のロウ、単一のカラム、または単一のレイヤに対応する、単一のシーケンス（正規化されたセットフォーム）として解釈されることが可能である。
【０１７９】
[0199]  一部の実施形態では、ステップ６１２で生成される正規化されたセットフォームは、ｐエントリおよびｐタプルとして、より形式的に定義される。オペランドのセット解釈は、異種のｐタプルの有限（場合により、空の）シーケンスである。セット解釈の中の各ｐタプルは、ビジュアルテーブル７２０のロウ（カラムまたはレイヤ）を定義する。つまり、各ｐタプルは、ビジュアルテーブル７２０の中のロウ、カラム、またはレイヤにマップされる。ｐタプルは、ｐエントリの有限シーケンスである。単一のｐタプルが、単一のロウ（またはカラムまたはレイヤ）を定義する。ｐタプルのエントリは、ロウ内の空間的コード化（軸）、およびデータベース５５８の事実テーブル上の選択基準を定義する。ｐエントリは、順序付けられた「タグ値」ペアであり、タグは、そのペアの値メンバの意味および可能な値を定義する。ｐエントリは、タグ：値として、例えば、フィールド：Ｐｒｏｆｉｔとして書かれる。タグは、２００４年１２月２日に公開された、米国特許出願公開第２００４０２４３５９３号でさらに説明されるとおり、フィールド、定数、またはフィールド名であることが可能である。一部の実施形態では、順序付けられたタプルセット（ｐタプル）がマップされるロウ、カラム、またはレイヤのペイン７２２は、ビジュアルテーブル７２０の中のロウ内、カラム内、またはレイヤ内で、ｐタプルの中で示されるのと同一の順序で並べられる。
【０１８０】
[0200]  要約すると、ビジュアルテーブル７２０の各軸は、正規化されたセットフォームの中で書き換えられているビジュアル規定５５０からの式によって定義される。その正規化されたセットの濃度により、正規化されたセットが空のシーケンスである場合を例外として、軸に沿ったロウ（またはカラムまたはレイヤ）の数が決まる。好ましい実施形態では、正規化されたセットが、空のシーケンスである場合、０のロウ、または０のカラムではなく、単一のロウ、または単一のカラムが、作成される。正規化されたセット内の各ｐタプルは、ロウ（またはカラムまたはレイヤ）を定義する。各ｐタプル内のｐエントリは、ロウの中で表示されるべきタプルを選択する、データベース５５８事実テーブル上の選択基準と、データベースタプルを視覚化するのに使用されるグラフィックマークの位置を定義する、ロウの中の空間コード化とを、ともに定義する。
【０１８１】
[0201]  一部の実施形態では、ビジュアルテーブル７２０は、Ｗｅｂインタフェースとして提示される。一部の実施形態では、ユーザインタフェースモジュール５４６のすべてまたは部分が、ビジュアルテーブル７２０をＷｅｂインタフェースとして提示することを円滑にするために、リモートユーザコンピュータ上で実行され、表示される。
【０１８２】
[0202]  ステップ６１６  クエリ結果を、ビジュアルテーブル７２０の中のペイン７２２に対応するタプルに分割し、マークを決定する。ステップ６１６（図１１および図１５）で、ビジュアルインタプリタモジュール５５６が、データインタプリタモジュール５５２によって戻されたクエリ結果を処理する。それらのクエリ結果は、タプルと呼ばれる。本発明の一部の実施形態では、ビジュアルインタプリタモジュール５５６は、以下のアルゴリズムを実行する。すなわち、
【０１８３】
【表４】
2008523473.tif 000036
【０１８４】
[0203]  ライン２０１ないし２０３が、ステップ６１２（図１１）で実行される。ライン２０４ないし２０６は、ビジュアルテーブル７２０の中の個々の各ペイン７２２を考慮するトリプル「ｆｏｒ」ループである。各ペインｉに関して、ライン２０７〜２１４が、実行される。
【０１８５】
[0204]  ライン２０７および２０８では、ペインタイプを含むペインｉに関するペイン規定が、探し出される。ペイン規定は、最終的に、ビジュアル規定５５０から導き出される。ペインｉに関するペイン規定は、好ましいコード化などを含み、ペイン向けの好ましいマークを定義するペインタイプも含む。ペインタイプは、好ましくは、ペインを定義するのに使用されるフィールドのタイプに基づく。
【０１８６】
[0205]  ライン２０９〜２１２で、ペインｉのペイングラフィックが、ペインｉに適用されるペイン規定およびペインタイプを使用して、作成される。すべてのペインｉが、同一のペインタイプを有することは必要ない。ライン２１０で、ペインｉ内のタプルをレンダリングするためのプリミティブオブジェクトが、作成される。ペインプリミティブオブジェクトの例は、棒グラフにおける棒である。ライン２１１で、ライン２１０で作成されたそれぞれの各プリミティブオブジェクトのビジュアル特性に関するコード化オブジェクトが、作成され、対応するプリミティブオブジェクトに追加される。棒のケースにおける例示的なコード化オブジェクトは、その棒の色およびサイズである。ライン２１２で、タプルを選別して描画の順序にするペインごとの変換が、適用される。つまり、ペインごとの変換を使用して、タプルが、ペインｉの中でどのように表示されるかが記述される。
【０１８７】
[0206]  ライン２１３で、ｐルックアップを使用して、ペインｉに関するデータが、ペインデータキャッシュ５５７から取り出される。ライン２１４〜２１５で、ペインｉに関するデータ（例えば、データベース５５８のクエリから取り出されたタプルセットのサブセット）が、ペインｉに結び付けられる。このようにして、データベース５５８のクエリからのデータが、ビジュアルインタプリタモジュール５５６によってビジュアルテーブル７２０に結び付けられる。
【０１８８】
[0207]  このため、ライン２０９〜２１２で、ペインｉに関連するタプルのサブセットの中のタプルが、グラフィックマークとしてコード化される。タプルのサブセットの中のタプルが、グラフィック属性（例えば、色、値、サイズ、形状、句、または記号）にマップされることが可能な１つまたは複数のフィールドを含むことが、好ましい。フィールドは、好ましくは、タイプにより、例えば、定量的フィールド、地理位置フィールド、または順序フィールドとして分類され、次に、ペインが、それらのフィールドのタイプに従って、ある特定のグラフィック属性にマップされる。また、一部の実施形態では、フィールドは、独立フィールドまたは従属フィールドとしても分類され、それに応じて異なるグラフィック属性にマップされる。第１のフィールドタイプと第２のフィールドタイプは、一緒になって、ペインタイプを定義する。ペインタイプは、規則セットを介してマークにマップされる。
【０１８９】
[0208]  図１０Ａの例示的なインタフェースは、マークが、タイプに従って、ユーザによって選択されることが可能であり、次に、各タイプ関して、形状、色、およびサイズなどの様々なさらなる属性が、選択されることが可能である。好ましい諸実施形態では、ユーザは、プログラムによって決定された選択を無効にすることができる。他の諸実施形態では、ユーザは、使用するプログラムに関して、好ましいタイプのマークを選択することができる。
【０１９０】
[0209]  一部の実施形態では、ペインｉに関連するタプルのサブセットは、選択ファンクションによって決定される。一部の実施形態では、選択ファンクションは、ステップ６０２において特徴付けられたデータベース５５８のメタデータの中に存在するスキーマフィールドのＩＤを使用して、タプルのサブセットを形成する。例えば、規定は、特定のスキーマフィールドタイプに属するすべてのタプルをペインｉに割り当てることが可能である。一部の実施形態では、選択ファンクションは、リレーショナル演算子（例えば、選択演算子またはグループ化演算子）を使用して、ペインｉに関連するタプルのサブセットを形成する。さらに、ビジュアルテーブル７２０の中のロウおよびカラムの順序付けが、制御され、フィルタリングされることも可能である。
【０１９１】
[0210]  ライン２０１ないし２１５に記述されるアルゴリズムは、５５８の各クエリが、ペインデータキャッシュ５５７の中で利用可能であるものと想定する。本発明の重要な利点は、クエリが、通常、いくつかのペインにわたってグループ化されることである。このため、クエリは、好ましくは、各ペインに関する別個のテーブルに入るように分けられ、次に、ペインデータキャッシュ５５７の中に入れられる。本発明は、いずれのソフトウェアモジュールが、このグループ化変換を実行するかについて全く制限を課さないが、本発明の一実施形態では、グループ化変換は、データベース５５８にクエリを行うための汎用アルゴリズムの一環として、データインタプリタモジュール５５２によって実行される。例えば、前述のステップ６０６で説明したアルゴリズムを参照されたい。
【０１９２】
[0211]  本発明の一部の実施形態では、ステップ６０８は、タプルセットを戻す。次に、ステップ６１０で、新たなタプルが、そのタプルセットから導き出される。その新たなタプルが、次に、ビジュアル規定５５０によって指定されたグラフィックにおける１つまたは複数のペイン７２２に、場合により関連付けるために、タプルセットに組み込まれる。一部の実例では、リレーショナル演算子（例えば、選別演算子、集約演算子、または変換演算子）を使用して、新たなタプルが作成される。
【０１９３】
[0212]  本発明の一部の実施形態では、ステップ６０８は、タプルセットを戻す。そのタプルセットの中のタプルのすべてまたは一部を使用して、グループが、形成される。次に、そのグループに基づくグラフィックが、形成される。そのような諸実施形態は、マルチペイングラフィックが構築される実例において役立つ。そのようなグラフィックの例には、グループの中の各タプルをつなぐ線、またはグループの中の各タプルを囲む区域が含まれる。
【０１９４】
[0213]  一部の実施形態では、規定５５０は、１つまたは複数のペイン７２２を複数のレイヤに編成し、その複数のレイヤの中の各レイヤには、ステップ６０２で特徴付けられた異なるデータベース５５８からのタプルが割り当てられる。一部の実施形態では、規定５５０は、１つまたは複数のペイン７２２を複数のカラムと複数のロウに編成し、その複数のカラムの中の各カラムには、ステップ６０２で特徴付けられた異なるデータベース５５８からのタプルが、割り当てられる。さらに別の諸実施形態では、規定は、１つまたは複数のペインを複数のカラムと複数のロウに編成し、その複数のロウの中の各ロウには、ステップ６０２で特徴付けられた異なるデータベース５５８からのタプルが、割り当てられる。さらなる諸実施形態では、規定は、１つまたは複数のペインを複数のページに編成し、その複数のページなかの各ページには、ステップ６０２で特徴付けられた異なるデータベース５５８からのタプルが、割り当てられる。
【０１９５】
[0214]  また、本発明の方法は、ユーザが、１つまたは複数のデータベース５５８をより効率的に探究することを可能にするため、それらのデータベース５５８の中に存在する可能性がある、基礎をなす階層を活用するツールも利用する。ユーザは、各ターゲットデータベース５５８内の階層レイヤを迅速にドリルダウンすることができる。さらに、本発明の一実施形態では、インタフェースは、「ツィスティ」（▼）アイコン７０８−６（図１４）を含む。ユーザが、「▼」アイコン７０８−６を押すと、ユーザには、次元のすべてのレベル（ターゲットデータベースの中の複雑な次元階層における分岐するレベルを含め）のリストが提示される。新たなレベルが選択されると、そのことは、その次元に沿ったドリルダウン（またはロールアップ）操作として解釈され、現在のレベルは、選択されたレベル（同一の修飾を有する）で自動的に置き換えられる。このため、ユーザは、ユーザが移動するにつれ、ビジュアル規定５５０を精緻化して、次元に沿った異なる詳細レベルの間で迅速に移動することができる。各レベルで、プログラムは、例えば、本明細書で説明されるテーブル代数を使用して、効率的なデータベースクエリを形成する。
【０１９６】
[0215]  本発明で使用するための表示の好ましい方法の別の利点は、ステップ６１６でペインに関連付けられるタプルのサブセットが、ステップ６０５ないし６１６の新たな反復において、ビジュアル規定５５０として使用されることが可能であることである。例えば、ユーザは、ペインに関連付けられたタプルのサブセットの中の１つまたは複数のタプルを、新たな規定のための基礎として選択することができる。次に、ステップ６０６ないし６１６が、その新たな規定を使用して反復されることが可能である。以上の好ましい表示方法のさらに別の利点は、各規定５５０が、後の使用のために格納されることが可能な形態で表現されることが可能であることである。規定５５０の格納は、お気に入りの規定にブックマークを付けることなどのサービスとともに、規定「取り消し」および規定「やり直し」のサポートも可能にする。例えば、規定「取り消し」操作では、ステップ６０４の前のインスタンスで使用された規定５５０が、獲得され、ステップ６０６ないし６１６を実行するのに使用される。
【０１９７】
[0216]  複数の軸にわたって次元を広げること
本発明の方法は、階層データベースに限定されないが、本発明の視覚化の方法と連携してデータベースを解析するための方法は、以下のような他のフィーチャを含むことが好ましい。すなわち、複数の軸にわたって次元を表現する能力、テキストテーブルに限定されないデータ形式で計量値を表現する能力、次元のレベルを、それらの次元の自然な階層順に限定されない順序で表示する能力、および定義された階層の中でレベルの表示を飛ばす能力である。
【０１９８】
[0217]  一般に、本発明で使用するためのデータベースを解析する好ましい方法は、ビジュアルプロットを形成する方法を提供する。一部の実施形態では、ビジュアルプロットは、ビジュアルグラフ７２０である。他の方法では、ビジュアルプロットは、ビジュアルテキストプロット（図示せず）である。そのような実施形態の両方において、データセットの階層構造が（存在する場合）、決定される。データセットは、計量値（例えば、売上高、利益、量）と、次元階層を形成する複数のレベル（例えば、年、四半期、月）から成る次元（例えば、時間）とを含む。
【０１９９】
[0218]  例示的な方法では、ビジュアルプロットは、規定に基づいて構築される。そのような規定は、ビジュアルプロットの軸が表すものの単純な指示から、本明細書でさらに説明した複雑な代数式までに及ぶことが可能である。
【０２００】
[0219]  規定の複雑さにかかわらず、次元の複数のレベルからの第１のレベルは、ビジュアルプロットの第１の成分によって表され、複数のレベルからの第２のレベルは、ビジュアルプロットの第２の成分によって表される。例えば、次元が、時間であり、第１のレベルが、月であり、第２のレベルが、年であり、第１の成分が、ビジュアルプロットのｘ軸であり、第２の成分が、ビジュアルプロットのｙ軸であるケースを考慮されたい。その実施例では、ビジュアルプロットのｘ軸は、月を表し、ビジュアルプロットのｙ軸は、年を表す。
【０２０１】
[0220]  この方法は、規定に従ってデータを取り出すデータセットのクエリに進む。データセットから取り出されるデータには、次元のすべてまたは一部、および計量値のすべてまたは一部が含まれる。例えば、次元が、時間であり、データセットの中の時間次元の複数のレベルに、年、四半期、および月というレベルが含まれるケースを考慮されたい。さらに、計量値は、売上高である。そのような実施例では、年、四半期、および月というレベルのすべてまたは一部に関する売上高データが、取り出される。一部の実施形態では、データセットは、データベース５５８であり、クエリするステップは、規定に従ってタプルセットを取り出すことを含む。そのような技術は、本明細書で、図１１のステップ６０６および６０８に関連して、さらに詳細に説明される。
【０２０２】
[0221]  一部の実施形態では、データセットは、図１３に示されるデータベース５５８の１つのような、データベースである。しかし、本発明のこの態様は、そのようなデータベースに限定されない。より一般的には、計量値（例えば、売上高、利益）を含む任意のデータセット、および次元階層（例えば、ｙｅａｒ．ｑｕａｒｔｅｒ．ｍｏｎｔｈ）を有する次元（例えば、時間）が、使用されることが可能である。計量値の他の例には、現金残高、キャッシュフロー、財務変動、売上数量、または顧客応答時間のようなビジネス計量値、ならびに温度または圧力のような学術的計量値が含まれるが、以上には限定されない。次元の例には、日付、製品、市場区分、地理的区域、ＳＫＵ（在庫保管単位）のような品目識別子、または予算計画シナリオの名前が含まれるが、以上には限定されない。
【０２０３】
[0222]  例示的な方法では、ビジュアルプロットは、規定に従って取り出されたデータでポピュレートされる。ビジュアルプロットが、規定に従って取り出されたデータでポピュレートされる例示的な方法は、図１１に関連して、本明細書のステップ６１０ないし６１６で説明される。しかし、本発明のこの態様は、図１１に関連して例示されるポピュレーションスキームに限定されない。一部の実施形態では、ビジュアルプロットは、複数のペインを含み、ポピュレートするステップは、図１１のステップ６１６に関連して説明するとおり、データ（例えば、タプル）のすべてまたはサブセットを、複数のペインの中のあるペインに関連付けることを含む。一部の実施形態では、タプルは、本明細書で、図１１のステップ６１６に関連してさらに説明するとおり、ペインの中にグラフィックとしてコード化される。
【０２０４】
[0223]  一部の実施形態では、本発明のこの態様で使用される規定は、データセットの階層構造に基づく言語である。例えば、データセットが、年、四半期、および月というレベルを有する時間次元を含むケースを考慮されたい。そのような実施例では、規定を構築するのに使用される言語は、年、四半期、および月という式、ならびにそのようなレベルを結び付けるための代数演算子（例えば、クロス演算子、ドット演算子など）を含む。その言語を使用すると、選択性の高い規定を使用して、ビジュアルプロットを構築することができる。データベース５５８の階層構造に基づく言語の使用についてのさらなる情報が、本明細書で開示される。本明細書の図１１および図１４に関連して開示される技術を、本発明のこの態様で使用することができる。
【０２０５】
[0224]  図１７は、売上高データに関する時間次元のレベルの自然な階層表示（年、四半期、月）を例示するビジュアルプロット１９００を示す。一部の実施形態では、ビジュアルプロット１９００は、本明細書のシステムおよび技術を使用して、ビジュアルテーブル７２０として生成される。そのような諸実施形態では、ビジュアル規定を使用して、ビジュアルプロット１９００が生成される。しかし、他の諸実施形態では、ビジュアルプロット１９００は、獲得されなかったデータから生成される。例えば、一部の実施形態では、ビジュアルプロット１９００は、スプレッドシートデータまたはフラットファイルから生成される。
【０２０６】
[0225]  本発明のこの態様で開示されるグラフィックのそれぞれは、データベース５５８のクエリとともに本明細書で説明される例示的な技術を使用して構築されることも、代替のデータソースから生成されることも可能である。
【０２０７】
[0226]  本明細書で開示されるとおり、本発明のこの態様によるビジュアル規定は、基礎をなすデータセット（例えば、データベース５５８）の次元階層における第１のレベルと、第２のレベルとをそれぞれ表す第１の成分と、第２の成分とを含む。一部の実施形態では、第１の成分と第２の成分は、同一ではなく、ビジュアルプロットにおける複数のロウ、ビジュアルプロットにおける複数のカラム、ビジュアルプロットにおける複数のレイヤ、ビジュアルプロットにおける軸、ビジュアルプロットにおけるグラフィック、またはビジュアルプロットにおけるグラフィックスの詳細レベルから成るグループから、それぞれ独立に選択される。
【０２０８】
[0227]  ビジュアルプロット２０００において、第１の成分（図１８、ｙ軸）は、次元階層の第１のレベル（図１８、年）、および計量値（図１８、売上高）を表し、計量値は、第１のレベルにおけるデータポイント（図１８、それぞれの年、例えば、１９９８、１９９９）を各セグメント（図１８、ロウ２００２）が表す、複数のセグメント（図１８、ロウ２００２）に入るように分けられるようになる。第２の成分（図１８、ｘ軸）は、基礎をなすデータセットからの次元階層の少なくとも第２のレベル（例えば、四半期および月）を表す。
【０２０９】
[0228]  ビジュアルプロット２０００は、非常に異なる形で、図１７に示される売上高データの解析を可能にする。ビジュアルプロット２０００（図１８）は、［Ｔｉｍｅ］．［Ｙｅａｒ］＊［Ｓａｌｅｓ］（ロウ、ｙ軸）対［Ｔｉｍｅ］．［Ｑｕａｒｔｅｒ］．［Ｍｏｎｔｈ］（カラム、ｘ軸）というフォーマットを有する。したがって、各年は、ビジュアルプロットにおいて新たなロウ２００２を生成し、各ロウは、対応する年に関する売上高を表す。さらに、各ロウは、第１に、四半期によって画定され、第２に、月によって画定される。このため、ビジュアルプロットにおける各棒は、所与の年の所与の月における売上高を表す。有利には、ビジュアルプロット２０００において、複数の年（例えば、１９９８および１９９９）からの年のそれぞれの月（例えば、１月）に関する売上高が、同一のグラフィックにおいて互いに直接に重ね合わされる。これにより、例えば、複数の年にわたる同一の月の売上高の独特な比較が可能になる。一部の実施形態では、各ロウ２００２には、異なる色またはハッシュパターンが割り当てられる。
【０２１０】
[0229]  前述したとおり、本発明のこの態様におけるビジュアルプロットは、規定に基づく。複数のレベルからの第１のレベルは、ビジュアルテーブルの第１の成分によって表され、複数のレベルからの第２のレベルは、ビジュアルテーブルの第２の成分によって表される。一部の実施形態では、第１の成分は、複数のロウであり、第２の成分は、複数のカラムである。一部の実施形態では、第１の成分は、複数のロウであり、第２の成分は、複数のレイヤである。他の諸実施形態では、第１の成分は、複数のカラムであり、第２の成分は、複数のレイヤである。複数のレイヤを含むグラフが、図１４および図１５に示される。一般に、レイヤは、ｚ次元においてプロットされ、各レイヤは、プロットのｘ軸およびｙ軸にわたる。
【０２１１】
[0230]  本発明の一部の実施形態では、テーブルの中の各ロウにおけるグラフィック（例えば、棒）には、異なる色またはハッシュパターンが割り当てられる。このため、一実施形態では、ロウ２００２−１における棒には、１つの色が色付けされ、ロウ２００２−２における棒には、別の色が色付けされる。より一般的には、本発明の一部の実施形態では、第１の成分および／または第２の成分の要素（例えば、棒、テキスト）には、異なる色および／またはハッシュパターンが割り当てられる。
【０２１２】
[0231]  図１９は、第１の成分（セグメント２１０６）が、グラフィックの詳細レベル（図１９、棒２１０２）を表し、第２の成分（図１９、月）が、ビジュアルプロットの第１の軸（図１９、ｘ軸）上で表されるのに対して、グラフプロットの第２の軸（ｙ軸）は、計量値（売上高）を表す、ビジュアルプロット２１００を示す。グラフィック（図１９、棒２１０２）は、詳細レベル（図１９、年）に従って複数のセグメント２１０６に分割されて、複数のセグメントの各セグメント２１０６に、異なる色、または異なるハッシュパターンが割り当てられるようにし、複数のセグメント２１０６の各セグメントが、次元階層の第１のレベル（図１９、年）における異なるデータポイント（図１９、異なる年）を表すようにする。このため、ビジュアルプロット２１００は、［Ｔｉｍｅ］．［Ｙｅａｒ］によって細分される「Ｓａｌｅｓ」対［Ｔｉｍｅ］．［Ｑｕａｒｔｅｒ］．［Ｍｏｎｔｈ］というフォーマットを有する。つまり、ビジュアルプロット２１００における各棒２１０２は、複数の年にわたる所与の月に関する売上高を表す。例えば、棒２１０２−１は、１９９８年および１９９９年の１月に達せられた売上高を表す。さらに、各棒２１０２は、年によってセグメント化される。例えば、棒２１０２の下の部分２１０６は、１９９８年１月の相対的売上高を表し、第１の色で色付けされ、または第１のハッシュパターンが与えられ、棒２１０２−１の上の部分２１０８は、１９９９年１月の相対的売上高を表し、第２の色で色付けされ、または第２のハッシュパターンが与えられる。このため、時間のレベルは、グラフィックの軸と、グラフィックスの詳細レベルをともに定義する。
【０２１３】
[0232]  図２０は、基礎をなすデータセットにおける次元（図２０、時間）からのレベルのセットが、第１の成分（図２０、カラム）によって表され、レベルのセットは、次元の次元階層の一部分を表す実施形態を示す。ビジュアルプロット２２００では、レベルのセットは、時間階層のｙｅａｒ．ｑｕａｒｔｅｒ．ｍｏｎｔｈレベルを表す。さらに、図２０に示されるとおり、レベルのセットは、レベルのセットによって表される次元階層の部分における各レベルを含まない。図２０のケースでは、レベルのセットは、カラムとしてｙ軸上で表される。ｙ軸上のレベルのセットは、年および月を含むが、四半期は含まない。つまり、ビジュアルプロット２２００は、「売上高」という計量値（ロウ、ｙ軸）対「時間」という次元（カラム、ｘ軸）をグラフにする。しかし、この実施形態では、時間（年、四半期、月、日、分）という次元のレベルは、飛ばされる。このため、基礎をなすデータは、年、四半期、および月という階層に画定された時間を有するが、ビジュアルプロット２２００は、１９９８年および１９９９年それぞれに関する「月」というレベルだけを表示する。これは、（図２０のカラム）ｘ軸上のデータの変位を制御するシェルフ７０８−５上で、時間次元の年レベルおよび月レベルを選択すること、およびビジュアルプロット２２００のｙ軸上のデータの変位を制御するシェルフ７０８−４上で、「売上高」という計量値を選択することによって達せられる。
【０２１４】
[0233]  図２１は、基礎をなすデータセットの中で見出された次元階層（例えば、図２１、時間）からのレベルのセットが、第１の成分（図２１、ｙ軸、カラム）によって、ただし、次元階層における順序を逸脱する順序で表現される実施形態を示す。特に、ビジュアルプロット２３００は、計量値ＳＵＭ（ｇｒｏｓｓ＿ｐｒｏｆｉｔ）（ロウ）対時間という次元（カラム）をグラフにする。しかし、この実施形態では、時間という次元のレベルは、自然な順序で表示されない。つまり、年は、四半期内にネスト化される。このため、基礎をなすデータは、年、四半期、および月という階層に画定された時間を有するが、ビジュアルプロット２３００は、「ｑｕａｒｔｅｒ」内にネスト化された「ｙｅａｒ」というレベルを表示する。これは、ｘ軸（図２１のカラム）上でデータの変位を制御するシェルフ７０８−５上で、時間次元の四半期レベルと年レベルを逆の順序で選択し、ビジュアルプロット２３００のｙ軸上でデータの変位を制御するシェルフ７０８−４上で、「ＳＵＭ（ｇｒｏｓｓ＿ｐｒｏｆｉｔ）」という計量値を選択することによって達せられる。有利には、ビジュアルプロット２３００は、それぞれの年からの対応する四半期の直接の比較をもたらす。例えば、パネル２３０４では、第１四半期の総利益が、１９９７年、１９９８年、１９９９年、２０００年、２００１年、および２００２年にわたって直接に比較されることが可能である。
【０２１５】
[0234]  本発明の技術は、棒グラフに限定されない。様々な異なるマークが、本発明において使用されることが可能である。一部の実施形態では、ユーザは、いずれのマークを使用するかを、トグル２３２０（図２１）で選択する。ビジュアルプロット２３００では、トグルは、「ｂａｒ」に設定され、そのため、棒グラフが、描かれる。しかし、ビジュアルプロット２４００（図２２）では、トグル２３２０は、「ｔｅｘｔ」に設定されて、テキストテーブルの表示がもたらされる。トグル２３２０が、「ｔｅｘｔ」に設定されると、パネル２４１０を使用して、いずれのテキストが、グラフィックにおいて使用されるべきかが指定される。代替として、図示されていない諸実施形態では、ユーザが、使用されるべきテキストをグラフィック上に直接にドラッグする。図２２で、使用されるべきテキストが、「売上高」に設定される。このため、各月に関する売上高データが、ビジュアルプロット２４００のｘ軸に沿ってテキストフォーマットで表示される。さらに、「時間」という次元の「年」というレベルは、シェルフ７０８−５において指定されるので、ｘ軸に沿った売上高データは、ｙ軸に沿ってロウに細分され、各ロウは、売上高データのそれぞれ年を表す。
【０２１６】
[0235]  トグル２３２０は、トグル２３２０が、「ｓｑｕａｒｅ」に設定されているビジュアルプロット２５００（図２３）に示されるとおり、散布図マトリックスを含め、多種多様なグラフィックタイプに設定されることが可能である。ビジュアルプロット２５００では、シェルフ７０８−５は、時間という次元の「ｑｕａｒｔｅｒ」というレベル、および「ｓａｌｅｓ」という計量値に設定される。したがって、ビジュアルプロット２５００のｙ軸は、四半期による売上高を示す。シェルフ７０８−４は、時間という次元の「ｙｅａｒ」というレベル、および「ｐｒｏｆｉｔ」という計量値に設定される。したがって、ビジュアルプロット２５００は、それぞれの年のそれぞれの四半期における利益対売上高の散布図を示す。散布図における各データポイントは、所与の月を表し、データポイントの座標は、所与の月に関する利益対売上高によって決まる。
【０２１７】
[0236]  代替の諸実施形態
本発明は、コンピュータ可読記憶媒体に組み込まれたコンピュータプログラム機構を含むコンピュータプログラム製品として実施されることが可能である。例えば、コンピュータプログラム製品は、図１３に示されるプログラムモジュール群を含むことが可能である。それらのプログラムモジュールは、ＣＤ−ＲＯＭ、磁気ディスクストレージ製品、または他の任意のコンピュータ可読のデータストレージ製品またはプログラムストレージ製品の上に格納されることが可能である。また、コンピュータプログラム製品の中のソフトウェアモジュール群は、インターネットを介して、またはそれ以外で、搬送波上でコンピュータデータ信号（それらのソフトウェアモジュールが組み込まれた）を伝送することにより、電子的に配信されることも可能である。
【０２１８】
[0237]  当分野の技術者には理解されるとおり、本発明の趣旨および範囲を逸脱することなく、本発明の多くの変形形態および変更形態が、実施されることが可能である。本明細書で説明される特定の諸実施形態は、単に例として提供されており、本発明は、添付の特許請求の範囲、およびそのような特許請求の範囲に与えられる完全な均等の範囲だけによって限定されるべきである。
【０２１９】
[0238]  本明細書で引用するすべての参照文献は、あたかも、それぞれの個別の刊行物または特許または特許出願が、すべての目的のために参照により全体が本明細書に組み込まれるように具体的に、個々に示されているかのように、すべての目的のために参照により全体が本明細書に組み込まれている。
【図面の簡単な説明】
【０２２０】
【図１】[0017]本発明による例示的なグラフィック分類法を示す。
【図２Ａ】[0018]本発明による例示的なチャートおよびマークを示す。
【図２Ｂ】[0018]本発明による例示的なチャートおよびマークを示す。
【図２Ｃ】[0018]本発明による例示的なチャートおよびマークを示す。
【図２Ｄ】[0018]本発明による例示的なチャートおよびマークを示す。
【図２Ｅ】[0018]本発明による例示的なチャートおよびマークを示す。
【図２Ｆ】[0018]本発明による例示的なチャートおよびマークを示す。
【図２Ｇ】[0018]本発明による例示的なチャートおよびマークを示す。
【図３】[0019]時間に関する階層を示す。
【図４】[0020]データベースに関するスタースキーマを示す。
【図５】[0021]データベースに関するスノーフレークスキーマを示す。
【図６】[0022]データキューブにおける各軸が、データベーススキーマにおける次元（製品、場所、時間）に関する詳細レベルに対応する、架空のコーヒーチェーンに関するデータキューブを示す。
【図７】[0023]各次元が、階層構造を有する、特定のデータベーススキーマに関するデータキューブのラチスを示す。
【図８】[0024]解析の関心対象ではない次元にわたって集約することにより、データキューブの次元の数を減らす、３次元のデータキューブの投影を示す。
【図９】[0025]キューブの１つまたは複数の次元のメンバをフィルタリングすることによるデータキューブのスライスの構築を示す。
【図１０Ａ】[0026]本発明の方法に従ってビジュアル規定を作成し、マークを割り当てるためのユーザインタフェースの諸実施形態を示す。
【図１０Ｂ】[0026]本発明の方法に従ってビジュアル規定を作成し、マークを割り当てるためのユーザインタフェースの諸実施形態を示す。
【図１１】[0027]本発明の一実施形態による処理ステップを示す。
【図１２】[0028]本発明の一実施形態によるビジュアルテーブルの中の１つまたは複数のペインにおけるペインに対する、タプルのサブセットの関連付けを示す。
【図１３】[0029]本発明の一実施形態によるデータベースの中のデータの表示を円滑にするコンピュータシステムを示す。
【図１４】[0030]本発明の一実施形態による、複数のデータソースの階層化、およびレイヤの分割を示す。
【図１５】[0031]本発明の一実施形態による処理ステップの例示的な概要を与える。
【図１６】[0032]本発明の一実施形態による、正規化されたセットフォームのビジュアル規定から生成されたテーブルに関する構成を示す。
【図１７】[0033]売上高データに関する時間次元（年、四半期、月）のレベルの自然な階層表示を示すビジュアルプロットを示す。
【図１８】[0034]本発明の一実施形態による［時刻］．［年］＊［売上高］（ロウ、ｙ軸）対［時刻］．［四半期］．［月］（カラム、ｘ軸）というフォーマットを有するビジュアルプロットを示す。
【図１９】[0035]次元階層のレベルが、グラフィックに関する詳細レベルとして使用される、本発明のある実施形態によるビジュアルプロットを示す。
【図２０】[0036]本発明の一実施形態による、次元が飛ばされるビジュアルプロットを示す。
【図２１】[0037]本発明のある実施形態による、基礎をなすデータセットにおいて見られる次元階層からのレベルのセットが、第１の成分によって表現されるが、次元階層において見られる順序からはずれる順序で表現される、ビジュアルプロットを示す。
【図２２】[0038]本発明のある実施形態による、時間次元が２つの軸上に見られるビジュアルプロットを示す。
【図２３】[0039]本発明のある実施形態による、売上高データをセグメント化された散布図にコード化するビジュアルプロットを示す。
【図１】
2008523473.tif 000037
【図２Ａ】
2008523473.tif 000038
【図２Ｂ】
2008523473.tif 000039
【図２Ｃ】
2008523473.tif 000040
【図２Ｄ】
2008523473.tif 000041
【図２Ｅ】
2008523473.tif 000042
【図２Ｆ】
2008523473.tif 000043
【図２Ｇ】
2008523473.tif 000044
【図３】
2008523473.tif 000045
【図４】
2008523473.tif 000046
【図５】
2008523473.tif 000047
【図６】
2008523473.tif 000048
【図７】
2008523473.tif 000049
【図８】
2008523473.tif 000050
【図９】
2008523473.tif 000051
【図１０Ａ】
2008523473.tif 000052
【図１０Ｂ】
2008523473.tif 000053
【図１１】
2008523473.tif 000054
【図１２】
2008523473.tif 000055
【図１３】
2008523473.tif 000056
【図１４】
2008523473.tif 000057
【図１５】
2008523473.tif 000058
【図１６】
2008523473.tif 000059
【図１７】
2008523473.tif 000060
【図１８】
2008523473.tif 000061
【図１９】
2008523473.tif 000062
【図２０】
2008523473.tif 000063
【図２１】
2008523473.tif 000064
【図２２】
2008523473.tif 000065
【図２３】
2008523473.tif 000066
【手続補正書】
【提出日】平成19年8月16日(2007.8.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチフィールドデータセットの第１のフィールドに対応する第１の軸を少なくとも１つが有する複数のペインを含むビジュアルプロットを編成すること、
前記第１のフィールドの第１のフィールドタイプに従って、前記ペインにペインタイプを割り当てること、
前記ペインタイプに基づき、前記ペインに関するマークを選択すること、および
前記データセットの中の少なくとも１つのタプルに対応する、前記マークの少なくとも１つのインスタンスで、前記ペインをポピュレートすること、
を含むコンピュータによって実施される方法。
【請求項２】
前記データセットに問い合わせて、前記少なくとも１つのタプルを含む複数のタプルを獲得することをさらに含む請求項１に記載の方法。
【請求項３】
規定に従って前記ビジュアルプロットを編成することをさらに含む請求項１に記載の方法。
【請求項４】
前記規定に従って前記ペインをポピュレートすることをさらに含む請求項３に記載の方法。
【請求項５】
前記第１のフィールドタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから選択される、請求項１に記載の方法。
【請求項６】
前記マークは、
（ａ）前記第１のフィールドタイプが数値タイプである場合は、形状であるように、
（ｂ）前記第１のフィールドタイプがカテゴリタイプである場合は、テキストであるように選択される、請求項１に記載の方法。
【請求項７】
前記ペインは、テキストフォーム、棒グラフ、円グラフ、３次元棒グラフ、３次元投影、ホログラム、ガントチャート、および散布図から成るグループから選択された形態で視覚的に表示される、請求項１に記載の方法。
【請求項８】
前記インスタンスは、前記データセットの中の前記少なくとも１つのタプルを含む複数のタプルに対応する、請求項１に記載の方法。
【請求項９】
コンピュータ可読記憶媒体と、そのコンピュータ可読記憶媒体に組み込まれたコンピュータプログラム機構とを含む、コンピュータシステムと併せて使用するためのコンピュータプログラム製品であって、前記コンピュータプログラム機構は、前記コンピュータシステムによって実行されると、前記コンピュータシステムが、
マルチフィールドデータセットの第１のフィールドに対応する第１の軸を少なくとも１つが有する複数のペインを含むビジュアルプロットを編成し、
前記第１のフィールドの第１のフィールドタイプに従って、前記ペインにペインタイプを割り当て、
前記ペインタイプに基づき、前記ペインに関するマークを選択し、
前記データセットの中の少なくとも１つのタプルに対応する、前記マークの少なくとも１つのインスタンスで、前記ペインをポピュレートする、
ようにさせる命令を含む、コンピュータプログラム製品。
【請求項１０】
前記データセットに問い合わせて、前記少なくとも１つのタプルを含む複数のタプルを獲得するための命令をさらに含む請求項９に記載のコンピュータプログラム製品。
【請求項１１】
規定に従って前記ビジュアルプロットを編成するための命令をさらに含む請求項９に記載のコンピュータプログラム製品。
【請求項１２】
前記規定に従って前記ペインをポピュレートするための命令をさらに含む請求項１１に記載のコンピュータプログラム製品。
【請求項１３】
前記第１のフィールドタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから選択される、請求項９に記載のコンピュータプログラム製品。
【請求項１４】
前記マークは、
（ａ）前記第１のフィールドタイプが数値タイプである場合は、形状であるように、
（ｂ）前記第１のフィールドタイプがカテゴリタイプである場合は、テキストであるように選択される、請求項９に記載のコンピュータプログラム製品。
【請求項１５】
前記ペインは、テキストフォーム、棒グラフ、円グラフ、３次元棒グラフ、３次元投影、ホログラム、ガントチャート、および散布図から成るグループから選択された形態で視覚的に表示される、請求項９に記載のコンピュータプログラム製品。
【請求項１６】
前記インスタンスは、前記データセットの中の前記少なくとも１つのタプルを含む複数のタプルに対応する、請求項９に記載のコンピュータプログラム製品。
【請求項１７】
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに結合されたメモリと、
前記メモリの中に格納され、前記１つまたは複数のプロセッサによって実行されるように構成されたプログラムであって、
マルチフィールドデータセットの第１のフィールドに対応する第１の軸を少なくとも１つが有する複数のペインを含むビジュアルプロットを編成するための命令と、
前記第１のフィールドの第１のフィールドタイプに従って、前記ペインにペインタイプを割り当てるための命令と、
前記ペインタイプに基づき、前記ペインに関するマークを選択するための命令と、
前記データセットの中の少なくとも１つのタプルに対応する、前記マークの少なくとも１つのインスタンスで、前記ペインをポピュレートするための命令と、
を含むプログラムとを含むコンピュータシステム。
【請求項１８】
前記データセットに問い合わせて、前記少なくとも１つのタプルを含む複数のタプルを獲得するための命令をさらに含む請求項１７に記載のコンピュータシステム。
【請求項１９】
規定に従って前記ビジュアルプロットを編成するための命令をさらに含む請求項１７に記載のコンピュータシステム。
【請求項２０】
前記規定に従って前記ペインをポピュレートするための命令をさらに含む請求項１９に記載のコンピュータシステム。
【請求項２１】
前記第１のフィールドタイプは、時間タイプ、数値タイプ、カテゴリタイプ、および地理位置タイプから成るグループから選択される、請求項１７に記載のコンピュータシステム。
【請求項２２】
前記マークは、
（ａ）前記第１のフィールドタイプが数値タイプである場合は、形状であるように、
（ｂ）前記第１のフィールドタイプがカテゴリタイプである場合は、テキストであるように選択される、請求項１７に記載のコンピュータシステム。
【請求項２３】
前記ペインは、テキストフォーム、棒グラフ、円グラフ、３次元棒グラフ、３次元投影、ホログラム、ガントチャート、および散布図から成るグループから選択された形態で視覚的に表示される、請求項１７に記載のコンピュータシステム。
【国際調査報告】
2008523473.tif 000067