(57)【特許請求の範囲】
【請求項１】
複数の隣接したヘッダー領域を有するサマリーテーブルを表示するための、コンピュータに実装された方法であって、
第１の列のヘッダー領域に関連付けられた１またはそれ以上のデータフィールドの選択を受信することと、
第２の列のヘッダー領域に関連付けられた１またはそれ以上のデータフィールドの選択を受信することであって、前記第２の列のヘッダー領域に関連付けられた前記１又はそれ以上のデータフィールドの選択は前記第１の列のヘッダー領域に関連付けられた前記１又はそれ以上のデータフィールドの選択と異なる少なくとも１つのデータフィールドを有することと、
データソースから、前記第１の列ヘッダー領域に関連付けられた前記１またはそれ以上のデータフィールド及び前記第２の列ヘッダー領域に関連付けられた前記１またはそれ以上のデータフィールドに対する値を含むデータを読み取ることと、
前記サマリーテーブルをレンダリングするために、前記データソースからサマリーのレベルデータに前記データを変換することと、
前記サマリーテーブルにおける前記第１の列のヘッダー領域および前記第２の列のヘッダー領域をディスプレイデバイスにレンダリングすることであって、前記第１の列のヘッダー領域および前記第２の列のヘッダー領域は、前記関連付けられた１またはそれ以上のデータフィールドの選択からの値によりラベル付けされた異なる列のセットを含み、前記第１の列のヘッダー領域及び前記第２の列のヘッダー領域は前記サマリーテーブルにおいて互いに垂直に隣接して表示されることと
を含むことを特徴とする方法。
【請求項２】
統合ラベルが前記第１の列のヘッダー領域において表示されるように、前記第１の列のヘッダー領域に関連付けられたデータは、１の列にまとめられ得ることを特徴とする請求項１に記載のコンピュータに実装された方法。
【請求項３】
前記サマリーテーブルにおける前記第１の列のヘッダー領域に関して実施される動作は、前記第２の列のヘッダー領域の前記表示に影響しないことを特徴とする請求項１に記載のコンピュータに実装された方法。
【請求項４】
前記サマリーテーブルにおける行のヘッダー領域に関して実施される動作は前記第１および第２のヘッダー領域の前記表示に影響することと特徴とする請求項１に記載のコンピュータに実装された方法。
【請求項５】
前記サマリーテーブルの全体に実施される動作は、前記複数の隣接した前記第１および前記第２両方のヘッダー領域の前記表示に影響することを特徴とする請求項１に記載のコンピュータ実装の方法。
【請求項６】
前記サマリーテーブルは表計算プログラムにより前記表示装置にレンダリングされることを特徴とする請求項１に記載のコンピュータに実装された方法。
【請求項７】
前記データソースは前記表計算プログラムにおいて保持されたスプレッドシートを含むことを特徴とする請求項６に記載のコンピュータに実装された方法。
【請求項８】
格納されたコンピュータ実行可能な命令を有するコンピュータ読み取り可能な記憶媒体であって、コンピュータにより実行されるとき、
サマリーテーブルの第１の行のヘッダー領域に関連付けられた第１のデータフィールドの選択を受信することと、
前記サマリーテーブルの第２の行のヘッダー領域に関連付けられた第２のデータフィールドの選択を受信することであって、前記第２のデータフィールドの選択は前記第１のデータフィールドの選択と異なる少なくとも１つのデータフィールドを有することと、
データソースから、前記選択されたデータフィールドについての値を含むデータを読み取ることと、
前記サマリーテーブルをレンダリングするために、前記データソースからサマリーのレベルデータに前記データを変換することと、
前記サマリーテーブルにおける前記第１の行のヘッダー領域および前記第２の行のヘッダー領域をディスプレイデバイスにレンダリングすることであって、前記第１の行のヘッダー領域は前記第１のデータフィールドの選択からの値によりラベル付けされた異なる行のセットを含み、前記第２の行のヘッダー領域は前記第２のデータフィールドの選択からの値によりラベル付けされた異なる行のセットを含み、前記第１のヘッダー領域および前記第２のヘッダー領域は前記サマリーテーブルにおいて互いに水平に隣接してレンダリングされることと
をコンピュータにさせることを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項９】
前記サマリーテーブルにおける前記第１の行のヘッダー領域に関して実施される動作は、前記第２の行のヘッダー領域の前記表示に影響しないことを特徴とする請求項８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１０】
前記サマリーテーブルの行のヘッダー領域に関して実施される動作は、前記第１および前記第２両方の行のヘッダー領域の前記表示に影響することを特徴とする請求項８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１１】
前記サマリーテーブルの全体に実施される動作は、前記第１および前記第２両方の行のヘッダー領域の前記表示に影響することを特徴とする請求項８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１２】
複数の行のヘッダー領域又は列のヘッダー領域を有するサマリーテーブルを表示するシステムであって、前記システムは、
コンピュータと、
前記コンピュータに動作可能なように接続されるディスプレイデバイスと、
前記コンピュータに動作可能なように接続されるデータソースと、
前記コンピュータ上で実行するデータ分析プログラムモジュールであって、前記データ分析プログラムモジュールが、
第１の前記隣接する行のヘッダー領域または列のヘッダー領域に関連付けられたデータフィールドの第１の選択を受信し、
第２の前記隣接する行のヘッダー領域または列のヘッダー領域に関連付けられたデータフィールドの第２の選択を受信し、前記第２のデータフィールドの選択は前記第１のデータフィールドの選択とは異なる少なくとも１のデータフィールドを有し、
前記データフィールドについての値を含む前記データソースからデータを読み取り、
前記サマリーテーブルをレンダリングするために、前記データソースからサマリーのレベルデータに前記データを変換し、
前記サマリーテーブルにおける前記隣接する行のヘッダー領域又は列のヘッダー領域のそれぞれをディスプレイデバイスにレンダリングし、前記第１の隣接する行のヘッダー領域または列のヘッダー領域は前記データフィールドの第１の選択からの値によりラベル付けされた列または行の異なるセットを含み、前記第１の列の前記隣接するヘッダー領域または列のヘッダー領域は前記サマリーテーブルにおいて互いに隣接して表示され、前記第１の前記隣接する列のヘッダー領域または行のヘッダー領域に関して実施される動作は、前記サマリーテーブルにおける前記第２の前記隣接する列のヘッダー領域または行のヘッダー領域の前記表示に影響しない
ように動作可能である、データ分析プログラムモジュールと
を備えたことを特徴とするシステム。
【請求項１３】
前記データ分析プログラムモジュールは、前記隣接する行のヘッダー領域のそれぞれにおいて統合した行ラベルを表示するようさらに動作可能であり、統合した列のヘッダー領域は前記隣接する列のヘッダー領域のそれぞれにおいて表示されることを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記データ分析プログラムモジュールは表計算プログラムを含み、前記データソースは前記表計算プログラムにおいて保持されたスプレッドシートを含むことを特徴とする請求項１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サマリーテーブルにおける複数の行及び列のヘッダー領域の表示に関する。
【背景技術】
【０００２】
サマリーテーブルはデータまとめツールであり、詳細のレベルを変える際に「ロールアップ又はまとめられることになる詳細なトランザクションのソースデータを可能にする。ピボットテーブルとしても知られるサマリーテーブルの機能性を、表計算プログラム及びデータ報告ツール等のデータ可視化及び分析プログラムにおいて見つけることができる。データ分析プログラムは、ユーザーがグリッドとしてサマリーテーブルを描くことを可能にし、グリッドの行及び列のラベルに対してソースデータからデータフィールド並びにグリッドにおいてまとめられたデータ値を指定し得る。データ分析プログラムはその後、ソースデータから抽出された行及び列のラベルに基づいてグリッドにおいてデータ値をグループ化、ソート、カウント及び／又は合計し得る。
【０００３】
データ分析プログラムは、ユーザーがサマリーテーブルの行及び／又は列のラベルについて複数のデータフィールドを指定することを可能にし得る。この場合に、データ分析プログラムは従来、指定されたデータフィールドの順に基づいて行又は列のラベルにより階層的にまとめられたデータ値を表示する。データ分析プログラムは、サマリーテーブルと双方向で操作することもユーザーに可能にし、ユーザーの要求により、より多くの又はより少なくデータ値を表示するために階層的に行のラベル又は列のラベルを、展開及び折りたたみ得る。
【０００４】
サマリーテーブルの従来の実装は、行のラベルの単一のセット又は「行のヘッダー領域」及び列のラベルの単一のセット又は「列のヘッダー領域」に限定される。結果として、例えば列のラベルの共通のセットに渡ってまとめられるソースデータから異なる又は同じデータフィールドに基づく２つの異なる行のヘッダー領域である、データの２つのはっきりと見えるビューについてまとめられたデータを有することを望むユーザーは、２つの分離したサマリーテーブルを構築しなければならない可能性がある。これは、指定される重複パラメーターの他に共通の列のラベルの重複表示もまた要求する扱いにくい処理を作成する。これは互いに操作されることになるデータのはっきり見えるビューの能力も限定し、例えば列のラベルをグループ化、展開若しくは折りたたむことにより、又はテーブルレベルのフィルター又は他のテーブルレベルの動作を提供することによる。
【発明の概要】
【０００５】
これらの考慮及び他の考慮に関して本明細書でなされた開示が示される。
サマリーテーブルにおいて複数の行及び列のヘッダー領域を表示するために技術が本明細書で説明される。本明細書で説明される技術を利用して、データ分析プログラムは、複数の行のヘッダー領域、複数の列のヘッダー領域又はその双方を単一のサマリーテーブルにおいて表示し得る。これは、データ分析プログラムのユーザーが、展開又は折りたたまれ、ソートされ、又は独立してフィルターされ得る、まとめられたデータの２またはそれより多くのはっきりと見えるビューを生成することを可能にする一方で、全体のサマリーテーブルのコンテキストにおいて一緒にビューを操作することを可能にする。
【０００６】
一実施形態によれば、データ分析プログラムは、サマリーテーブルにおける表示のために複数の行のヘッダー領域及び／又は複数の列のヘッダー領域を定義するデータフィールドの選択を受信する。データはデータフィールドに対する値を含むデータソースから読み出され、サマリーテーブルを構築するためにサマリーレベルデータに変換される。表示は、互いに垂直に隣接して表示される行のヘッダー領域及び互いに水平に隣接して表示される列のヘッダー領域で定義される、複数の行のヘッダー領域及び列のヘッダー領域のそれぞれについて、サマリーテーブルにおいてレンダリングされる。
【０００７】
上述の主題は、コンピュータ制御の装置、コンピュータプロセス、コンピューティングシステム又はコンピュータ読み取り可能な媒体等の製造品として実装され得ることを理解されたい。これら及び様々な他の特徴が、以下の発明を実施するための形態を読むこと及び添付の図面の検討から明らかとなる。
【０００８】
この概要は、発明を実施するための形態において下でさらに説明される簡略化された形式で概念の選択を紹介するために提供される。この概要は、特許請求された主題の重要な特徴又は本質的な特徴を特定することを意図せず、この概要が特許請求の範囲の主題の範囲を限定するために使用されることも意図しない。さらに、特許請求された主題は、この開示の任意の一部において言及される任意又は全ての不利益を解決する実装に限定されない。
【図面の簡単な説明】
【０００９】
【図１】本明細書で示される実施形態により提供される実例となるオペレーティング環境及び多くのソフトウェアコンポーネントの態様を示すブロック図である。
【図２】本明細書で説明される実施形態による、サマリーテーブルを構築するのに使用される例示的なソースデータを示すデータのリストである。
【図３Ａ】本明細書で説明される実施形態による、複数の行のヘッダー領域を含むサマリーテーブルの表示の一例を示す画面図である。
【図３Ｂ】本明細書で説明される実施形態による、複数の行のヘッダー領域を含むサマリーテーブルの表示の一例を示す画面図である。
【図４】本明細書で説明される実施形態による、複数の列のヘッダー領域を含むサマリーテーブルの表示の別の例を示す画面図である。
【図５】本明細書で説明される実施形態による、サマリーテーブルにおける複数の行のヘッダー領域の表示の一方法を示すフロー図である。
【図６Ａ】本明細書で説明される実施形態による、サマリーテーブルにおける表示のために複数の行及び／又は列のヘッダー領域についてのデータフィールドを指定するための例示的なユーザーインターフェースを示す画面図である。
【図６Ｂ】本明細書で説明される実施形態による、サマリーテーブルにおける表示のために複数の行及び／又は列のヘッダー領域についてのデータフィールドを指定するための例示的なユーザーインターフェースを示す画面図である。
【図７】本明細書で示される実施形態の態様を実装することが可能なコンピューティングシステムのための、実例となるコンピュータハードウェア及びソフトウェアアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００１０】
以下の発明を実施するための形態は、サマリーテーブルにおける複数のデータの行及び列のヘッダー領域を表示するための技術に向けられる。本明細書で説明される主題がコンピュータシステム上でオペレーティングシステム及びアプリケーションプログラムの実行と併せて実行するプログラムモジュールの一般的な中身において示される一方で、他の実装がプログラムモジュールの他のタイプと組み合わせて実施され得ることを当業者は理解されたい。一般に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造及び特定のタスクを実施又は特定の抽象データタイプを実装する他のタイプの構造を含む。さらに、当業者は、本明細書で説明される主題が、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーに基づく又はプログラム可能な消費家電、ミニコンピュータ、メインフレームコンピュータ及びその他を含む他のコンピュータシステム構成で実施され得ることを理解されたい。
【００１１】
以下の発明を実施するための形態において、その一部を形成する添付の図面に参照が成され、例示のために特定の実施形態又は例を示す。添付の図面において、同様の番号は多くの図を通して同様の要素を表す。
【００１２】
図１は、本発明で提供される実施形態による、サマリーテーブルにおける複数のデータの行及び列のヘッダー領域を表示するための多くのソフトウェアコンポーネントを含む例示的なオペレーティング環境１００を示す。環境１００はコンピュータ１０２を含む。コンピュータ１０２は、ＰＣ（Personal Computer）、デスクトップワークステーション、ラップトップ、ノートブック、ＰＤＡ（Personal Digital Assistant）、アプリケーションサーバー、ウェブベースのアプリケーションプログラムをホストするウェブサーバー又はアプリケーションプログラムを実行できる任意の他のコンピューティングデバイスとすることができる。
【００１３】
コンピュータ１０２はデータ分析プログラム１０４を実行する。データ分析プログラム１０４はアプリケーションプログラムであり、コンピュータ１０２のユーザー１０６が、コンピュータによりアクセス可能なデータソース１０８において含まれるデータを、可視化及び操作することを可能にする。データ分析プログラム１０４は、本件出願人のＥＸＣＥＬ（登録商標）表計算ソフトウェア、又はニューヨーク州ArmonkのＩＢＭ社の販売するＩＢＭ（登録商標）ＬＯＴＵＳＲ（登録商標）１−２−３（登録商標）表計算ソフトウェア等の表計算プログラムであり得る。データ分析プログラム１０４は、ドイツのWaldorfnoのＳＡＰ社の販売するＳＡＰ（登録商標）ＢＵＳＩＮＥＳＳＯＢＪＥＣＴＳ（登録商標）ＣＲＹＳＴＡＬ  ＲＥＰＯＲＴＳ等のデータ報告アプリケーションとすることもできる。データソース１０８はコンピュータ１０２に付加されるか又はコンピュータ１０２によりアクセス可能なファイルシステムであり、表計算ファイル又は他のデータファイルを含み得る。データソース１０８は、詳細化された及び／又はまとめられたデータを含む、データベース又は多次元ＯＬＡＰ（online analytical processing）キューブでもあり、データ分析プログラム１０４によりデータソース１０８をクエリできる。
【００１４】
本明細書で説明される実施形態によれば、データ分析プログラム１０４はデータソース１０８からデータを取り出し、まとめ機能を通してサマリーテーブルにデータを変換するよう動作可能であり、コンピュータ１０２に接続されたディスプレイデバイス１１０においてユーザー１０６に表示される。ディスプレイデバイス１１０はコンピュータモニター、フラットパネルディスプレイ、デジタルプロジェクター、プリンター、プロッター又はコンピュータ１０２に付加される任意の他の出力デバイスであり得る。ディスプレイデバイス１１０は、ウェブブラウザーアプリケーションプログラム又はネットワーク上でコンピュータ１０２にアクセスするリモートのコンピューティングデバイス上で実行する他のアプリケーションプログラムでもあり得る。ユーザーは、ディスプレイデバイス１１０においてサマリーテーブルの表示を制御又は操作するための、キーボード、マウス、タッチスクリーン、スタイラス、トラックボール等の、コンピュータ１０２に接続された入力デバイス１１２又はリモートのコンピューティングデバイスを利用し得る。
【００１５】
図２はソースデータのリスト２００の一例を示し、データ分析プログラム１０４によりディスプレイデバイス１１０においてユーザー１０６に対し表示されるサマリーテーブルに変換され得る。ソースデータのリスト２００は、データ分析プログラム１０４によりロードされる表計算ファイルに含まれるか、ソースデータに対するデータ分析プログラムにより発行されるクエリの結果としてデータベースサーバーにより提供され得る。ソースデータのリストは、本明細書で説明されるのを越えて本分野で既知の任意の数のソースからデータ分析プログラム１０４により取得され得ることを理解されたい。ソースデータのリスト２００は、小売業者のための個々の売り上げ等の個々の取引を表すデータ行２０２Ａ−２０２Ｅ（データ行２０２０として選択的に本明細書で参照される。）を含み得るか、又はデータリストは、サマリーテーブルにおいて望まれる詳細の最も低いレベルにあらかじめまとめられたデータ行を含み得る。
【００１６】
ソースデータのリスト２００のデータ行２０２のそれぞれは、図２に示されるように、年フィールド２０４、四半期フィールド２０６、プロモーションフィールド２０８、カテゴリーフィールド２１０、タイプフィールド２１２及び売り上げフィールド２１４等の多くのデータフィールドを含み得る。データ分析プログラム１０４を使用して、ユーザー１０６は、行のラベル、列のラベル、サマリーテーブルに表示されることになるデータ値についてのソースデータのリスト２００から１またはそれより多くのこれらのデータフィールドを選択し得る。本明細書で説明される実施形態によれば、以下でより詳細に説明されるように、データ分析プログラム１０４は、ユーザーが行のラベルフィールド及び／又は列のラベルフィールドの複数の明白なセットを指定することをさらに可能にし、データ分析プログラムがサマリーテーブルにおける複数の行のヘッダー領域及び複数の列のヘッダー領域を表示することを可能にし得る。
【００１７】
図３Ａは、データ分析プログラム１０４によりディスプレイデバイス１１０へ表現されるウィンドウ３０２の例示的なスクリーン表示３００を示す。ウィンドウ３０２は、本明細書で説明される実施形態によれば、データ分析プログラム１０４により表示されるサマリーテーブル３０４を含む。サマリーテーブル３０４は、図２に関して上で説明されたソースデータのリスト２００から構築される行及び列のグリッドからなる。図３Ａに示されるように、サマリーテーブル３０４は、サマリーテーブルにおいて互いに垂直に隣接して表示される、２つの明白な行のセット又は「行のヘッダー領域」３０６Ａ及び３０６Ｂを含む。第１の行のヘッダー領域３０６Ａの行は、ソースデータのリスト２００において提供されるカテゴリーフィールド２１０及びタイプフィールド２１２から取得される値でラベル付けされる。第２の行のヘッダー領域３０６Ｂの行は、プロモーションフィールド２０８から取得される値でラベル付けされる。サマリーテーブル３０４は、ソースデータのリスト２００から年フィールド２０４及び四半期フィールド２０６の値でラベル付けされる、列の単一のセット又は「列のヘッダー領域」３０８も含む。図３Ａでさらに示されるように、ソースデータのリスト２００からの売り上げフィールド２１４のまとめからなるサマリーテーブル３０４の、データ値３１０等のデータ値は、指定されたカテゴリー及びタイプ、又は行のラベルにより示されるプロモーション及び列のラベルにより示される四半期内に渡る。
【００１８】
上述のように、複数のフィールドが単一の行又は列のヘッダー領域について行のラベル又は列のラベルとして選択されるとき、データ分析プログラム１０４は、ラベルについて指定されたフィールドの順に基づいて、階層として領域についての行及び列のラベルを表示し得る。例えば、図３Ａにおいて示されるように、第１の行のヘッダー領域３０６Ａは、カテゴリーフィールド２１０及びタイプフィールド２１２のそれぞれからの行のラベルを含む。従って、第１の行のヘッダー領域３０６Ａについての行のラベルは、それらのそれぞれのカテゴリーにタイプ「ロールアップ」で階層的に表示される。言い換えると、タイプ「ＢＩＣＹＣＬＥＳ（自転車）」、「ＣＯＭＰＵＴＥＲＳ（コンピュータ）」、「ＴＯＡＳＴＥＲＳ（トースター）」等についてのデータ値は、「ＮＯＮ−ＦＯＯＤ（食べ物でない）」のカテゴリーの下に統合される一方で、タイプ「ＭＥＡＴ（肉）」、「ＰＡＳＴＡ（パスタ）」、「ＳＰＩＣＥＳ（調味料）」等についてのデータ値は「食べ物（ＦＯＯＤ）」のカテゴリーの下に統合される。同様に、列のヘッダー領域３０８はそれらの個々の年にロールアップする四半期についてのラベルを含む。
【００１９】
一実施形態によれば、複数の行のヘッダー領域３０６Ａ、３０６Ｂがサマリーテーブル３０４において示されるとき、データ分析プログラム１０４は、各行のヘッダー領域について統合した行のラベル３１２Ａ、３１２Ｂをさらに提供する。例えば図３Ａに示されるサマリーテーブル３０４において、「ＡＬＬ  ＰＲＯＤＵＣＴＳ（全ての製品）」の統合した行のラベル３２２Ａは第１の行のヘッダー領域３０６Ａにおいて表示され、「ＡＬＬ  ＰＲＯＭＯＴＩＯＮＳ（全てのプロモーション）」の統合した行のラベル３１２Ｂは第２の行のヘッダー領域３０６Ｂにおいて表示される。各行のヘッダー領域３０６Ａ、３０６Ｂの全ての行のラベルは、それらのそれぞれの統合した行のラベル３１２Ａ、３１２Ｂにロールアップされる。以下でより詳細に説明されるように、統合した行のラベル３１２Ａ、３１２Ｂは、個々の行のヘッダー領域３０６Ａ、３０６Ｂの行が、他の行のヘッダー領域の表示に影響することなく、単一の行として折りたたまれて、まとめられることを可能にする。
【００２０】
データ分析プログラム１０４は、ユーザー１０６が、表示されたサマリーテーブル３０４を操作することを可能にするために、行のラベル又は列のラベルのレベルを階層的に展開及び折りたたむ能力をさらに提供する。例えば図３Ａに示されるように、データをラベルに表されるレベルにロールアップし得るとき、データ分析プログラム１０４は、それらの個々の階層において行及び列のラベルに隣接して折りたたみ／展開制御３１４を提供し得る。個々の折りたたみ／展開制御３１４がユーザーにより選択されるとき、階層において選択された行の下の行は折りたたまれ、データ値３１０等の関連付けられたデータ値と共に選択された行のみを可視として残し、対応するレベルでまとめられる。
【００２１】
例えば、図３Ｂにおいて示されるように、統合した行のラベル「全てのプロモーション」に隣接した折りたたみ／展開制御３１４がユーザー１０６により選択される場合、データ分析プログラム１０４は第２の行のヘッダー領域３０６Ｂを単一の行に折りたたみ得る。同様に、図３Ｂにおいてさらに示されるように、列のラベル「２００３」に隣接した折りたたみ／展開制御３１４がユーザー１０６により選択される場合、データ分析プログラム１０４は、対応する階層において２００３レベルの下で生じ、データ値３１０等のデータ値を含み、２００３レベルにまとめられる、「Ｑ１」、「Ｑ２」、「Ｑ３」及び「Ｑ４」を単一の列に折りたたみ得る。
【００２２】
別の実施形態によれば、一つの行のヘッダー領域３０６Ａ、３０６Ｂに関して実施される動作は、サマリーテーブル３０４における他の行のヘッダー領域の表示に影響することなく、実行され得る。例えば図３Ｂにおいて示されるように、第２の行のヘッダー領域３０６Ｂの行を単一の統合した行におりたたむことは、第１の行のヘッダー領域３０６Ａの行に、同様に単一の統合した行におりたたむことを引き起こさない。同様に、データ分析プログラム１０４が上位１０の値の選択等の行のレベルのフィルター、又は指定の列のヘッダー領域３０６Ａ、３０６Ｂへの行レベルのソートを適用する場合、フィルター又はソートは行のヘッダー領域にのみ影響することになる一方で、サマリーテーブル３０４における他の行のヘッダー領域の表示は変わらないままである。
【００２３】
対照的に、列のヘッダー領域３０８に関して実施される動作は、サマリーテーブル３０４においてすべての行のヘッダー領域３０６Ａ、３０６Ｂに影響し得る。例えば図３Ｂにおいてさらに示されるように、列のラベル「２００３」の下に列を折りたたむことは、第１の行のヘッダー領域３０６Ａ及び第２の行のヘッダー領域３０６Ｂの両方の表示に影響する。さらに、さらなる実施形態によれば、テーブルのレベルデータのフィルター、選択されたデータ値のフィールドの修正又はデータ値へのまとめ機能のアプリケーション等の、サマリーテーブル３０４に適用されるテーブルのレベルの動作は、サマリーテーブルのすべての行のヘッダー領域３０６Ａ、３０６Ｂに等しく影響することになる。
【００２４】
図４は、データ分析プログラム１０４によりディスプレイデバイス１１０にレンダリングされるウィンドウ４０２の別の例示的なスクリーン表示４００を示す。ウィンドウ４０２は、２つの明白な列のヘッダー領域３０８Ａ及び３０８Ｂを有するサマリーテーブル４０４を含み、サマリーテーブルにおいて互いに水平に隣接して表示される。第１の列のヘッダー領域３０８Ａの列は、ソースデータのリスト２００において提供される年フィールド２０４及び四半期フィールド２０６から取得される値でラベル付けされる。第２の列のヘッダー領域３０８Ｂの行は、プロモーションフィールド２０８から取得される値でラベル付けされる。サマリーテーブル４０４は、カテゴリーフィールド２１０からの値でラベル付けされた単一の行のヘッダー領域３０６及びソースデータのリスト２００からのタイプフィールド２１２をさらに含む。図３Ａに関して上述のように、サマリーテーブル４０４のデータ値３１０等のデータ値は、ソースデータのリスト２００からの売り上げフィールド２１４のまとめからなる。
【００２５】
図３Ａ及び図３Ｂに関してちょうど上述されるように、一実施形態によれば、複数の列のヘッダー領域３０８Ａ、３０８Ｂがサマリーテーブル４０４において示されるとき、データ分析プログラム１０４は各列のヘッダー領域についての統合した列のラベル４１２Ａ、４１２Ｂを提供し得る。例えば、図４において示されるサマリーテーブル４０４において、「ＡＬＬ  ＤＡＴＥＳ（全ての日付）」の統合した列のラベル４１２Ａは第１の列のヘッダー領域３０８Ａにおいて表示され、「ＡＬＬ  ＰＲＯＭＯＴＩＯＮＳ（全てのプロモーション）」の統合した列のラベル４１２Ｂは第２の列のヘッダー領域３０８Ｂにおいて表示される。さらに実施形態によれば、列のヘッダー領域を単一の列に折りたたむ又は列のレベルのフィルターを適用する等の一つの列のヘッダー領域３０８Ａ、３０８Ｂに関して実施される動作を、サマリーテーブル４０４における他の列のヘッダー領域の表示に影響することなく実行し得る。しかしながら、行のヘッダー領域３０６に関して実施されるか、又は全体としてサマリーテーブル４０４に適用される動作は、サマリーテーブルにおける全ての列のヘッダー領域３０８Ａ、３０８Ｂに影響し得る。
【００２６】
３またはそれより多くの行のヘッダー領域付きの単一の列のヘッダー領域を有するサマリーテーブル、３またはそれより多くの列のヘッダー領域付きの単一の行のヘッダー領域を有するサマリーテーブル、又は複数の行のヘッダー領域及び複数の列のヘッダー領域の両方を有するサマリーテーブルを含む、上述されたものを越えるサマリーテーブルの追加の構成が利用され得ることを理解されたい。さらにソースデータからの異なるフィールドは、複数の行のヘッダー領域又は列のヘッダー領域のそれぞれと併せて表示されるデータ値について選択され得る。本明細書で説明される特徴及び特性は全てのこのような構成に等しく適用し、この出願は全てのこのような構成を含むことを意図されることをさらに理解されたい。
【００２７】
ここで図５を参照して、本明細書で示される実施形態に関してさらなる詳細が提供されることになる。図５に関して説明される論理的な動作は、（１）コンピュータに実装された動作又はコンピューティングシステムにおいて実行しているプログラムモジュールのシーケンスとして、及び／又は（２）コンピュータシステムにおいて相互接続されたマシンの論理回路又は回路モジュールとして実装されることを理解されたい。実装は、コンピューティングシステムの性能及び他の要件に依存して選択できる問題である。従って、本明細書で説明される論理的な動作は、動作、構造的なデバイス、動作又はモジュールとしてさまざまに呼ばれる。これらの動作、構造的なデバイス、動作及びモジュールは、ソフトウェア、ファームウェア、専用デジタルロジック、及びその任意の組み合わせにおいて実装され得る。図に示されて本明細書で説明されるよりも多い又は少ない動作を実施することができることも理解されたい。この動作は説明されたのと異なる順でも実施され得る。
【００２８】
図５は、図３Ａ及び図３Ｂに関して上述されたように、複数の行のヘッダー領域を有するサマリーテーブルをディスプレイデバイスにレンダリングするためのルーチン５００を示す。ルーチン５００は動作５０２で開始し、データ分析プログラム１０４は、サマリーテーブルを築くためのデータソース１０８の明細を受信する。図１に関して上述のように、サマリーテーブルについてのデータは、表計算ファイル又はコンピュータ１０２によりアクセス可能な他のファイルシステムにおける他のデータファイルから取り出され得るか、データベース内に含まれ得る。データソース１０８からのデータは、図２に関して上述されたのと同様に、ソースデータのリスト２００のフォーマット内に存在することができる。
【００２９】
動作５０２から、ルーチン５００は動作５０４に進み、データ分析プログラム１０４は、サマリーテーブル３０４に表示されるべき複数の行のヘッダー領域３０６Ａ、３０６Ｂのそれぞれについての行のラベルについてのデータフィールドのユーザー１０６からの選択を受信する。例えばユーザー１０６は、サマリーテーブル３０４が、ソースデータのリスト２００において提供されるカテゴリーフィールド２１０及びタイプフィールド２１２から取得される第１の行のヘッダー領域３０６Ａについての行のラベル、並びにプロモーションフィールド２０８から取得される第２の行のヘッダー領域３０６Ｂについての行のラベルと共に、２つの行のヘッダー領域３０６Ａ、３０６Ｂを有すべきであることを指定し得る。
【００３０】
一実施形態によれば、複数の行のヘッダー領域３０６Ａ、３０６Ｂのそれぞれについてユーザーに行のラベルの適切な選択をさせるために、データ分析プログラム１０４は、図６Ａ及び図６Ｂにおいて示されるサマリーテーブルのフィールドリストのウィンドウ６００等のユーザーインターフェース（「ＵＩ」）をユーザー１０６に提供し得る。フィールドリストのウィンドウ６００は、行のラベルの選択領域６０２を含み、行のラベルについてのデータフィールドが指定される。行のラベルについてのデータフィールドを選択するために、選択されたデータフィールドはデータフィールドのリスト６０４から行のラベルの選択領域６０２にドラッグされ得る。複数の行のヘッダー領域３０６Ａ、３０６Ｂを容易にするために、行のラベルの選択の領域６０２は現在の行のヘッダー領域の指示６０６をさらに含み、フィールド選択がなされ得ると同時に行のヘッダー領域の総数が利用可能である現在の行のヘッダー領域を示す。ユーザーは、行のラベルの選択領域６０２においてアクティブである現在の行のヘッダー領域を増加又は減少させるために行のヘッダー領域の選択制御６０８を選択し得る。
【００３１】
例えば図６Ａにおいて示されるように、ユーザーは、２つの行のヘッダー領域の第１の行のヘッダー領域３０６Ａについての行のラベルについて、カテゴリーフィールド２１０及びタイプフィールド２１２を選択し得る。図６Ｂにおいて示されるように、増加した行のヘッダー領域の選択制御６０８を選択することにより、第２の行のヘッダー領域３０６Ｂについての選択されたフィールドは、行のラベルの選択領域６０２において表示され、プロモーションフィールド２０８を含み得る。図６Ａ及び図６Ｂに示されて本明細書で説明されるものを越えて、複数の行のヘッダー領域についての行のラベルについてのデータフィールドの選択を行うために、他のＵＩが利用され得ることを理解されたい。この出願はすべてのこのようなＵＩを含むことを意図する。
【００３２】
動作５０４から、ルーチン５００は動作５０６に進み、データ分析プログラム１０４は、列のヘッダー領域３０８について及びデータ値３１０についてのフィールドの選択を受信する。図６Ａ及び図６Ｂに示されて上述されたサマリーテーブルのフィールドリストのウィンドウ６００又はいくつかの他のＵＩを使用して、これは達成され得る。データ分析プログラム１０４は、動作５０６においてサマリーテーブル３０４をレンダリングするのに必要な任意の追加の選択又はパラメーターも受信する。次に、ルーチン５００は動作５０８に進み、データ分析プログラム１０４は動作５０２において指定されたデータソース１０８からソースデータを読み出す。これは、例えばファイルシステムから表計算ファイルを読み出す、又はデータベースサーバーにおいてクエリを実行することを伴うことができる。
【００３３】
次に、ルーチン５００は動作５０８から動作５１０に進み、データ分析プログラム１０４は、データソース５０８からのソースデータを、サマリーテーブル３０４を築くために使用されるサマリーレベルデータに変換する。上記動作５０４及び動作５０６からのフィールド選択と同時に任意の他の追加の選択又はパラメーターに基づいて、サマリーテーブルの表示をレンダリングするのに必要とされるサマリーレベルのデータを生成するために、まとめ機能をソースデータに適用することによりこれを達成し得る。
【００３４】
動作５１０から、ルーチン５００は動作５１２に進み、データ分析プログラム１０４は、サマリーテーブル３０４の第１の行のヘッダー領域３０６Ａの表示をディスプレイデバイス１１０にレンダリングする。データソース１０８からのデータ行２０２は、動作５０４から選択されたデータフィールドに基づいて行のヘッダー領域３０６Ａについての適用可能な行のラベルの値を判定するために評価される。適用可能な場合、行のヘッダー領域３０６Ａについての行のラベルの階層も構築される。図３Ａに関して上述のように、データ分析プログラム１０４は、行のヘッダー領域３０６Ａについての統合した行のラベル３１２Ａも含み、行のヘッダー領域がユーザー１０６により単一の行にロールアップ及びまとめられることを可能にする。行は、列のヘッダー領域３０８及びサマリーレベルのデータについて選択されたデータフィールドに基づいて、各ラベル値を含むサマリーテーブルのグリッドに追加され、データ値３１０は行における様々な列のラベルに渡ってまとめられる。
【００３５】
動作５１２から、ルーチン５００は動作５１４に進み、データ分析プログラム１０４は、サマリーテーブル３０４において表示されるべき追加の行のヘッダー領域があるか否かを判定する。一実施形態によれば、データフィールドがサマリーテーブルのフィールドリストのウィンドウ６００の行のラベルの選択領域６０２における追加の行のヘッダー領域について指定されたか否かを判定することによりこのことを達成できる。追加の行のヘッダー領域が表示されることになる場合、ルーチン５００は動作５１６に進み、データ分析プログラム１０４は、前の行のヘッダー領域３０６Ａに垂直に隣接して及び下に、次の行のヘッダー領域３０６Ｂについての表示をレンダリングする。次の行のヘッダー領域３０６Ｂは、動作５１２に関して上述された第１の行のヘッダー領域３０６Ａと同様の手順を使用して表示される。一度、次の行のヘッダー領域３０６Ｂについての表示がデータ分析プログラム１０４によりレンダリングされたら、ルーチン５００は動作５１６から動作５１４に戻り、データ分析プログラム１０４はサマリーテーブル３０４に表示されるべき追加の行のヘッダー領域があるか否かを決定する。表示されることになる更なる行のヘッダー領域がない場合、ルーチン５００は終了する。
【００３６】
上述のルーチン５００と同様のルーチンが、複数の列のヘッダー領域３０８Ａ、３０８Ｂと共にサマリーテーブル４０４を表示するために、データ分析プログラム１０４により利用される可能性があり、続く列のヘッダー領域のそれぞれは、前の列のヘッダー領域に水平に隣接してサマリーテーブルに表示されるであろうことを理解されたい。同様に、結合されたルーチンは、複数の行のヘッダー領域及び複数の列のヘッダー領域の両方と共にサマリーテーブルを表示するために、データ分析プログラム１０４により利用される可能性がある。これらのルーチンもこのアプリケーションに含まれることを意図する。
【００３７】
図７は、上で示された方式で、サマリーテーブルにおける複数の行及び列のヘッダー領域を表示するために本明細書で説明されるソフトウェアコンポーネントを実行可能なコンピュータ７００についての例示的なコンピュータアーキテクチャーを示す。図７において示されるコンピュータアーキテクチャー構造は、従来のコンピューティングデバイス、ＰＤＡ、デジタル携帯電話、通信デバイス、デスクトップコンピュータ、ラップトップ又はサーバーコンピュータを示し、コンピュータ１０２又は他のコンピューティングプラットフォーム上で実行するとして説明される本明細書で示されるソフトウェアコンポーネントの任意の態様を実行するために利用され得る。
【００３８】
図７に示されるコンピュータ構造は、ＣＰＵ７０２（Central Processing Unit）、ＲＡＭ（Random Access Memory）７１４及びＲＯＭ（read-only Memory）７１６を含むシステムメモリー７０８、及びＣＰＵ７０２にメモリーを結合するシステムバス７０４を含む。セットアップの間等のコンピュータ７００内の要素間で情報を転送することを助ける基本的なルーチンを含む基本的な入力／出力システムは、ＲＯＭ７１６に格納される。コンピュータ７００は、オペレーティングシステム７１８、アプリケーションプログラム及び本明細書でより詳細に説明される他のプログラムモジュールを格納するための大容量ストレージデバイス７１０も含む。
【００３９】
大容量ストレージデバイス７１０は、バス７０４に接続される大容量ストレージコントローラー（示されていない）を通して、ＣＰＵ７０２に接続される。大容量ストレージデバイス７１０及びその関連付けられたコンピュータ可読の媒体は、コンピュータ７００についての不揮発性のストレージを提供する。本明細書で含まれるコンピュータ可読の媒体の説明は、ハードディスク又はＣＤ−ＲＯＭドライブ等の大容量ストレージデバイスを指すが、コンピュータ可読の媒体はコンピュータ７００によりアクセスできる任意の利用可能なコンピュータストレージ媒体であることができることを当業者は理解されたい。
【００４０】
例としてであり限定ではなく、コンピュータ可読の媒体は、コンピュータ可読の命令、データ構造、プログラムモジュール又は他のデータ等の情報の格納のための任意の方法又は技術において実装される、揮発性及び不揮発性、リムーバブル及びリムーバブルでないメディアを含み得る。例えば、コンピュータ可読の媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー、又は他の半導体メモリー技術、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disks）、ＨＤ−ＤＶＤ、ＢＬＵ−ＲＡＹ若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、又は所望の情報を格納するのに使用でき、コンピュータ７００によりアクセスできる任意の他の媒体を含むが、これらに限定されない。
【００４１】
多様な実施形態によれば、コンピュータ７００は、ネットワーク７２０を通してのリモートのコンピューティングデバイス及びコンピュータシステムへの論理的な接続を使用してネットワーク化された環境において動作し得る。コンピュータ７００はバス７０４に接続されたネットワークインターフェースユニット７０６を通してネットワーク７２０に接続し得る。ネットワークインターフェースユニット７０６が他のタイプのネットワーク及びリモートのコンピュータシステムに接続して利用され得ることも理解されたい。コンピュータ７００は、キーボード、マウス、タッチパッド、タッチスクリーン、電子スタイラス、又は他のタイプの入力デバイスを含む多くの入力デバイス１１２からの入力を受信及び処理するための入力／出力コントローラー７１２も含み得る。同様に、入力／出力コントローラー７１２は、コンピュータモニター、フラットパネルのディスプレイ、デジタルプロジェクター、プリンター、プロッター又は他のタイプの出力デバイス等のディスプレイデバイス１１０に出力を提供し得る。
【００４２】
上で簡単に述べたように、多くのプログラムモジュール及びデータファイルが、コンピュータの動作を制御するのに適したオペレーティングシステム７１８を含むコンピュータ７００の大容量ストレージデバイス７１０及びＲＡＭ７１４において格納され得る。大容量ストレージデバイス７１０及びＲＡＭ７１４は１またはそれより多くのプログラムモジュールも格納し得る。特に、大容量ストレージデバイス７１０及びＲＡＭ７１４は、図１に関して上で詳細に説明されたデータ分析プログラム１０４を格納し得る。大容量ストレージデバイス７１０及びＲＡＭ７１４は他のタイプのプログラムモジュール又はデータも格納し得る。一実施形態において、プログラムモジュールは、ＣＰＵ７０２により実行されるとき、図５に関して上でより詳細に説明されるように、複数の行のヘッダー領域を有するサマリーテーブルを表示するためのルーチン５００を実施する命令を含むコンピュータ可読の媒体において具体化される。
【００４３】
以上に基づいて、サマリーテーブルにおいて複数の行及び列のヘッダー領域を表示するために技術が本明細書で提供されることを理解されたい。本明細書に示される主題は、コンピュータの構造の特徴、方法論的な動作及びコンピュータ読み取り可能な媒体に特有の言語で説明されてきたが、添付の特許請求の範囲において定義される本発明は本明細書で説明される特有の特徴、動作又は媒体に限定される必要はないことを理解されたい。むしろ、特定の特徴、動作及び媒体は、特許請求の範囲の実装の例示的な形式として開示される。
【００４４】
上述の主題は例示のためだけに提供され、限定として解釈されるべきではない。以下の例示的な実施形態及び例示されて説明されたアプリケーション無しで、及び以下の特許請求の範囲において説明される本発明の真の精神及び範囲から逸脱することなく、様々な修正及び変更がなされ得る。
【図１】
0005237469.tif 000002
【図２】
0005237469.tif 000003
【図３Ａ】
0005237469.tif 000004
【図３Ｂ】
0005237469.tif 000005
【図４】
0005237469.tif 000006
【図５】
0005237469.tif 000007
【図６Ａ】
0005237469.tif 000008
【図６Ｂ】
0005237469.tif 000009
【図７】
0005237469.tif 000010