(57)【要約】      （修正有）【課題】インタラクティブなサマリーテーブルのユーザが複数条件のデータフィルタを指定して、サマリーテーブルに表示されるデータを修正する技術を提供する。【解決手段】ユーザが複数条件でデータフィルタを指定できるようにするユーザインタフェースを、ユーザに表示する。複数条件のデータフィルタの指定は、論理演算子によって結合されたフィルタ条件のセットを含む。１つまたは複数のフィルタ式を、フィルタ条件および論理演算子に基づいて複数条件のデータフィルタの指定から解析し、そのフィルタ式を集約データに適用して、サマリーテーブルを表示する。【選択図】図３
2015038749.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに接続された表示装置上に表示されるように変換された集約データのフィルタリングを提供するためのコンピュータ実装方法であって、前記集約データはテーブル内のデータのサマリーであって、前記コンピュータはプロセッサおよびシステムメモリを含み、前記方法は、
前記プロセッサが
前記コンピュータのユーザが１つまたは複数のデータフィルタを指定できるようにするユーザインタフェースを、前記表示装置上に表示することと、
前記ユーザにより指定された第１のデータフィルタの指定を、前記ユーザインタフェースを介して受信することと、
前記ユーザにより指定された第２のデータフィルタの指定を、前記ユーザインタフェースを介して受信することと、
前記ユーザにより指定された前記第１のデータフィルタおよび前記第２のデータフィルタの適用順序を、前記ユーザインタフェースを介して受信することと、
前記第１のデータフィルタおよび前記第２のデータフィルタの前記指定から、１つまたは複数のフィルタ式を解析することと、
論理演算子によって結合された前記１つまたは複数のフィルタ式を、前記第１のデータフィルタおよび前記第２のデータフィルタの前記適用順序に基づく順序で前記集約データに適用して、フィルタリングされた集約データを提供することと、
前記フィルタリングされた集約データを、前記表示装置上に表示することと
を備えることを特徴とする方法。
【請求項２】
コンピュータに接続された表示装置上に表示されるように変換された集約データの複数条件でのフィルタリングを提供するためのコンピュータ実装方法であって、前記集約データはテーブル内のデータのサマリーであって、前記コンピュータはプロセッサおよびシステムメモリを含み、前記方法は、
前記プロセッサが、
前記コンピュータのユーザが複数条件のデータフィルタを指定できるようにするユーザインタフェースを、前記表示装置上に表示することと、
前記ユーザにより指定された、論理演算子によって結合された複数のフィルタ条件を含む第１の複数条件のデータフィルタの指定を、前記ユーザインタフェースを介して受信することと、
前記ユーザにより指定された、論理演算子によって結合された複数のフィルタ条件を含む第２の複数条件のデータフィルタの指定を、前記ユーザインタフェースを介して受信することと、
前記ユーザにより指定された前記第１の複数条件のデータフィルタおよび前記第２の複数条件のデータフィルタの適用順序を、前記ユーザインタフェースを介して受信することと、
前記第１の複数条件のデータフィルタおよび前記第２の複数条件のデータフィルタの前記指定から、１つまたは複数のフィルタ式を解析することと、
論理演算子によって結合された前記１つまたは複数のフィルタ式を、前記第１の複数条件のデータフィルタおよび前記第２の複数条件のデータフィルタの前記適用順序に基づく順序で前記集約データに適用して、フィルタリングされた集約データを提供することと、
前記フィルタリングされた集約データを、前記表示装置上に表示することと
を備えることを特徴とする方法。
【請求項３】
前記ユーザインタフェースは、複数条件のデータフィルタの前記複数のフィルタ条件にフィルタ条件を追加する手段、および前記複数条件のデータフィルタの前記複数のフィルタ条件からフィルタ条件を削除する手段を備えることを特徴とする請求項２に記載のコンピュータ実装方法。
【請求項４】
前記ユーザインタフェースは、前記複数のフィルタ条件内で隣接するフィルタ条件を結合する前記論理演算子を選択する手段をさらに備えることを特徴とする請求項３に記載のコンピュータ実装方法。
【請求項５】
前記ユーザインタフェースは、前記複数条件のデータフィルタの前記複数のフィルタ条件の順序を変更する手段をさらに備え、前記第１の複数条件のデータフィルタは前記複数のフィルタ条件の順序を変更することをさらに含むことを特徴とする請求項３に記載のコンピュータ実装方法。
【請求項６】
前記ユーザインタフェースは、前記複数のフィルタ条件のサブセットを１つまたは複数のフィルタ条件のグループにグループ化する手段をさらに備え、前記複数条件のデータフィルタの前記指定は、１つまたは複数のフィルタ条件のグループ化をさらに含み、前記１つまたは複数のフィルタ式は、前記１つまたは複数のフィルタ条件のグループ化にさらに基づくことを特徴とする請求項３に記載のコンピュータ実装方法。
【請求項７】
前記ユーザインタフェースは、前記複数のフィルタ条件の表示と併せて前記１つまたは複数のフィルタ条件のグループを示す手段をさらに備えることを特徴とする請求項６に記載のコンピュータ実装方法。
【請求項８】
前記複数条件のデータフィルタの前記指定は、前記１つまたは複数のフィルタ条件のグループ化を指定することをさらに含み、前記１つまたは複数のフィルタ式は、前記１つまたは複数のフィルタ条件のグループ化にさらに基づくことを特徴とする請求項６に記載のコンピュータ実装方法。
【請求項９】
前記複数のフィルタ式のうちの１つを続けて適用する場合の各フィルタ式の適用の間に、前記集約データ内の総計を再計算することをさらに備える請求項２に記載のコンピュータ実装方法。
【請求項１０】
前記方法は、前記コンピュータ上で動作する表計算プログラムにより実行されることを特徴とする請求項２に記載のコンピュータ実装方法。
【請求項１１】
コンピュータに接続された表示装置上に表示するように変換された集約データのフィルタリングを提供するための、コンピュータ実行可能命令が格納されているコンピュータ可読媒体であって、前記集約データはテーブル内のデータのサマリーであって、前記命令は前記コンピュータのプロセッサ上で実行されると、前記コンピュータに、
前記コンピュータのユーザが１つまたは複数のデータフィルタを指定できるようにするユーザインタフェースを、前記表示装置上に表示することと、
前記ユーザにより指定された第１のデータフィルタの指定を、前記ユーザインタフェースを介して受信することと、
前記ユーザにより指定された第２のデータフィルタの指定を、前記ユーザインタフェースを介して受信することと、
前記ユーザにより指定された前記第１のデータフィルタおよび前記第２のデータフィルタの適用順序を、前記ユーザインタフェースを介して受信することと、
前記第１のデータフィルタおよび前記第２のデータフィルタの前記指定から、１つまたは複数のフィルタ式を解析することと、
前記第１のデータフィルタおよび前記第２のデータフィルタの前記適用順序に少なくとも一部は基づき、前記１つまたは複数のフィルタ式の適用順序を決定することと、
論理演算子によって結合された前記１つまたは複数のフィルタ式を、前記決定した順序で前記集約データに適用して、フィルタリングされた集約データを提供することと、
前記表示装置上に表示するために、前記フィルタリングされた集約データを表示モジュールに渡すことと
を実行させることを特徴とするコンピュータ可読媒体。
【請求項１２】
コンピュータに接続された表示装置上に表示するように変換された集約データの複数条件のフィルタリングを提供するための、コンピュータ実行可能命令が格納されているコンピュータ可読媒体であって、前記集約データはテーブル内のデータのサマリーであって、前記命令は前記コンピュータのプロセッサ上で実行されると、前記コンピュータに、
前記コンピュータのユーザが複数条件のデータフィルタを指定できるようにするユーザインタフェースを、前記表示装置上に表示することと、
前記ユーザにより指定された、論理演算子によって結合された複数のフィルタ条件を含む第１の複数条件のデータフィルタの指定を、前記ユーザインタフェースを介して受信することと、
前記ユーザにより指定された、論理演算子によって結合された複数のフィルタ条件を含む第２の複数条件のデータフィルタの指定を、前記ユーザインタフェースを介して受信することと、
前記ユーザにより指定された前記第１の複数条件のデータフィルタおよび前記第２の複数条件のデータフィルタの適用順序を、前記ユーザインタフェースを介して受信することと、
前記第１の複数条件のデータフィルタおよび前記第２の複数条件のデータフィルタの前記指定から、１つまたは複数のフィルタ式を解析することと、
前記第１の複数条件のデータフィルタおよび前記第２の複数条件のデータフィルタの前記適用順序に少なくとも一部は基づき、前記１つまたは複数のフィルタ式の適用順序を決定することと、
前記１つまたは複数のフィルタ式を、前記決定した順序で前記集約データに適用することと、
前記表示装置上に表示するために、前記フィルタリングされた集約データを表示モジュールに渡すことと
を実行させることを特徴とするコンピュータ可読媒体。
【請求項１３】
テーブルに表示されるように変換された集約データのデータフィルタリングを提供するためのシステムであって、前記集約データはテーブル内のデータのサマリーであって、
コンピュータと、
前記コンピュータに動作可能に接続された表示装置と、
ユーザが、１つまたは複数のデータフィルタを指定できるようにする、第１のユーザインタフェースと、
ユーザが、前記１つまたは複数のデータフィルタの適用順序を指定できるようにする、第２のユーザインタフェースと、
データソースからデータにアクセスし、前記データを前記テーブルに表示する形式のデータに変換するように構成されたテーブルデータアクセスモジュールと、
テーブルＵＩモジュールであって、
前記第１のユーザインタフェースを前記表示装置上に表示することと、
前記ユーザにより指定された前記１つまたは複数のデータフィルタの指定を、前記第１のユーザインタフェースを介して受信することと、
前記第２のユーザインタフェースを前記表示装置上に表示することと、
前記ユーザにより指定された前記１つまたは複数のデータフィルタの適用順序を、前記第２のユーザインタフェースを介して受信することと
を行うように構成されたテーブルＵＩモジュールと、
データフィルタモジュールであって、
前記データフィルタの前記指定に基づいて前記データフィルタの前記指定から１つまたは複数のフィルタ式を解析することと、
前記データフィルタの前記適用順序に少なくとも一部は基づいて、前記１つまたは複数のフィルタ式の適用順序を決定することと、
論理演算子によって結合された前記１つまたは複数のフィルタ式を、前記決定した適用順序で前記集約データに適用して、フィルタリングされた集約データを提供することと
を行うように構成されたデータフィルタモジュールとを備え、
前記テーブルＵＩモジュールは、前記フィルタリングされた集約データを前記表示装置上に表示する
ことを特徴とするシステム。
【請求項１４】
テーブルに表示されるように変換された集約データの複数条件のデータフィルタリングを提供するためのシステムであって、前記集約データはテーブル内のデータのサマリーであって、
コンピュータと、
前記コンピュータに動作可能に接続された表示装置と、
ユーザが、論理演算子によって結合された複数のフィルタ条件を含む複数条件のデータフィルタを指定できるようにする、第１のユーザインタフェースと、
ユーザが、複数の複数条件のデータフィルタの適用順序を指定できるようにする、第２のユーザインタフェースと、
データソースからデータにアクセスし、前記データを前記テーブルに表示する形式のデータに変換するように構成されたテーブルデータアクセスモジュールと、
テーブルＵＩモジュールであって、
前記第１のユーザインタフェースを前記表示装置上に表示することと、
前記ユーザにより指定された、複数の複数条件のデータフィルタの指定を、前記第１のユーザインタフェースを介して受信することであって、前記複数の複数条件のデータフィルタのそれぞれは論理演算子によって結合されたフィルタ条件の対応する組を含み、
前記第２のユーザインタフェースを前記表示装置上に表示することと、
前記ユーザにより指定された前記複数の複数条件のデータフィルタの適用順序を前記第２のユーザインタフェースを介して受信することと
を行うように構成されたテーブルＵＩモジュールと、
データフィルタモジュールであって、
前記フィルタ条件および前記論理演算子の対応する組に基づいて、前記複数の複数条件のデータフィルタの前記指定から１つまたは複数のフィルタ式を解析することと、
前記複数の複数条件のデータフィルタの前記適用順序に少なくとも一部は基づいて、前記１つまたは複数のフィルタ式の適用順序を決定することと、
前記１つまたは複数のフィルタ式を、前記決定した適用順序で前記集約データに適用して、フィルタリングされた集約データを提供することと
を行うように構成されたデータフィルタモジュールとを備え、
前記テーブルＵＩモジュールは、前記集約データを前記表示装置に表示する
ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、インタラクティブなサマリーテーブルの複数条件でのフィルタリングに関する。
【背景技術】
【０００２】
サマリーテーブル（summary table）とは、処理の詳細なソースデータを、様々な詳細レベルにおいて「ロールアップ」または集約する（summarize）ことを可能にする、データ集約ツールである。サマリーテーブルの機能は、ピボットテーブルとしても知られており、表計算プログラムおよびデータ報告ツールといった、データ視覚化プログラムおよびデータ分析プログラムに見られる。データ分析プログラムにより、ユーザは、サマリーテーブルをグリッドとしてあらわし、グリッドの行ラベルおよび列ラベルに対するソースデータと共に、グリッド内で集約されるデータ値に対するソースデータから、データフィールドを指定することができる。次いで、データ分析プログラムは、ソースデータから抽出された行ラベルおよび列ラベルに基づき、グリッド内のデータ値をグループ化、分類、計算、および／または合計することができる。
【０００３】
データ分析プログラムにより、ユーザは、サマリーテーブルの行ラベルおよび／または列ラベルに対して、複数のデータフィールドを指定できる。この場合、データ分析プログラムは、従来、指定されたデータフィールドの順序に基づき、行ラベルまたは列ラベルによって階層的に集約されたデータ値を表示する。データ分析プログラムによって、ユーザは、サマリーテーブルをインタラクティブに操作し、階層内の行ラベルまたは列ラベルを展開および折り畳んで、ユーザの要求に応じてより多くまたはより少ないデータ値を表示することができる。
【０００４】
インタラクティブなサマリーテーブルの実装には、サマリーテーブルに対してデータフィルタを指定することによって、表示されるデータをユーザが制限できるようにするものがある。データフィルタは、サマリーテーブルを作成する際にデータ分析プログラムが利用するソースデータを制限する、報告レベルのフィルタであってもよい。または、行フィルタまたは列フィルタであってもよく、対応する行ラベルまたは列ラベルの値、もしくはその行または列で集約されたデータ値によって、どの行または列を表示するかをユーザが選択できるようにする。
【０００５】
データフィルタを指定するユーザインタフェースにおける制限のために、これらの実装は、一般に、１つのフィルタの基準、もしくは行または列ごとの条件に制限され、複数の付加的な条件を含む複合データフィルタを作成することはできない。そのような複合データフィルタは、大量の種々のソースデータの中から特定の情報を検索する際に必要であるかもしれない。このような場合、ユーザは、データ分析プログラムがそのデータにアクセスする前にクエリ式または他の機構を使用してソースデータを事前にフィルタリングするために、データベースの専門家を利用するという手段を用いなければならないかもしれない。これは、報告のプロセスに複雑さとリソースを加えることとなり、その結果、表示されるデータをインタラクティブに操作するユーザの能力を制限する特殊なサマリーテーブルとなるかもしれない。
【０００６】
本明細書になされる開示は、これらの考察などに関して提示するものである。
【発明の概要】
【０００７】
本明細書は、インタラクティブなサマリーテーブルのユーザが複数条件のデータフィルタを指定して、サマリーテーブルに表示されるデータを修正できるようにする技術について、説明する。本明細書で説明する技術を利用して、データ分析プログラムは、ユーザが複合的な複数条件のデータフィルタを作成し、および、意図するデータがサマリーテーブルに表示されるようにデータフィルタの条件をグループ化および順序付けできるようにする、ユーザインタフェースを提供することができる。これにより、ユーザは、データ分析プログラムがソースデータを読み出す前にそのソースデータを事前にフィルタリングするためにデータベースの専門家を使用する必要なく、大量の種々のソースデータから、サマリーテーブルのデータの行または列の個別化されたサブセットを表示することができる。
【０００８】
一実施形態によると、ユーザが複数条件でのデータフィルタを指定できるようにするユーザインタフェースが、ユーザに表示される。複数条件のデータフィルタの指定には、論理演算子によって結合されたフィルタ条件のセットが含まれる。１つまたは複数のフィルタ式を、フィルタ条件および論理演算子に基づいて複数条件でのデータフィルタの指定から解析し、そのフィルタ式が集約データ（summary data）に適用されて、サマリーテーブルが表示される。
【０００９】
当然のことながら、上述の主題を、コンピュータ制御された機器、コンピュータプロセス、コンピューティングシステムとして、またはコンピュータ可読媒体といった製品として実装してもよい。これらおよび他の種々の特徴は、以下の「発明を実施するための形態」を読み、関連図面を精査すると、明らかになるであろう。
【００１０】
この「発明の概要」は、「発明を実施するための形態」で以下にさらに説明する概念の抜粋を、簡略化した形で導入するために提供されている。この「発明の概要」は特許請求の範囲の主題の重要な特徴または本質的な特徴を特定しようとするものではなく、この「発明の概要」を、特許請求の範囲の主題の範囲を限定するために用いようとするものでもない。さらに、特許請求の範囲の主題は、本開示のいずれかの部分に記すなんらかのまたは全ての欠点を解決する実装に限定するものでない。
【図面の簡単な説明】
【００１１】
【図１】本明細書に提示する実施形態によって提供する例示的オペレーティング環境およびいくつかのソフトウェアコンポーネントの態様を示すブロック図である。
【図２】本明細書に説明する実施形態による、例示的なサマリーテーブルの表示を示すスクリーン図である。
【図３】本明細書に説明する実施形態による、インタラクティブなサマリーテーブルに対する複数条件のデータフィルタを指定するユーザインタフェースの例を示すスクリーン図である。
【図４】本明細書に説明する実施形態による、インタラクティブなサマリーテーブルに対する複数条件のデータフィルタを指定するユーザインタフェースの例を示すスクリーン図である。
【図５Ａ】本明細書に説明する実施形態による、データフィルタ条件を順序付ける能力を含む、複数条件のデータフィルタを指定するユーザインタフェースの別の例を示すスクリーン図である。
【図５Ｂ】本明細書に説明する実施形態による、データフィルタ条件を順序付ける能力を含む、複数条件のデータフィルタを指定するユーザインタフェースの別の例を示すスクリーン図である。
【図６Ａ】本明細書に説明する実施形態による、データフィルタ条件を順序付ける能力を含む、複数条件のデータフィルタを指定するユーザインタフェースの別の例を示すスクリーン図である。
【図６Ｂ】本明細書に説明する実施形態による、データフィルタ条件を順序付ける能力を含む、複数条件のデータフィルタを指定するユーザインタフェースの別の例を示すスクリーン図である。
【図７Ａ】本明細書に説明する実施形態による、それぞれ、図６Ａおよび図６Ｂに示す複数条件のデータフィルタにおける条件の順序付けに基づいて、サマリーテーブルの表示への変更を示すスクリーン図である。
【図７Ｂ】本明細書に説明する実施形態による、それぞれ、図６Ａおよび図６Ｂに示す複数条件のデータフィルタにおける条件の順序付けに基づいて、サマリーテーブルの表示への変更を示すスクリーン図である。
【図８Ａ】本明細書に説明する実施形態による、データフィルタの条件をグループ化する能力を含む、複数条件のデータフィルタを指定するユーザインタフェースの別の例を示すスクリーン図である。
【図８Ｂ】本明細書に説明する実施形態による、データフィルタの条件をグループ化する能力を含む、複数条件のデータフィルタを指定するユーザインタフェースの別の例を示すスクリーン図である。
【図９】複数条件のデータフィルタをインタラクティブなサマリーテーブルの表示に適用するための一方法を示すフロー図である。
【図１０】本明細書に提示する実施形態の態様を実装することが可能なコンピューティングシステムの例示的なコンピュータハードウェアおよびコンピュータソフトウェアのアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００１２】
以下の詳細な説明は、インタラクティブなサマリーテーブルに表示されるデータの複数条件でのフィルタリングを提供するための技術を指向する。本明細書に説明する主題を、コンピュータシステム上のオペレーティングシステムおよびアプリケーションプログラムの実行と併せて実行するプログラムモジュールの一般的な文脈で提示するが、他の実装を他の種類のプログラムモジュールと組み合わせて実施してもよいことは当業者には認識されるであろう。一般に、プログラムモジュールには、ルーチン、プログラム、コンポーネント、データ構造、および、特定のタスクを実施するか、または特定の抽象データ型を実装する他の種類の構造が含まれる。さらに、本明細書に説明する主題を、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成で実践してもよいことは、当業者には理解されるであろう。
【００１３】
以下の詳細な説明において、その一部を成し、例示として具体的な実施形態または例を示す添付図面を参照する。添付図面において、同じ番号は、いくつかの図面を通して同じ要素を表す。
【００１４】
図１は、本明細書に提示する実施形態に従って、インタラクティブなサマリーテーブルの複数条件のフィルタリングを提供するいくつかのソフトウェアコンポーネントを含む例示的オペレーティング環境１００を示す。環境１００は、コンピュータ１０２を含む。コンピュータ１０２は、ＰＣ（パーソナルコンピュータ）、デスクトップワークステーション、ラップトップ、ノートブック、ＰＤＡ（携帯情報端末）、アプリケーションサーバ、ウェブベースのアプリケーションプログラムをホストするウェブサーバ、または、アプリケーションプログラムを実行することができる他の任意のコンピューティング装置であってもよい。
【００１５】
コンピュータ１０２は、データ分析プログラム１０４を実行する。データ分析プログラム１０４は、コンピュータ１０２のユーザ１０６がコンピュータによってアクセス可能なデータソース１０８に含まれるデータを視覚化および操作できるようにするアプリケーションプログラムである。データ分析プログラム１０４は、ワシントン州レドモンドにあるマイクロソフト社のMICROSOFT（登録商標）EXCEL（登録商標）の表計算ソフトウェア、またはニューヨーク州アーモンクにあるIBM社のIBM（登録商標）LOTUS（登録商標）１−２−３（登録商標）の表計算ソフトウェアといった、表計算プログラムであることができる。データ分析プログラム１０４はまた、ドイツ、ヴァルドルフにあるSAP AG社のSAP（登録商標）BUSINESSOBJECTS（商標）CRYSTAL REPORTSといったデータ報告アプリケーションであってもよい。データソース１０８は、コンピュータ１０２に付随するかまたはコンピュータ１０２によってアクセス可能なファイルシステムであることができ、表計算ファイルまたは他のデータファイルを含むことができる。データソース１０８はまた、データ分析プログラム１０４が問い合わせを行うことができる詳細なおよび／または集計されたデータを含む、データベースまたは多次元のＯＬＡＰ（オンライン分析処理）キューブであってもよい。
【００１６】
データ分析プログラム１０４には、データソース１０８からソースデータを取り出し、集約する関数を介してそのソースデータを集約データに変換するよう動作可能な、サマリーテーブルのデータアクセスモジュール１１０を含むことができる。次いで、サマリーテーブルのＵＩモジュール１１２が、集約データをユーザ１０６に対して、コンピュータ１０２に接続された表示装置１１４上に表示する。表示装置１１４は、コンピュータモニタ、フラットパネルディスプレイ、デジタルプロジェクタ、プリンタ、プロッタ、またはコンピュータ１０２に付随する他の任意の出力装置であることができる。表示装置１１４はまた、ウェブブラウザアプリケーションプログラム、またはネットワークを介してコンピュータ１０２にアクセスする遠隔のコンピューティング装置上で実行する他のアプリケーションプログラムであってもよい。ユーザは、キーボード、マウス、タッチスクリーン、スタイラス、またはトラックボールといった、コンピュータ１０２または遠隔のコンピューティング装置に接続された入力装置１１６を利用して、サマリーテーブルのＵＩモジュール１１２を介して、表示装置１１４上のサマリーテーブルの表示を制御または操作することができる。
【００１７】
実施形態によると、データ分析プログラムにはまた、サマリーテーブルのデータフィルタモジュール１１８を含む。サマリーテーブルのデータフィルタモジュール１１８は、サマリーテーブルのＵＩモジュール１１２によって表示されたＵＩ（ユーザインタフェース）を介して、ユーザ１０６からの１つまたは複数のデータフィルタの指定を受理し、それに応じて、以下により詳細に説明するように、サマリーテーブルに表示されるデータをフィルタリングする。当然のことながら、サマリーテーブルのデータアクセスモジュール１１０、サマリーテーブルのデータフィルタモジュール１１８、およびサマリーテーブルのＵＩモジュール１１２を、本明細書においてデータ分析プログラム１０４の別個のモジュールとして説明しているが、本明細書において、これらのモジュールはデータ分析プログラムの特定の機能について言及するために用いられ、実際には、データ分析プログラムを、本明細書に説明するものよりも、より多い、より少ない、または異なるプログラムモジュールで実装してもよい。これらのモジュールの説明は、データ分析プログラム１０４のプログラム構造に、何ら制限を与えようとするものではない。
【００１８】
図２は、サマリーテーブルのＵＩモジュール１１２によって表示装置１１４に表示されたサマリーテーブル２０４を含むウィンドウ２０２のスクリーン表示２００の例を示す。サマリーテーブル２０４は、サマリーテーブルのデータアクセスモジュール１１０によってデータソース１０８から取り出したソースデータで構築された、行２０６および列２０８のグリッドからなる。本例においては、サマリーテーブル２０４の行２０６は、ソースデータ内の「販売員」フィールドの値を示すラベルを付けられ、サマリーテーブルの列２０８は、「注文日」フィールドを反映する。例えば、図２に示す行２０６の１つは、「ＰＥＡＣＯＣＫ」という値を示す販売員の行ラベル２１０を有する。
【００１９】
販売員の行ラベル２１０は、ソースデータから国のフィールドにロールアップすることができ、列ラベルは、年によってロールアップすることができる。サマリーテーブル２０４にはまた、各行ラベルおよび列ラベルに対して集計される２つのデータ値のフィールド２１２Ａ、２１２Ｂ、すなわち、売上高データ値のフィールド２１２Ａおよび利益データ値のフィールド２１２Ｂを含む。例えば、図２に示すデータ値２１４は、２００３年の販売員「ＰＥＡＣＯＣＫ」に対する利益データ値のフィールド２１２Ｂの合計を表すことができる。さらに、サマリーテーブル２０４には、全体の行および／または列に対するデータ値のフィールド２１２Ａ、２１２Ｂの合計を含むことができる。例えば、「ＰＥＡＣＯＣＫ」という販売員の行ラベル２１０を有する行に対する「総売上高」値２１６Ａおよび「総利益」値２１６Ｂを、さらに図２に示している。
【００２０】
図３は、一実施形態による、ユーザ１０６が複数条件のデータフィルタを指定することができるようにする、サマリーテーブルのＵＩモジュール１１２によって提示されるＵＩ３００を示している。上述のように、データ分析プログラム１０４は、１つまたは複数のデータフィルタを指定することによって、サマリーテーブル２０４に表示される集約データを制限する能力を、ユーザ１０６に与えることができる。例えば、ユーザ１０６は、サマリーテーブル２０４に表示される行２０６を制限するために、販売員フィールドにおけるデータフィルタを指定することができる。図３に示すＵＩ３００は、ユーザ１０６が販売員の行ラベル２１０の値に対するデータフィルタを指定できるようにするデータフィルタウィンドウ３０２を備える。データフィルタウィンドウ３０２を、サマリーテーブルのＵＩモジュール１１２によって、ユーザ１０６が、例えばメニュー項目、ツールバーボタン、またはコンピュータ１０２に接続された入力装置１１６を使用する他のＵＩトリガを選択した結果として、表示することができる。
【００２１】
一実施形態によると、ユーザ１０６は、データフィルタに対して複数の基準またはフィルタ条件３０４Ａ〜３０４Ｄ（本明細書では、まとめてフィルタ条件３０４と称する）を指定することができる。ユーザ１０６が、コンピュータ１０２に接続された入力装置１１６を使用して、図３に示す「条件追加」ボタン制御といった条件追加ＵＩ制御３０６を選択することによって、さらなるフィルタ条件３０４をデータフィルタウィンドウ３０２に追加することができる。同様に、ユーザ１０６は、図３にさらに示した「条件削除」ボタン制御といった条件削除ＵＩ制御３０８を選択することによって、フィルタ条件３０４を取り除くことができる。
【００２２】
フィルタ条件３０４を論理演算子によって結合することができ、その論理演算子は、ユーザ１０６が、論理演算子選択制御３１０Ａ〜３１０Ｃ（本明細書では、まとめて論理演算子選択制御３１０と称する）を使用して、各追加条件に対して選択することができる。一実施形態において、ユーザは、データフィルタウィンドウ３０２に追加した各追加フィルタ条件３０４に対して「ＡＮＤ（かつ）」または「ＯＲ（または）」の演算子を選択することができる。フィルタ条件３０４を結合する論理演算子は、図８に関して以下にさらに詳細に説明するように、サマリーテーブルのデータフィルタモジュール１１８によってデータフィルタをどのように適用するかを決定する。例として、図３に示すデータフィルタウィンドウ３０２は、サマリーテーブル２０４に表示される行２０６を、販売員の行ラベル２１０の値が「Ａ」を含む、および販売員の行ラベルの値がアルファベット順で「Ｃ」と「Ｆ」との間である、または販売員の行ラベルの値が「ＬＥＶＥＲＩＮＧ」に等しい、および販売員の行ラベルの値がアルファベット順で「Ｚ」より前である行に制限するデータフィルタを指定している。
【００２３】
当然のことながら、フィルタ条件３０４間の論理演算子の評価の順序は、適用される集約データの対応するフィルタリングに影響を与えうる。一実施形態によると、論理演算子は、フィルタ条件３０４が指定される順序に対応するデフォルトの順序で評価される。図３に示す例から、これは、以下のフィルタ式に対応することができる。
(((販売員 contains “A” AND 販売員 is between “C” and “F”) OR 販売員 equals “LEVERLING”) AND 販売員 is less than “Z”)
【００２４】
別の実施形態において、データ分析プログラム１０４は、図８Ａおよび図８Ｂに関して以下により詳細に説明するように、論理演算子の評価の順序を修正するためにフィルタ条件３０４をグループ化する能力を、ユーザ１０６に与えることができる。
【００２５】
さらに、データフィルタウィンドウ３０２により、ユーザ１０６はウィンドウに列挙されたフィルタ条件３０４の順序を変更することができる。ユーザは、図５Ａおよび図５Ｂに関して以下に述べるように、ある特定のフィルタ条件３０４を列挙された順序内で上下させるために、図３にさらに示した上昇および下降のボタン制御といった、条件並び替えＵＩ制御３１２、３１４を利用することができる。フィルタ条件３０４を、データフィルタウィンドウ３０２内で追加、順序付け、および論理演算子によって結合すると、ユーザ１０６は、ＯＫボタン制御３１６を選択して、データフィルタをサマリーテーブル２０４に表示される集約データに適用することができる。
【００２６】
図４は、追加的な一実施形態に従って、販売員のフィールドに対する複数条件でのデータフィルタを指定してサマリーテーブル２０４に表示される行２０６を制限する、別のＵＩ４００を示す。ＵＩ４００はデータフィルタウィンドウ３０２を備え、それによりユーザ１０６は各販売員の行ラベル２１０に対応する総計値２１６Ａ、２１６Ｂに関連する複数のフィルタ条件３０４を有するデータフィルタを指定することができる。図４に示すように、データフィルタウィンドウ３０２は、販売員の行ラベル２１０に対応する総売上高値２１６Ａが１２５，０００未満かまたは１５０，０００を超える行に、および販売員の行ラベル２１０に対応する総利益値２１６Ｂが０を超える行に、サマリーテーブル２０４に表示される行２０６を制限するデータフィルタを指定する。
【００２７】
複数条件のデータフィルタを、サマリーテーブル２０４の行２０６または列２０８に対して指定できるようにする、データフィルタウィンドウ３０２の他の実施形態を、当然のことながら想定することができる。それにはサマリーテーブルに示される総計値２１６Ａ、２１６Ｂに関する複数の「上位１０」のフィルタ条件３０４を含む「上位１０」データフィルタ、または、サマリーテーブルの列に反映された注文日のフィールドに対する複数の日付範囲のフィルタ条件３０４を含む日付範囲データフィルタが含まれるが、それらに限定されるわけではない。さらなる一実施形態において、図５Ａおよび図５Ｂに示すデータフィルタウィンドウのような、ユーザ１０６が同一のエンティティに対して異なる種類の複数のフィルタ条件３０４を指定できるようにする、カスタムのデータフィルタウィンドウ３０２を、サマリーテーブルのＵＩモジュール１１２によって提供することができる。
【００２８】
図５Ａは、ユーザ１０６が複数条件でのデータフィルタを指定できるようにする、サマリーテーブルのＵＩモジュール１１２が提示するＵＩ５００のさらなる例を示す。ＵＩ５００は、サマリーテーブル２０４に表示される行２０６を各販売員の行ラベル２１０に対応する総利益値２１６Ｂが０を超える行に制限する第１のフィルタ条件３０４Ａと、表示される行を対応する総売上高値２１６Ａの上位２つを有する販売員の行ラベル２１０に制限する第２のフィルタ条件３０４Ｂとを指定する、データフィルタウィンドウ３０２を備える。言い換えると、複数条件のデータフィルタのフィルタ式を、論理的に以下のように表すことができる。
（総利益 is greater than 0 AND Top 2 items by 総売上高）
【００２９】
図３に関して上述したように、データフィルタウィンドウ３０２によって、ユーザ１０６は、ウィンドウ内に列挙されたフィルタ条件３０４の順序を変更することができる。これにより、データフィルタが適用される時にサマリーテーブル２０４に表示される結果の行２０６を変更することができる。例えば、ユーザ１０６は、コンピュータ１０２に接続された入力装置１１６を利用することによって、選択ボックス５０２に示すように、図５Ａに示すデータフィルタウィンドウ３０２内の第２のフィルタ条件３０４Ｂを選択することができる。次にユーザが「上昇」条件並べ替えＵＩ制御３１２を利用して、第２のフィルタ条件を列挙された順序内で上昇させる場合、フィルタ条件３０４を、データフィルタウィンドウ３０２内で、図５Ｂに示すように列挙することができる。図５Ｂに示したデータフィルタウィンドウ３０２内に列挙されたフィルタ条件３０４の順序から、対応するフィルタ式を、論理的に以下のように表すことができる。
(Top 2 items by 総売上高 AND 総利益 is greater than 0)
【００３０】
一実施形態において、この上記式、および図５Ａに関して上述した複数条件のデータフィルタに対応するフィルタ式は、結果として、同一のサマリーテーブルの行２０６をサマリーテーブル２０４に表示することになる。別の実施形態においては、２つの複数条件のデータフィルタに対応するフィルタ式が論理的に同等であっても、意図する結果は異なる場合があり、図９に関して以下により詳細に述べるとおり、サマリーテーブル２０４に表示されるサマリーテーブルの行２０６がその意図する結果を満たすように、サマリーテーブルのデータフィルタモジュール１１８がある特定の順序でこれらのフィルタ式を適用することができる。
【００３１】
実施形態によると、複数の複数条件のデータフィルタをユーザ１０６が指定して、サマリーテーブル２０４に適用することができる。同一のエンティティに対して異なる種類のデータフィルタを、または異なるエンティティに対して異なるデータフィルタを指定するためにデータフィルタウィンドウ３０２を別個に呼び出して、これらの複数条件のデータフィルタを適用することができる。例えば、図４に関して上述したように、ユーザ１０６は、データフィルタウィンドウ３０２を利用して、サマリーテーブル２０４の各販売員の行ラベル２１０に対応する総売上高値２１６Ａおよび総利益値２１６Ｂに関する複数のフィルタ条件３０４を有するデータフィルタを指定することができる。この結果、以下のフィルタ式を、サマリーテーブル２０４に適用することになる。
((総売上高 is less than 125,000 OR 総売上高 is greater than 150,000) AND 総利益 is greater than0)
【００３２】
加えて、ユーザ１０６は、データフィルタウィンドウ３０２を利用してさらに、表示される行を対応する総売上高値２１６Ａの上位２つを有する販売員の行ラベル２１０に制限するデータフィルタを指定することができる。この結果、以下のフィルタ式を、サマリーテーブル２０４にさらに適用することになる。
(Top 2 items by 総売上高)
【００３３】
当然のことながら、上述の２つの複数条件データフィルタの集約データへの適用順序は、サマリーテーブル２０４に表示される結果としてのサマリーテーブルの行２０６に影響を及ぼす可能性がある。従って、データ分析プログラム１０４は、一実施形態による、ユーザ１０６がサマリーテーブル２０４に現在適用されている種々の複数条件のデータフィルタを見ること、ならびにそれらの適用順序を変更することの両方をできるようにする、図６Ａおよび図６Ｂに示されるＵＩ６００のようなさらなるＵＩを提供することができる。図６Ａに示すように、ＵＩ６００には、上述のように、集約データに適用されている２つの複数条件のデータフィルタに対応するデータフィルタ式６０４Ａ、６０４Ｂのリストを含む、データフィルタ順序付けウィンドウ６０２を含む。
【００３４】
データフィルタ式６０４Ａ、６０４Ｂは、総売上高値２１６Ａおよび総利益値２１６Ｂに関する複数条件のデータフィルタを第１に適用し、上位２つの販売員の行に関するデータフィルタを第２に適用するという、集約データへの現在の適用順序で列挙されている。列挙されたデータフィルタを、列挙された順序で、図２に関して上述したサマリーテーブル２０４に適用する場合、表示される結果のサマリーテーブルの行２０６は図７Ａに示すようになる。
【００３５】
図７Ａに示すように、サマリーテーブル２０４に表示される行２０６は、対応する総売上高値２１６Ａが１２５，０００未満または１５０，０００を超え、かつ総利益値２１６Ｂが０を超える販売員の行ラベルのセットからの、総売上高で上位２つの販売員の行ラベル２１０で構成されている。当然のことながら、従来のサマリーテーブルの実装では、データフィルタを、既存の階層内の異なる親（parent）行ラベルに対応する行の各サブグループに適用することができる。例えば、図６Ａに示すように、データフィルタを、「英国」の国のフィールドの値にロールアップする販売員の行ラベル２１０、および「米国」の国のフィールドの値にロールアップする販売員の行ラベルに、別個に適用する。
【００３６】
図６Ａにさらに示すように、データフィルタ順序付けウィンドウ６０２にはまた、「上昇」フィルタ並び替えＵＩ制御６０６および「下降」フィルタ並び替えＵＩ制御６０８を含む。これらのＵＩ制御６０６、６０８をユーザ１０６が利用して、複数条件のデータフィルタの集約データへの適用順序を変更することができる。例えば、ユーザ１０６は、コンピュータ１０２に接続された入力装置１１６を利用して、選択ボックス５０２によって示すように、図６Ａに示すデータフィルタ順序付けウィンドウ６０２内の第１のデータフィルタ式６０４Ａを選択することができる。次いで、ユーザが「下降」フィルタ並び替えＵＩ制御６０８を利用して第１のデータフィルタ式６０４Ａを列挙された順序内で下降させる場合、データフィルタ式６０４Ａ、６０４Ｂを、データフィルタ順序付けウィンドウ６０２に、図６Ｂに示すように列挙することができる。
【００３７】
データフィルタ式６０４Ａ、６０４Ｂを、図６Ｂに示す順序で、図２に関して上述したサマリーテーブル２０４に適用する場合、表示される結果のサマリーテーブルの行２０６は図７Ｂに示すようになる。図７Ｂに示すように、サマリーテーブル２０４に表示される行２０６は、総売上高で上位２つの販売員の行ラベル２１０で、総売上高値２１６Ａが１２５，０００未満または１５０，０００を超え、かつ総利益値２１６Ｂが０を超えるもので構成されている。図に示すように、図６Ｂに示す順序で複数条件のデータフィルタを適用すると、結果として、図６Ａに示すサマリーテーブル２０４の行２０６には含まれている「ＦＵＬＬＥＲ」の値を有する販売員の行ラベル２１０を除外することになる。当然のことながら、図７Ａおよび図７Ｂにおいて表示される２つの結果の行２０６の違いは、図６Ａおよび図６Ｂに関して上述した、データフィルタ順序付けウィンドウ６０２内のデータフィルタの順序付けの違いから生じ得る。
【００３８】
図８Ａおよび図８Ｂは、ユーザ１０６が複数条件のデータフィルタを指定できるようにする、サマリーテーブルのＵＩモジュール１１２によって提示するさらなる一実施形態のＵＩ８００を示している。上述のように、データ分析プログラム１０４は、論理演算子の評価の順序を修正するためにフィルタ条件３０４をグループ化する能力を、ユーザ１０６に与えることができる。図８Ａに示すデータフィルタウィンドウ３０２には、フィルタ条件３０４をグループ化およびグループ化解除するためにユーザ１０６がそれぞれ利用できる、条件グループ化ＵＩ制御８０２、および条件グループ化解除ＵＩ制御８０４を含む。
【００３９】
例えば、ユーザ１０６は、コンピュータ１０２に接続された入力装置１１６を利用して、選択ボックス５０２によって示すように、図８Ａに示すデータフィルタウィンドウ３０２内の第２のフィルタ条件３０４Ｂおよび第３のフィルタ条件３０４Ｃを選択することができる。次いで、ユーザが、条件グループ化ＵＩ制御８０２を利用して、選択したフィルタ条件３０４Ｂおよび３０４Ｃをグループ化する場合、データフィルタウィンドウ３０２で指定されたデータフィルタに対応する結果のフィルタ式は、以下のようになる。
((販売員 contains “A” AND (販売員 is between “C” and “F” OR 販売員 equals “LEVERLING”)) AND 販売員 is less than “Z”)
【００４０】
当然のことながら、このフィルタ式を、図３に関して上述したデータフィルタウィンドウ３０２で指定された同一の４つのフィルタ条件３０４Ａ〜３０４Ｄに対応するフィルタ式とは異なるように、サマリーテーブルのデータフィルタモジュール１１８によって、評価することができる。
【００４１】
一実施形態によると、図８Ａにさらに示すように、サマリーテーブルのＵＩモジュール１１２は、フィルタ条件３０４の表示と併せてウィンドウにグラフィカルなグループ化表示８０６を加えることによって、データフィルタウィンドウ３０２内に、現在グループ化されているフィルタ条件３０４Ｂおよび３０４Ｃを示す。限定するものではないが、現在指定されているグループに対応するグループ化されたフィルタ条件３０４を囲む丸括弧の表示を含む、他の形態のグラフィカルなグループ化表示８０６を、当然のことながら、サマリーテーブルのＵＩモジュール１１２によって利用してもよい。
【００４２】
さらなる例として、ユーザ１０６は、図８Ｂに示す選択ボックス５０２によって示すように、データフィルタウィンドウ３０２内の第２のフィルタ条件３０４Ｂ、第３のフィルタ条件３０４Ｃ、および第４のフィルタ条件３０４Ｄを、さらに選択することができる。次いで、ユーザ１０６が、条件グループ化ＵＩ制御８０２を利用して、選択したフィルタ条件３０４Ｂ、３０４Ｃ、および３０４Ｄをグループ化する場合、データフィルタウィンドウ３０２は２つのネストしたグループを含むこととなり、結果のフィルタ式は以下のようになる。
(販売員 contains “A” AND ((販売員 is between “C” and “F” OR 販売員 equals “LEVERLING”) AND 販売員 is less than “Z”))
【００４３】
さらに、サマリーテーブルのＵＩモジュール１１２はグラフィカルなグループ化表示８０６を更新して、図８Ｂにさらに示すように、データフィルタウィンドウ３０２内に、ユーザが作成したフィルタ条件３０４Ｂおよび３０４Ｃ、ならびにフィルタ条件３０４Ｂ、３０４Ｃ、および３０４Ｄの２つのネストしたグループを示すことができる。さらに当然のことながら、図８Ａおよび図８Ｂに示したものおよび本明細書に説明したものを超えて、フィルタ条件３０４間で無限数のネストしたグループを、データ分析プログラム１０４によって支援することができる。
【００４４】
ここで図９を参照し、本明細書に提示する実施形態に関してさらなる詳細を与える。当然のことながら、図９に関して説明する論理動作を、（１）コンピューティングシステム上で実行する一連のコンピュータ実装の行動またはプログラムモジュールとして、および／または（２）コンピューティングシステム内の相互接続された機械の論理回路または回路モジュールとして、実装することができる。実装は、コンピューティングシステムの性能および他の要件に依存する選択の問題である。従って、本明細書に説明する論理動作を、動作、構造装置、行動、またはモジュールというように様々に称する。これらの動作、構造装置、行動、およびモジュールを、ソフトウェア、ファームウェア、専用のデジタルロジック、およびそれらの任意の組み合わせにおいて実装することができる。当然のことながら、図に示し本明細書に説明したよりも多くのまたは少ない動作を実施してもよい。動作はまた、説明したものと異なる順序で実施してもよい。
【００４５】
図９は、表示装置１１４上にサマリーテーブル２０４を表示するために、１つまたは複数の複数条件のデータフィルタに基づき集約データをフィルタリングするためのルーチン９００を示す。ルーチン９００は動作９０２で開始し、そこでは、サマリーテーブルのデータフィルタモジュール１１８が、フィルタリングしてサマリーテーブル２０４に表示する集約データを受信する。サマリーテーブルのデータフィルタモジュール１１８は、集約データをサマリーテーブルのデータアクセスモジュール１１０から受信することができる。図１に関して上述したように、サマリーテーブルのデータアクセスモジュール１１０は、データソース１０８からソースデータを取り出し、集約する関数を介してそのソースデータを集約データに変換する。
【００４６】
ルーチン９００は動作９０２から動作９０４に進み、そこでは、サマリーテーブルのデータフィルタモジュール１１８は、１つまたは複数の複数条件のデータフィルタの指定を受信する。一実施形態によると、複数条件のデータフィルタは、図３、４、５Ａ、５Ｂ、８Ａ、および８Bに関して詳細に上述したように、サマリーテーブルのＵＩモジュールが提供するデータフィルタウィンドウ３０２をユーザ１０６がインタラクティブに使用することによって、指定される。複数条件のデータフィルタの指定には、１つまたは複数のフィルタ条件３０４を含むことができ、それらは特定の順序で指定され、各フィルタ条件３０４が「AND」および「OR」などの指定された論理演算子によって結合されている。さらに、一実施形態によると、フィルタ条件を１つまたは複数のネストしたグループにグループ化することができる。
【００４７】
ルーチン９００は動作９０４から動作９０６に進み、そこでは、サマリーテーブルのデータフィルタモジュール１１８は、動作９０４で受信したデータフィルタの指定からフィルタ式を解析する。複数条件のデータフィルタから解析されるフィルタ式は、データフィルタで指定された個々のフィルタ条件３０４、フィルタ条件を結合する論理演算子、フィルタ条件が指定された順序、およびフィルタ条件間で指定された任意のグループによって決まる。例えば、上述の図３に示すデータフィルタウィンドウ３０２で指定された複数条件のデータフィルタをサマリーテーブルのデータフィルタモジュール１１８で解析すると、結果として以下のフィルタ式となる。
(((販売員 contains “A” AND 販売員 is between “C” and “F”) OR 販売員 equals “LEVERLING”) AND 販売員 is less than “Z”)
【００４８】
この式は、フィルタ条件３０４の順序および各フィルタ条件間で指定された論理演算子から生じる。ここで、指定されたグループがない場合、デフォルトのグループを適用する。
【００４９】
同様に、上述の図８Ｂに示すデータフィルタウィンドウ３０２で指定された複数条件のデータフィルタを解析すると、以下のフィルタ式となる。
(販売員 contains “A” AND ((販売員 is between “C” and “F” OR 販売員 equals “LEVERLING”) AND 販売員 is less than “Z”))
【００５０】
上で使用した同一の４つのフィルタ条件３０４Ａ、３０４Ｂ、３０４Ｃ、および３０４Ｄによるフィルタ式のこの変形は、ユーザ１０６によってデータフィルタウィンドウ３０２でなされた、フィルタ条件３０４Ｂおよび３０４Ｃ、ならびにフィルタ条件３０４Ｂ、３０４Ｃ、および３０４Ｄという２つのネストしたグループの指定から生じる。
【００５１】
一実施形態によると、フィルタ式を集約データに連続して適用する必要があるために、ある複数条件のデータフィルタの解析の結果、複数の別個のフィルタ式となることもある。例えば、上述の図５Ａに示すデータフィルタウィンドウ３０２で指定された複数条件のデータフィルタの結果、以下のフィルタ式となることができる。
(利益 is greater than 0)
and
(Top 2 items by 売上高)
【００５２】
この場合、フィルタ式を連続して適用すべきである。すなわち、総利益値２１６Ｂが０を超える販売員の行のセットをまず確立し、次いで総売上高値２１６Ａで上位２つの販売員の行をそのセットから選択する。
【００５３】
ルーチン９００は動作９０６から動作９０８に進み、そこでは、サマリーテーブルのデータフィルタモジュール１１８は、上記動作９０６で複数条件のデータフィルタから解析したフィルタ式を適用する順序を決定する。複数条件のデータフィルタの適用順序は、ユーザ１０６がデータフィルタを作成した順序に基づくか、または、ユーザが、図６Ａおよび図６Ｂに関して上述したＵＩ６００を使用して、順序を指定してもよい。当然のことながら、フィルタ式を適用する順序はさらに、限定するものではないが、データフィルタを適用するデータ項目間の関係、列データフィルタに対する行データフィルタのデフォルトの優先権、または他の何らかの要因を含む、多数の要因によって決めることもできる。さらに、動作９０６に関して上述したように、サマリーテーブルのデータフィルタモジュール１１８は、ユーザ１０６がフィルタ条件３０４を指定した順序に基づき、単一の複数条件のデータフィルタから生じた複数のフィルタ式を連続して順序付けることができる。
【００５４】
次に、ルーチン９００は動作９０８から動作９１０に進み、そこでは、サマリーテーブルのデータフィルタモジュール１１８は、複数条件のデータフィルタから解析したフィルタ式を、上記動作９０８で確立した順序で、集約データに適用する。複数のフィルタ式を、ある特定の順序で適用する場合、サマリーテーブルのデータフィルタモジュール１１８は、各フィルタ式の適用の間に、サマリーテーブル２０４に表示されるなんらかの階層の行および列の総計ならびに小計といった総集計値を、再計算する必要があるかもしれない。言い換えると、後続のフィルタ式への入力は、先のフィルタ式を適用した後に再計算された何らかの総集計値を有する、先のフィルタ式を適用した結果である。これは、本明細書にその全体を参照して明確に組み込まれる、２００５年６月２１日出願、「Dynamically filtering Aggregate Reports Based on Values Resulting from One or More Previously Applied Filters」という名称の「米国特許公開第２００６-０２８７９９８号Ａ１」に説明されているものと同様の方法を適用することにより、達成できる。
【００５５】
ルーチン９００は動作９１０から動作９１２に進み、そこでは、サマリーテーブルのデータフィルタモジュール１１８は、表示装置１１４上にサマリーテーブル２０４を表示するために、フィルタリングした集約データを、図１に関して上述したサマリーテーブルのＵＩモジュールといった表示モジュールに渡す。動作９１２の後、ルーチン９００は終了する。
【００５６】
図１０は、上記で提示した方法でインタラクティブなサマリーテーブルの複数条件のフィルタリングを提供するために、本明細書に説明したソフトウェアコンポーネントを実行することが可能なコンピュータ１０００のコンピュータアーキテクチャの例を示している。図１０に示すコンピュータアーキテクチャは、従来のコンピューティング装置、ＰＤＡ、デジタル携帯電話、通信装置、デスクトップコンピュータ、ラップトップ、またはサーバコンピュータを例示するものであり、コンピュータアーキテクチャを利用して、コンピュータ１０２または他のコンピューティングプラットフォーム上で実行するとして説明した、本明細書で提示したソフトウェアコンポーネントの任意の態様を実行することができる。
【００５７】
図１０に示すコンピュータアーキテクチャには、ＣＰＵ（中央処理装置）１００２、ＲＡＭ（random access memory）１０１４およびＲＯＭ（read-only memory）１０１６を含むシステムメモリ１００８、およびメモリをＣＰＵ１００２に結合するシステムバス１００４を含む。起動中などに、コンピュータ１０００内部の要素間で情報を転送する支援をする基本ルーチンを含む基本の入／出力システムを、ＲＯＭ１０１６内に格納する。コンピュータ１０００にはまた、オペレーティングシステム１０１８、アプリケーションプログラム、および本明細書にさらに詳細に説明している他のプログラムモジュールを格納するための大容量記憶装置１０１０を含む。
【００５８】
大容量記憶装置１０１０を、バス１００４に接続した大容量記憶コントローラ（図示せず）を介して、ＣＰＵ１００２に接続する。大容量記憶装置１０１０及びそれに関連するコンピュータ可読媒体は、コンピュータ１０００に不揮発性記憶装置を提供する。本明細書に含まれるコンピュータ可読媒体の記述は、ハードディスクまたはＣＤ−ＲＯＭドライブといった、大容量記憶装置に言及しているが、当業者には当然のことながら、コンピュータ可読媒体は、コンピュータ１０００がアクセス可能な任意の利用可能なコンピュータ記憶媒体であることができる。
【００５９】
例として、コンピュータ可読媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータといった情報を記憶する方法または技術で実装した、揮発性および不揮発性、取外し可能および取外し不可能な媒体を含むことができるが、これらに限らない。例えば、コンピュータ可読媒体には、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他の半導体メモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disk）、ＨＤ−ＤＶＤ、ＢＬＵ−ＲＡＹ（登録商標）、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を格納するために使用可能、かつコンピュータ１０００によってアクセス可能な他の任意の媒体を含むが、これらに限らない。
【００６０】
種々の実施形態に従って、コンピュータ１０００は、ネットワーク１０２０を介する遠隔のコンピューティング装置およびコンピュータシステムへの論理接続を使用して、ネットワーク環境で動作することができる。コンピュータ１０００は、バス１００４に接続したネットワークインタフェースユニット１００６を介して、ネットワーク１０２０に接続することができる。当然のことながら、ネットワークインタフェースユニット１００６を利用して、他の種類のネットワークおよび遠隔コンピュータシステムに接続してもよい。コンピュータ１０００にはまた、キーボード、マウス、タッチパッド、タッチスクリーン、電子スタイラス、または他の種類の入力装置を含む複数の入力装置１１６からの入力を受信し処理するための、入／出力コントローラ１０１２を含むことができる。同様に、入／出力コントローラ１０１２は、コンピュータモニタ、フラットパネルディスプレイ、デジタルプロジェクタ、プリンタ、プロッタ、または他の種類の出力装置といった、表示装置１１４への出力を提供することができる。
【００６１】
簡潔に上述したように、コンピュータの動作を制御するのに適したオペレーティングシステム１０１８を含む、複数のプログラムモジュールおよびデータファイルを、コンピュータ１０００の大容量記憶装置１０１０およびＲＡＭ１０１４に格納することができる。大容量記憶装置１０１０およびＲＡＭ１０１４はまた、１つまたは複数のプログラムモジュールを格納することができる。特に、大容量記憶装置１０１０およびＲＡＭ１０１４は、図１に関して詳細に上述した、データ分析プログラム１０４を格納することができる。大容量記憶装置１０１０およびＲＡＭ１０１４はまた、他の種類のプログラムモジュールまたはデータを格納することもできる。一実施形態において、ＣＰＵ１００２により実行される際、図９に関してより詳細に上述したように、サマリーテーブルに表示するために、１つまたは複数の複数条件のデータフィルタに基づき集約データをフィルタリングするためのルーチン９００を実施する命令を含むコンピュータ可読媒体において、プログラムモジュールを具現化する。
【００６２】
当然のことながら、前述に基づき、インタラクティブなサマリーテーブルの複数条件のフィルタリングを提供する技術を、本明細書に提供するものである。本明細書に提示した主題を、コンピュータの構造的な特徴、方法論的行動、およびコンピュータ可読媒体に固有の言語で説明してきたが、当然のことながら、添付の特許請求の範囲に定義する本発明は、必ずしも、本明細書に説明した特定の特徴、行動、または媒体に限るものではない。むしろ、特定の特徴、行動、および媒体は、特許請求の範囲を実装する形態の例として開示するものである。
【００６３】
上述の主題は、例示としてのみ与えるものであって、限定と解釈すべきではない。例示および説明した実施形態および適用の例に従うことなく、また以下の特許請求の範囲に説明する本発明の真の精神および範囲から逸脱することなく、本明細書に説明した主題に種々の修正および変更を加えることができる。
【図１】
2015038749.tif 000003
【図２】
2015038749.tif 000004
【図３】
2015038749.tif 000005
【図４】
2015038749.tif 000006
【図５Ａ】
2015038749.tif 000007
【図５Ｂ】
2015038749.tif 000008
【図６Ａ】
2015038749.tif 000009
【図６Ｂ】
2015038749.tif 000010
【図７Ａ】
2015038749.tif 000011
【図７Ｂ】
2015038749.tif 000012
【図８Ａ】
2015038749.tif 000013
【図８Ｂ】
2015038749.tif 000014
【図９】
2015038749.tif 000015
【図１０】
2015038749.tif 000016