以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.本発明に係るグラフ表示装置の概要 >>>
図1は、本発明の一実施例に係るグラフ表示装置によるディスプレイ表示画面の一例を示す平面図である。たとえば、パソコンに専用ソフトウエアを組み込むことにより本発明に係るグラフ表示装置を実現した場合、このパソコン用のディスプレイ画面に、図1に示すような表示が行われることになる。
図2は、図1に示す表示画面の領域構成を示す平面図である。図示のとおり、この表示画面は、一覧リスト提示領域A0、第1のグラフ提示領域A1、第2のグラフ提示領域A2、第3のグラフ提示領域A3という4つの領域から構成される。この例の場合、一覧リスト提示領域A0は左端に設けられた縦長の領域、第1のグラフ提示領域A1は上段に設けられた横長の領域、第2のグラフ提示領域A2は下段左に設けられた領域、第3のグラフ提示領域A3は下段右に設けられた領域となっている。もちろん、各領域の配置や形状は、図示の実施例に限定されるものではなく、任意に設定することが可能である。
図1の表示例に示されているとおり、一覧リスト提示領域A0には、項目リストおよびカテゴリリストが表示されている。本発明に係るグラフ作成装置は、時系列として与えられる数値データに基づいてグラフを作成して表示する装置であり、本発明において「項目」とは、このグラフ表示の対象となる数値データの本質的な意味合いを示すものである。たとえば、「売上高」、「気温」、「水素イオン濃度」といった要素は、本発明における「項目」となり得る要素である。ここに示す実施例の場合、複数通りの項目に関する数値データを取り扱うので、個々の数値データには、必ず、その項目を示す「項目データ」が付加されている(たとえば、「売上高」のみを取り扱えば足りる場合には、「項目データ」の付加は省略してもよい)。
また、本発明は、時系列として与えられる数値データを取り扱う装置であるから、個々の数値データには、必ず、当該数値データに関連する日時(たとえば、数値データの取得日時)を示す日時データが付加されている。
更に、本発明では、個々の数値データを分類するための「カテゴリ」が定義され、個々の数値データには、必ず、特定のカテゴリについて当該数値データが関連する属性を示す属性データが付加されている。たとえば、「売上高」なる項目についての数値データであれば、顧客の「年代」というカテゴリを定義することができる。この場合、「売上高」を示す数値データは、「年代」というカテゴリについて、たとえば、「10代/20代/30代/40代/50代以上」のような5種類の区分けの中のいずれかに分類することができる。あるいは、顧客の「性別」というカテゴリを定義した場合、「売上高」を示す数値データは、「性別」というカテゴリについて、「男性/女性/不明」という3種類の区分けの中のいずれかに分類することができる。
このように、本発明における「カテゴリ」とは、「数値データを分類するための何らかの基準」を意味するものであり、当該数値データの項目に応じて適宜定められるべきものである。数値データを分類することが可能な基準であれば、どのような基準をカテゴリとして定義してもかまわない。上例の場合、「年代」,「性別」というカテゴリは、いずれも「売上高」という項目の数値データを分類するための基準として機能している。また、本発明では、ある特定のカテゴリによって分類した場合に、個々の数値データが、どの分類に所属するかを示す情報を、当該カテゴリについての「属性」と呼ぶことにする。上述の例の場合、「年代」なるカテゴリについては、「10代/20代/30代/40代/50代以上」という5種類の属性が定義され、「性別」なるカテゴリについては、「男性/女性/不明」という3種類の属性が定義されることになる。このため、本発明で取り扱う数値データには、各カテゴリについての属性を示す属性データが付加されている。
図3は、以下に述べる実施例に係るグラフ表示装置における項目およびカテゴリの定義例を示す図である。ここに例示する項目およびカテゴリの定義例は、POSシステム(販売時点情報管理システム)で収集された多数の販売データに基づいて、様々な分析や解析を行うことを意図したものである。ここでは具体的に、「新宿店/渋谷店/銀座店/上野店」という4店舗を展開する小売チェーン店のPOSシステムによって収集された販売データに基づいて、様々なグラフを表示させる例を述べることにする。
図3に示すとおり、この実施例では、「売上高」,「来客数」,「取引数」,「ポイント数」,「粗利額」という5つの項目が設定されており、「年代」,「性別」,「店舗」という3つのカテゴリが設定されている。ここで、「売上高」は、顧客に対する売上金額、「来客数」は、来店した顧客の総人数、「取引数」は、販売取引の総数、「ポイント数」は、顧客に付与したサービスポイントの総数、「粗利額」は、顧客に販売した商品価格と仕入価格との差額である。
これらの5項目について、「年代」,「性別」,「店舗」という3つのカテゴリが設定されている。「年代」カテゴリについては、「10代/20代/30代/40代/50代以上」という5種類の属性が定義され、「性別」カテゴリについては、「男性/女性/不明」という3種類の属性が定義され、「店舗」カテゴリについては、「新宿店/渋谷店/銀座店/上野店」という4種類の属性が定義されている。したがって、この3つのカテゴリの組み合わせについて分類を行うと、個々の数値データは、5×3×4=60通りに区分けされることになる。
ここでは、具体的に、図4に示すような販売データが収集されている場合を例にとって、以下の実施例を説明する。図示の表において、1行分のデータを1組の単位レコードと呼ぶことにする。すなわち、1組の単位レコードは、日時データ、項目データ、数値データ、属性データによって構成されている。
数値データは、グラフ表示のための集計対象となる本来のデータであり、この数値データに対して、グラフを利用して様々な分析や解析が行われることになる。数値データは、何らかの項目に関する数値を示しており、また、時系列データであることから、何らかの日時に関連した数値を示している。そこで、個々の数値データには、関連する項目を示す項目データと、関連する日時を示す日時データとが付加されている。更に、数値データには、その分類基準としてカテゴリが設定されており、カテゴリごとの属性を示す属性データが付加されている。図示の例では、「年代」,「性別」,「店舗」という3つのカテゴリについて、それぞれ所属する属性を示す属性データが付加されている。
たとえば、図4の表の1行目に示されている単位レコードには、数値データ「260,000」が含まれている。この数値データは、集計対象となる本来のデータというべきものである。一方、日時データ「2006/04/01」は、この数値データに関連した日時を示すデータであり、項目データ「売上高」は、この数値データに関連した項目を示すデータである。したがって、この例の場合、「260,000」なる数値は、「2006年4月1日」の「売上高」を示す数値ということになる。
もっとも、この「260,000」なる数値は、「2006年4月1日の全売上高」を示すものではなく、ある特定のカテゴリ属性によって分類した場合の部分的な売上高になっている。すなわち、この1行目の単位レコードの場合、「年代」カテゴリについては「10代」という属性データが付与され、「性別」カテゴリについては「男性」という属性データが付与され、「店舗」カテゴリについては「新宿店」という属性データが付与されている。したがって、1行目の単位レコードに含まれている「260,000」なる数値は、「2006年4月1日」の「売上高」のうち、「新宿店における10代男性」に対する「売上高」を示している。
同様に、2行目の単位レコードに含まれている「380,000」なる数値は、「新宿店における20代男性」に対する「売上高」であり、3行目の単位レコードに含まれている「340,000」なる数値は、「新宿店における30代男性」に対する「売上高」である。一方、図4の表の最下行に示されている単位レコードは、「2006年5月9日」の「銀座店における30代男性」に対する「来客数」が「380」であることを示している。
図4に示すような多数の単位レコードを構成するデータは、たとえば、店舗ごとに、毎日、POSシステムなどを利用して、その日の「売上高」,「来客数」などの項目を、「年代」および「性別」別に集計させ、本部に集計結果を報告させることにより収集することができる。
顧客の年代や性別に関する属性データは、顧客が入店するたびに店員の判断で集計用端末装置に手入力するようにしてもよいが、予め各顧客に会員カードを発行しておき、入店時に会員カードを提示させるようなシステムを構築しておけば、自動収集することが可能である。
たとえば、カード発行時に、顧客の生年月日や性別に関する情報を入手しておき、入店時に会員カードから会員IDコードなどを端末装置で読み取るようにすれば、個々の顧客が店舗に入店した時点で、当該顧客の年代、性別を自動取得することができ、同時に入店時を日時データとして自動取得することができる。したがって、店舗ごとに1日の「来客数」を「年代」,「性別」のカテゴリ別に自動収集することができる。また、顧客が商品を購入した場合は、レジで会員カードを提示させるようにすれば、店舗ごとに1日の「売上高」,「取引数」,「ポイント数」,「粗利額」を「年代」,「性別」のカテゴリ別に自動収集することができる。
なお、ここでは、この図4に示すような時系列数値データ(単位レコードの集合体)の収集方法についての詳しい説明は省略するが、各店舗における販売データを収集する方法は、この他にも様々なシステムを用いた方法が知られている。また、本発明の適用対象は、販売データのみならず、各地の気温データ、各種実験の物理的/化学的な採取データなど多岐に渡るものであり、単位レコードの具体的な収集方法は、そのデータの性質に応じて、適宜選択されるべきものである。
本発明は、図4に示すような時系列数値データに基づいて、グラフを表示するための装置に係るものである。このため、本発明を実施するにあたっては、このような時系列数値データが何らかの方法で用意されていれば足り、数値データの本質的な内容や、その収集方法は特に限定されるものではない。
<<< §2.本発明に係るグラフ表示装置の基本構成 >>>
前述したとおり、ここに示すグラフ表示装置は、図4に示すような時系列として与えられる数値データに基づいて、ディスプレイ画面上に図1に示すようなグラフを表示する機能を有している。ここでは、このグラフ表示装置の基本構成を、図5のブロック図を参照しながら説明する。
図5の実施例に係るグラフ表示装置は、データ格納手段10、一覧リスト提示手段20、第1のグラフ提示手段100、第2のグラフ提示手段200、第3のグラフ提示手段によって構成されている。もっとも、これらの各手段は、実際にはコンピュータに専用のプログラムを組み込むことによって実現されるものである。たとえば、データ格納手段10は、コンピュータ用のハードディスク装置やメモリ装置などの記憶装置によって構成することができる。
また、各提示手段20,100,200,300は、このコンピュータ用のディスプレイ画面上にリストやグラフを提示する機能を有しており、これら各ブロックから下方に伸びた矢印は、画面表示用データが出力されることを示している。これら画面表示用データは、図示されていない画面表示手段へ与えられ、図1に示すような1画面分の画像が作成され、この画像がディスプレイ画面上に提示されることになる。
後述するように、各グラフ提示手段100,200,300は、オペレータの指示入力を受け付ける機能を有している。実際には、この指示入力機能は、マウスやキーボードなどのコンピュータ用入力機器およびこれを制御するプログラムによって実現されることになる。以下、図5に示されている各手段の構成および機能を順に説明する。
まず、データ格納手段10は、多数の単位レコードからなるデータを格納する機能を有する。ここでは、§1で述べたように、小売チェーン店のPOSシステムによって収集された販売データに基づいて、様々なグラフを表示させる実施例を説明するため、図4に例示するようなデータが、データ格納手段10内に格納されているものとする。このデータは、特定の項目に関する数値を示す数値データと、当該項目を示す項目データと、この数値データに関連する日時を示す日時データと、複数n通り(図示の例では3通り)のカテゴリについてこの数値データに関連する属性をそれぞれ示す属性データと、を1組とする単位レコードの集合体ということができる。要するに、データ格納手段10には、数値データ、項目データ、日時データ、属性データ、を1組とする単位レコードが、複数組格納されていることになる。
なお、図4では、説明の便宜上、各データを人間が直接的に認識可能な文字列の形式で表示した例を示したが、実用上は、必要に応じて、特定のコードで示すようにしてもかまわない。たとえば、「売上高」という項目データを「0001」というコードで示し、「来客数」という項目データを「0002」というコードで示すことも可能であるし、「新宿店」という属性データを「shop01」というコードで示し、「渋谷店」という属性データを「shop02」というコードで示すことも可能である。ただ、ディスプレイ画面上に表示する際には、このようなコードの形式ではなく、人間が直接的に認識可能な文字列の形式にする必要があるので、コードと文字列とを変換するテーブルをどこかに用意しておくようにする。
また、本願にいう「日時」とは、時間軸上の1点もしくは1期間を示すことが可能な情報を広く含むものであり、日時データは、必ずしも図示の例のように「年月日」からなるデータで構成する必要はない。たとえば、より高い時間的精度を要求する時系列データを取り扱う場合であれば、「年月日」のデータに、更に「時分秒」のデータを付加するようにしてもよい。一方、週単位の分析を行えば十分な時系列データを取り扱う場合であれば、「2006年第1週」、「2006年第2週」のようなデータを日時データとして用いることもできよう。また、ある特定の1週間に行われたイベントについて、時間単位の分析を行えば十分な時系列データを取り扱う場合であれば、「月曜日13時」、「金曜日20時」のようなデータを日時データとして用いてもよい。もちろん、ビジネス用の表計算ソフトウエアなどで用いられているようなシリアル値(過去の特定の時点を基準とした累積秒数値など)を日時データとして用いてもかまわない。
前述したとおり、本発明を実施するにあたって、データ格納手段10内に用意される図4に示すような販売データは、具体的にどのような方法で収集してもかまわない。たとえば、各店舗に設けられた端末装置からオンライン経由でデータ格納手段10内に自動的に販売データが蓄積されるようなシステムを構築してもよいし、各店舗から集めた販売データファイルを、オペレータが手作業で、データ格納手段10内に逐次格納するようにしてもよい。
一覧リスト提示手段20は、ディスプレイ画面上の一覧リスト提示領域A0(図2参照)内に、項目およびカテゴリの一覧リストを表示する機能を果たす。ここで述べる実施例の場合、図3に示すように、「売上高」,「来客数」,「取引数」,「ポイント数」,「粗利額」という5つの項目と、「年代」,「性別」,「店舗」という3つのカテゴリが設定されているので、図1の左欄に示されているように、これらの「項目を示す文字列」および「カテゴリを示す文字列」が、項目リストおよびカテゴリリストとしてディスプレイ画面上に表示されることになる。
このような一覧リストを表示するため、一覧リスト提示手段20内には、オペレータの入力操作により、「項目を示す文字列」のデータおよび「カテゴリを示す文字列」のデータを取り込んで保存する文字列データ保存部と、この文字列データ保存部に保存されているデータに基づいて、「項目を示す文字列」および「カテゴリを示す文字列」の一覧リストをディスプレイ画面上に表示するリスト表示部と、が設けられている。オペレータが、予めキーボードなどを用いて、「売上高」,「来客数」,「取引数」,「ポイント数」,「粗利額」という「項目を示す文字列」や、「年代」,「性別」,「店舗」という「カテゴリを示す文字列」を文字列データ保存部に入力する操作を行えば、リスト表示部によって、図1に示すような一覧リストの表示が可能になる。
あるいは、データ格納手段10内に、各単位レコードに関連する「項目を示す文字列」のデータおよび「カテゴリを示す文字列」のデータが格納されている場合は、一覧リスト提示手段20が、このデータ格納手段10に格納されているデータに基づいて、「項目を示す文字列」および「カテゴリを示す文字列」の一覧リストをディスプレイ画面上に表示することも可能である。たとえば、図4に示すようなデータがデータ格納手段10内に用意されている場合、このデータの中から、「売上高」,「来客数」,「年代」,「性別」等の必要な文字列を所定箇所から自動的に抽出し(予め、データフォーマットを定めておけば、どの箇所からどの文字列を抽出すべきかを決定できる)、これを一覧リストとして表示させるようにすればよい。
こうして一覧リスト提示領域A0内に表示された「項目を示す文字列」および「カテゴリを示す文字列」は、後述するように、オペレータが特定の項目や特定のカテゴリを選択する操作を行う際に利用される。
さて、続いて、各グラフ提示手段100,200,300の機能について説明する。まず、第1のグラフ提示手段100は、オペレータの指示入力に基づいて、データ格納手段10に格納されている複数組の単位レコードの中から必要な単位レコードを抽出し、抽出した単位レコードを利用して作成した第1のグラフをディスプレイ画面上の第1のグラフ提示領域A1に表示する機能を果たす。図1の上段に示す棒グラフおよび折れ線グラフは、こうして表示されたグラフである。
同様に、第2のグラフ提示手段200は、オペレータの指示入力に基づいて、データ格納手段10に格納されている複数組の単位レコードの中から必要な単位レコードを抽出し、抽出した単位レコードを利用して作成した第2のグラフをディスプレイ画面上の第2のグラフ提示領域A2に表示する機能を果たす。図2の下段左に示す円グラフは、こうして表示されたグラフである。
また、第3のグラフ提示手段300は、オペレータの指示入力に基づいて、データ格納手段10に格納されている複数組の単位レコードの中から必要な単位レコードを抽出し、抽出した単位レコードを利用して作成した第3のグラフをディスプレイ画面上の第3のグラフ提示領域A3に表示する機能を果たす。図2の下段右に示す棒グラフは、こうして表示されたグラフである。
このように、各グラフ提示手段100,200,300は、いずれも、オペレータの指示入力に基づいて、データ格納手段10に格納されている複数組の単位レコードの中から必要な単位レコードを抽出し、抽出した単位レコードを利用してグラフを作成する、という処理を行う点では共通している。ただ、作成されるグラフの内容が、それぞれ若干異なっている。以下、各グラフ提示手段の詳細な構成と、グラフ作成処理の手順を説明する。
まず、第1のグラフ提示手段100は、図5に示されているとおり、第1のグラフ用項目選択部110、集計単位設定部120、第1のグラフ用データ集計部130、第1のグラフ作成部140、第1のグラフ表示部150、集計期間設定部160によって構成されている。
第1のグラフ用項目選択部110は、オペレータの指示入力に基づいて、第1のグラフによる表示対象となる特定の項目を選択する機能を果たす。図1に示す例の場合、上段に示された第1のグラフは、売上高の棒グラフと来客数の折れ線グラフによって構成されているが、これは第1のグラフ用項目選択部110によって、項目リストの中から「売上高」と「来客数」が選択されたためである。具体的な項目の選択操作については、§3で詳述する。
集計期間設定部160は、オペレータの指示入力に基づいて、時間軸上の特定の集計期間を設定する機能を果たす。図1に示す例の場合、上段に示された第1のグラフは、「2006年4月〜2006年9月」という集計期間についてのグラフとなっている。たとえば、棒グラフを見ると、左端は「2006年4月」を示す棒、右端は「2006年9月」を示す棒となっている。これは集計期間設定部160によって、このような集計期間の設定が行われたためである。このように、本発明において「集計期間」とは、グラフ表示の対象となる期間を意味する。具体的な集計期間の設定操作については、§4で詳述する。なお、後述するように、この集計期間設定部160で設定した集計期間は、第1のグラフだけでなく、第2のグラフおよび第3のグラフの集計期間としても利用される。
集計単位設定部120は、オペレータの指示入力に基づいて、時間軸上の特定の集計単位を設定する機能を果たす。ここで、本発明における「集計単位」とは、1つのグラフ構成要素(たとえば、棒グラフの場合は1本の棒、折れ線グラフの場合は1点のプロット)によって表現される数値を求めるための時間軸上の区間を意味する。図1の上段に示す第1のグラフの場合、「集計単位」は「月単位」に設定されている。このため、棒グラフの個々の構成要素(1本1本の棒)や折れ線グラフの個々の構成要素(折れ線によって結ばれた個々の点)は、それぞれ特定の月に対応している。たとえば、左端の「2006年4月」を示す棒は、2006年4月1日〜4月30日という1ヶ月分の売上高の集計結果を示している。具体的な集計単位の設定操作については、§5で詳述する。
第1のグラフ用データ集計部130は、データ格納手段10から、第1のグラフ用項目選択部110によって選択された選択項目を示す項目データと、集計期間設定部160によって設定された集計期間内の日時を示す日時データと、を含む単位レコードを抽出し、抽出した単位レコード内の個々の数値データを、集計単位設定部120によって設定された集計単位ごとに集計する処理を行う。
たとえば、第1のグラフ用項目選択部110によって「売上高」が選択され、集計期間設定部160によって「2006年4月〜2006年9月」という集計期間が設定された場合、第1のグラフ用データ集計部130は、データ格納手段10から、「売上高」という項目データと、「2006年4月〜2006年9月」の範囲内に入る日時データと、の双方を含む単位レコードを抽出する。そして、集計単位設定部120によって、「月単位」という集計単位が設定されていた場合、抽出した単位レコードに含まれている数値データ(売上高を示す数値)を、1ヶ月単位で集計する処理を行う。その結果、「2006年4月分」の合計売上高、「2006年5月分」の合計売上高、「2006年6月分」の合計売上高、...等の集計結果が得られることになる。
なお、この第1のグラフ用データ集計部130における集計処理は、カテゴリを考慮した処理ではないので、たとえば、第1のグラフの左端の「2006年4月」を示す棒は、年代、性別、店舗を問わず、すべてを集計した結果を示している。
第1のグラフ作成部140は、横方向に時間軸をとり、縦方向に数値軸をとったグラフ空間上に、第1のグラフ用データ集計部130による集計結果を示す第1のグラフを作成する処理を行う。その結果、図1の上段には、「売上高」を縦軸にとった棒グラフ(売上高の縦軸目盛りは左端に示されている)と、「来客数」を縦軸にとった折れ線グラフ(来客数の縦軸目盛りは右端に示されている)とが表示されている。もちろん、縦方向に時間軸をとり、横方向に数値軸をとったグラフを作成してもかまわない。また、時間軸と数値軸とは必ずしも直交している必要はない。要するに、第1のグラフ作成部140は、第1の方向に時間軸をとり、第2の方向に数値軸をとったグラフ空間上に、第1のグラフ用データ集計部130による集計結果を示す第1のグラフを作成する機能を有していればよい。
実際に、このようなグラフを作成するには、集計結果をスケーリングして、棒グラフを構成する各棒の長さや、折れ線グラフを構成する各点のプロット位置を決定する必要があるが、そのようなグラフの作成処理方法それ自体は公知の技術であるため、ここでは詳しい説明は省略する。また、実際には、グラフの縦軸目盛りには、スケーリングを示す数値や単位などが表示されるが、本願では、図が繁雑になるのを避けるため、縦軸目盛りについての詳細表示は省略する。なお、時間軸を構成する横軸目盛りについては、本発明を説明する上で必要になるため、簡潔に表示した例を示してある。
第1のグラフ表示部150は、第1のグラフ作成部140によって作成された第1のグラフを、ディスプレイ画面上に表示する機能を果たす。実際には、第1のグラフを表示するために必要な画面表示用データを作成し、図示されていない画面表示手段へと与える処理が行われる。
続いて、第2のグラフ提示手段200の構成を説明する。第2のグラフ提示手段200は、図5に示されているとおり、第2のグラフ用項目選択部210、第2のグラフ用カテゴリ選択部220、第2のグラフ用データ集計部230、第2のグラフ作成部240、第2のグラフ表示部250、属性選択部260によって構成されている。
図1の下段左の円グラフを見ればわかるとおり、第2のグラフの特徴は、特定のカテゴリについて、属性別の集計結果が示されている点である。具体的には、図示の例では、「年代」というカテゴリについて「10代/20代/30代/40代/50代以上」という5つの属性別に、それぞれ「売上高」の集計結果が示されている。このため、図示のような円グラフを表示させるためには、オペレータは、「売上高」という項目を指定するとともに、「年代」というカテゴリを指定する必要がある。第2のグラフ提示手段200には、このような指定を行うための機能が備わっている。
まず、第2のグラフ用項目選択部210は、オペレータの指示入力に基づいて、第2のグラフによる表示対象となる特定の項目を選択する機能を果たす。図1に示す例の場合、下段左に示された第2のグラフは、売上高を示す円グラフによって構成されているが、これは第2のグラフ用項目選択部210によって、項目リストの中から「売上高」が選択されたためである。もちろん、「売上高」の代わりに「来客数」が選択された場合は、年代別来客数を示す円グラフが表示されることになる。具体的な項目の選択操作については、§6で詳述する。
一方、第2のグラフ用カテゴリ選択部220は、オペレータの指示入力に基づいて、第2のグラフによる表示対象となる特定のカテゴリを選択する機能を果たす。図1に示す例の場合、下段左に示された第2のグラフは、売上高を「年代」別に比較可能な態様で示す円グラフによって構成されているが、これは第2のグラフ用カテゴリ選択部220によって、カテゴリリストの中から「年代」が選択されたためである。もちろん、「年代」の代わりに「性別」が選択された場合は、性別別売上高を示す円グラフが表示されることになる。具体的なカテゴリの選択操作については、§6で詳述する。
なお、この第2のグラフ提示手段200には、集計期間設定部は設けられていない。これは、集計期間については、第1のグラフ提示手段100内の集計期間設定部160で設定された内容が、そのまま第2のグラフ提示手段200でも利用されるためである。別言すれば、図1の下段左に示す円グラフ(第2のグラフ)は、上段に示す棒グラフおよび折れ線グラフ(第1のグラフ)と全く同一の集計期間についての集計結果を示すものになる。また、この第2のグラフ提示手段200には、集計単位設定部も設けられていないが、これは、第2のグラフでは、集計単位の設定が不要であるためである。すなわち、第1のグラフが、時間軸上の集計単位別の集計結果を相互に比較できる態様で表示するグラフであるのに対して、第2のグラフは、特定のカテゴリについての属性別(図示の例の場合は、年代別)の集計結果を相互に比較できる態様で表示するグラフになる。
第2のグラフ用データ集計部230は、データ格納手段10から、第2のグラフ用項目選択部210によって選択された選択項目を示す項目データと、集計期間設定部160によって設定された集計期間内の日時を示す日時データと、を含む単位レコードを抽出し、抽出した単位レコード内の個々の数値データを、第2のグラフ用カテゴリ選択部220によって選択された選択カテゴリについての各属性を示す属性データが同一となるグループ単位で集計する処理を行う。
たとえば、第2のグラフ用項目選択部210によって「売上高」が選択され、第2のグラフ用カテゴリ選択部220によって「年代」が選択され、集計期間設定部160によって「2006年4月〜2006年9月」という集計期間が設定された場合、第2のグラフ用データ集計部230は、データ格納手段10から、「売上高」という項目データと、「2006年4月〜2006年9月」の範囲内に入る日時データと、の双方を含む単位レコードを抽出する。そして、抽出した単位レコードに含まれている数値データ(売上高を示す数値)を、「年代」についての属性データが同一となるグループ単位で集計する処理を行う。すなわち、抽出した単位レコードの中の「10代」という属性データを含む単位レコードに含まれている数値データを1グループとして集計し、「20代」という属性データを含む単位レコードに含まれている数値データを1グループとして集計し、「30代」という属性データを含む単位レコードに含まれている数値データを1グループとして集計し、...という処理を行うことになる。
第2のグラフ作成部240は、第2のグラフ用データ集計部230による集計結果に基づき、選択カテゴリについての各属性に対応する集計値を比較するための第2のグラフを作成する機能を果たす。図1の下段左に示されている円グラフは、このようにして作成された円グラフであり、選択カテゴリ「年代」についての各属性「10代/20代/30代/40代/50代以上」に対応する集計値に応じた面積(中心角)をもった扇形の集合からなる円グラフになっている。
なお、円グラフの上に示されているグラフの表題「年代別売上高」は、第2のグラフ用項目選択部210で選択された項目「売上高」と第2のグラフ用カテゴリ選択部220で選択されたカテゴリ「年代」を示すものであり、この表題の表示は、選択項目や選択カテゴリに応じて適宜変わることになる。また、図示の例では、円グラフを構成する各扇形の内部に、「10代」,「20代」等の属性を示す文字列を表示するようにしている。もちろん、必要に応じて、これら属性を示す文字列の他に、各集計値自身やその全体に対する比率を示す%値などを表示するようにしてもかまわない。このような円グラフの作成方法は公知の技術であるため、ここでは詳細な説明は省略する。
第2のグラフ表示部250は、第2のグラフ作成部240によって作成された第2のグラフを、ディスプレイ画面上に表示する機能を果たす。実際には、第2のグラフを表示するために必要な画面表示用データを作成し、図示されていない画面表示手段へと与える処理が行われる。
属性選択部260は、第2のグラフ用カテゴリ選択部220によって選択された選択カテゴリについての属性の中から、オペレータの指示入力に基づいて、特定の属性を選択したり、当該選択を解除したりする機能を果たす。この機能は、第2のグラフを表示させるための機能ではなく、第3のグラフにおける属性を限定するための機能であるので、その詳細は§7で述べることにする。
最後に、第3のグラフ提示手段300の構成を説明する。第3のグラフ提示手段300は、図5に示されているとおり、第3のグラフ用項目選択部310、第3のグラフ用カテゴリ選択部320、第3のグラフ用データ集計部330、第3のグラフ作成部340、第3のグラフ表示部350によって構成されている。これらの各構成要素310〜350の機能は、第2のグラフ提示手段200の各構成要素210〜250の機能と、基本的にはほぼ同じである。
図1の下段左に示された第2のグラフが円グラフの形態をとるのに対して、下段右に示された第3のグラフは棒グラフの形態をとっているが、この相違は単にグラフの表示形態の相違であって、グラフの本質的な相違ではない。この第3のグラフも、特定のカテゴリについて、属性別の集計結果を示すグラフである点では、第2のグラフと本質的には同じものである。具体的には、図示の例では、「店舗」というカテゴリについて「新宿店/渋谷店/銀座店/上野店」という4つの属性別に、それぞれ「来客数」の集計結果が示されている。このため、図示のような棒グラフを表示させるためには、オペレータは、「来客数」という項目を指定するとともに、「店舗」というカテゴリを指定する必要がある。第3のグラフ提示手段300には、このような指定を行うための機能が備わっている。
まず、第3のグラフ用項目選択部310は、オペレータの指示入力に基づいて、第3のグラフによる表示対象となる特定の項目を選択する機能を果たす。図1に示す例の場合、下段右に示された第3のグラフは、来客数を示す棒グラフによって構成されているが、これは第3のグラフ用項目選択部310によって、項目リストの中から「来客数」が選択されたためである。もちろん、「来客数」の代わりに「取引数」が選択された場合は、店舗別取引数を示す棒グラフが表示されることになる。具体的な項目の選択操作については、§6で詳述する。
一方、第3のグラフ用カテゴリ選択部320は、オペレータの指示入力に基づいて、第3のグラフによる表示対象となる特定のカテゴリを選択する機能を果たす。図1に示す例の場合、下段右に示された第3のグラフは、来客数を「店舗」別に比較可能な態様で示す棒グラフによって構成されているが、これは第3のグラフ用カテゴリ選択部320によって、カテゴリリストの中から「店舗」が選択されたためである。もちろん、「店舗」の代わりに「年代」が選択された場合は、年代別来客数を示す棒グラフが表示されることになる。具体的なカテゴリの選択操作については、§6で詳述する。
なお、この第3のグラフ提示手段300においても、集計期間については、第1のグラフ提示手段100内の集計期間設定部160で設定された内容が、そのまま利用される。したがって、図1の下段右に示す棒グラフ(第3のグラフ)は、上段に示す棒グラフおよび折れ線グラフ(第1のグラフ)と全く同一の集計期間についての集計結果を示すものになる。また、第3のグラフも第2のグラフと同様に、特定のカテゴリについての属性別(図示の例の場合は、店舗別)の集計結果を相互に比較できる態様で表示するグラフであるため、集計単位の設定は不要である。
第3のグラフ用データ集計部330は、データ格納手段10から、第3のグラフ用項目選択部310によって選択された選択項目を示す項目データと、集計期間設定部160によって設定された集計期間内の日時を示す日時データと、を含む単位レコードを抽出し、抽出した単位レコード内の個々の数値データを、第3のグラフ用カテゴリ選択部320によって選択された選択カテゴリについての各属性を示す属性データが同一となるグループ単位で集計する処理を行う。
たとえば、第3のグラフ用項目選択部310によって「来客数」が選択され、第3のグラフ用カテゴリ選択部320によって「店舗」が選択され、集計期間設定部160によって「2006年4月〜2006年9月」という集計期間が設定された場合、第3のグラフ用データ集計部330は、データ格納手段10から、「来客数」という項目データと、「2006年4月〜2006年9月」の範囲内に入る日時データと、の双方を含む単位レコードを抽出する。そして、抽出した単位レコードに含まれている数値データ(来客数を示す数値)を、「店舗」についての属性データが同一となるグループ単位で集計する処理を行う。すなわち、抽出した単位レコードの中の「新宿店」という属性データを含む単位レコードに含まれている数値データを1グループとして集計し、「渋谷店」という属性データを含む単位レコードに含まれている数値データを1グループとして集計し、「銀座店」という属性データを含む単位レコードに含まれている数値データを1グループとして集計し、...という処理を行うことになる。
第3のグラフ作成部340は、第3のグラフ用データ集計部330による集計結果に基づき、選択カテゴリについての各属性に対応する集計値を比較するための第3のグラフを作成する機能を果たす。図1の下段右に示されている棒グラフは、このようにして作成された棒グラフであり、選択カテゴリ「店舗」についての各属性「新宿店/渋谷店/銀座店/上野店」に対応する集計値に応じた長さをもった棒を並べた棒グラフになっている。
なお、棒グラフの上に示されているグラフの表題「店舗別来客数」は、第3のグラフ用項目選択部310で選択された項目「来客数」と第3のグラフ用カテゴリ選択部220で選択されたカテゴリ「店舗」を示すものであり、この表題の表示は、選択項目や選択カテゴリに応じて適宜変わることになる。また、図示の例では、棒グラフを構成する各棒の脇に、「新宿店」,「渋谷店」等の属性を示す文字列を表示するようにしている。もちろん、必要に応じて、これら属性を示す文字列の他に、各集計値自身やその全体に対する比率を示す%値などを表示するようにしてもかまわない。このような棒グラフの作成方法は公知の技術であるため、ここでは詳細な説明は省略する。
第3のグラフ表示部350は、第3のグラフ作成部340によって作成された第3のグラフを、ディスプレイ画面上に表示する機能を果たす。実際には、第3のグラフを表示するために必要な画面表示用データを作成し、図示されていない画面表示手段へと与える処理が行われる。
以上述べた第3のグラフ提示手段300の基本機能は、結局、第2のグラフ提示手段200の基本機能と同じものである(円グラフと棒グラフという形態の相違はあるが)。ただ、この基本機能は、属性選択部260による属性選択が行われていないときの機能であり、属性選択部260による属性選択が行われているときには、第3のグラフ提示手段300は若干異なる機能を果たすことになる。これについては、§7で述べることにする。
<<< §3.第1のグラフの表示操作 >>>
§2で述べたグラフ表示装置は、非常に操作性の高いユーザインターフェイスを採用している。そこで、ここでは、まず、第1のグラフ提示手段100によって第1のグラフを提示する場合のオペレータから見た操作を説明しよう。
図6は、この実施例に係るグラフ表示装置によるディスプレイ表示画面の初期状態を示す平面図である。図示のとおり、一覧リスト提示領域A0には、項目リストおよびカテゴリリストが表示されているが、その他の各グラフ提示領域A1〜A3には、まだグラフの表示は行われていない(なお、図に示されているA0,A1,A2,A3なる記号は、領域を参照する符号であり、実際の画面上には表示されない)。
この実施例では、第1のグラフ提示領域A1内には、図1に示すとおり、棒グラフと折れ線グラフとが、第1のグラフとして表示される。このようなグラフを表示させるには、オペレータは、まず、どの項目についてのグラフを表示するかを選択する指示入力を行う必要がある。§2で述べたとおり、このような指示入力を取り込む処理は、第1のグラフ用項目選択部110によって行われる。
前述したとおり、このグラフ表示装置は、パソコンなどのコンピュータに専用のプログラムを組み込むことにより実現されるものである。そこで、ここではオペレータが、パソコン用のマウスを用いて様々な指示入力を与える場合を考える(もちろん、この装置において指示入力を与えるための入力装置はマウスに限定されるものではなく、他にも様々なポインティングデバイスを用いることができる)。
いま、図6に示す状態において、オペレータがマウスポインタMを項目リスト上の「売上高」なる文字列の上へもってゆき、この位置でマウスボタンを押下するプレス操作を行った場合を考える。この場合、図7に示すように、各グラフ提示領域A1〜A3に、ドロップ窓D1〜D4が表示される。ここで、ドロップ窓D1は、第1のグラフの棒グラフとして表示すべき項目を選択するための窓であり、ドロップ窓D2は、第1のグラフの折れ線グラフとして表示すべき項目を選択するための窓であり、ドロップ窓D3は、第2のグラフとして表示すべき項目を選択するための窓であり、ドロップ窓D4は、第3のグラフとして表示すべき項目を選択するための窓である。
続いて、オペレータが、マウスボタンを押下した状態のまま、マウスポインタMを移動させるドラッグ操作を行うと、「売上高」なる文字列の複製が、ドラッグ操作に応じてマウスポインタMの動きに追従し、ディスプレイ画面上で移動する。そして、たとえば、図8に示すように、ドロップ窓D1の位置までドラッグした後、マウスボタンを放すドロップ操作を行うと、各ドロップ窓D1〜D4の表示は解除され、図9に示すように、第1のグラフ提示領域A1内に第1のグラフ(棒グラフのみ)が表示される。
結局、オペレータは、図7に示す状態から、「売上高」なる文字列に対して、ドロップ窓D1へのドラッグ&ドロップ操作を行ったことになる。この「売上高」なる文字列に対するドラッグ&ドロップ操作は、第1のグラフ用項目選択部110に対して、「売上高」なる項目を選択する指示(棒グラフの表示対象項目として選択する指示)を与える入力操作になる。
続いて、図9に示す状態において、オペレータがマウスポインタMを項目リスト上の「来客数」なる文字列の上へもってゆき、この位置でマウスボタンを押下するプレス操作を行ったとしよう。すると、図10に示すように、各グラフ提示領域A1〜A3に、再びドロップ窓D1〜D4が表示される(各ドロップ窓は、各グラフ提示領域にオーバラップして表示されるため、既に表示されていたグラフは、図示のとおり、一部分がドロップ窓の陰に隠れる)。
ここで、今度は、図11に示すように、「来客数」なる文字列に対して、ドロップ窓D2へのドラッグ&ドロップ操作を行ったとすると、当該操作は、第1のグラフ用項目選択部110に対して、「来客数」なる項目を折れ線グラフの表示対象項目として選択する指示を与える入力操作になる。したがって、オペレータがマウスボタンを放すドロップ操作を行うと、各ドロップ窓D1〜D4の表示は解除され、図12に示すように、第1のグラフ提示領域A1内の第1のグラフに折れ線グラフが追加される。
この図12に示す例では、棒グラフは「売上高」を示すグラフであり、折れ線グラフは「来客数」を示すグラフであるが、オペレータは、ドラッグ&ドロップ操作の対象となる項目を選択することにより、項目リストに表示されている5種類の項目のうちの任意の項目についてのグラフを棒グラフあるいは折れ線グラフとして表示させることができる。
また、ドラッグ&ドロップ操作による選択は、常に、後から行った選択が有効な選択として取り扱われるので、図12に示す状態において、更に、別な選択を行うことにより、棒グラフあるいは折れ線グラフの表示対象となる項目を変更することができる。たとえば、図12に示す状態において、「取引数」なる文字列をドロップ窓D1へドラッグ&ドロップする操作を行えば、棒グラフは「取引数」を示すグラフに変更される(グラフ左端の棒グラフ用項目表示も「売上高」から「取引数」に変更される)。
このように、オペレータは、項目名のドラッグ&ドロップ操作という直観的な操作により、適宜、棒グラフとして表示させるべき項目および折れ線グラフとして表示させるべき項目を選択することができる。
このようなドラッグ&ドロップ操作による項目選択を可能にするため、ここに示す実施例では、一覧リスト提示手段20に、一覧リスト上に表示されている任意の「項目を示す文字列」に対するオペレータのプレス操作を検知して、ディスプレイ画面上のグラフを表示する領域A1〜A3にドロップ窓D1〜D4を表示する機能部と、「項目を示す文字列」に対するオペレータのドラッグ操作を検知して「項目を示す文字列」をドラッグ操作に応じてディスプレイ画面上で移動表示させる機能部と、が設けられている。また、第1のグラフ用項目選択部110には、「項目を示す文字列」に対するオペレータのドロップ窓D1,D2内へのドロップ操作を検知して、ドロップされた「項目を示す文字列」に対応する項目を、当該ドロップ窓の位置する領域に表示すべきグラフ(第1のグラフ)についての選択項目として選択する機能が備わっている。
特に、ここに示す実施例では、第1のグラフ提示手段100が、第1のグラフとして、棒グラフと折れ線グラフとの2通りのグラフを提示する機能を有しているため、一覧リスト提示手段20は、一覧リスト上に表示されている任意の「項目を示す文字列」に対するオペレータのプレス操作を検知して、ディスプレイ画面上の第1のグラフ提示領域A1に棒グラフ用ドロップ窓D1と折れ線グラフ用ドロップ窓D2とを表示する機能部を有している。
また、第1のグラフ用項目選択部110は、「項目を示す文字列」に対するオペレータの棒グラフ用ドロップ窓D1内へのドロップ操作を検知して、ドロップされた「項目を示す文字列」に対応する項目を、棒グラフについての選択項目として選択する機能部と、「項目を示す文字列」に対するオペレータの折れ線グラフ用ドロップ窓D2内へのドロップ操作を検知して、ドロップされた「項目を示す文字列」に対応する項目を、折れ線グラフについての選択項目として選択する機能部と、が設けられている。
更に、第1のグラフ用データ集計部130は、データ格納手段10から、棒グラフについての選択項目を示す項目データと、集計期間設定部160によって設定された集計期間内の日時を示す日時データと、を含む単位レコードを抽出し、抽出した単位レコード内の個々の数値データを、集計単位設定部120によって設定された集計単位ごとに集計して棒グラフ用集計結果を算出するとともに、データ格納手段10から、折れ線グラフについての選択項目を示す項目データと、集計期間設定部160によって設定された集計期間内の日時を示す日時データと、を含む単位レコードを抽出し、抽出した単位レコード内の個々の数値データを、集計単位設定部120によって設定された集計単位ごとに集計して折れ線グラフ用集計結果を算出する処理を実行し、第1のグラフ作成部140は、棒グラフ用集計結果を示す棒グラフと折れ線用集計結果を示す折れ線グラフとを重畳することにより、第1のグラフを作成する処理を行うことになる。
ところで、上述したとおり、第1のグラフを作成するためには、項目を選択するとともに、所定の集計期間と所定の集計単位とを設定する必要がある(集計期間の具体的な設定操作は§4で説明し、集計単位の具体的な設定操作は§5で説明する)。上述したドラッグ&ドロップ操作では、項目を選択する指示入力しか行うことができないが、それでも図9や図12に示すようなグラフの表示が行われたのは、集計期間と集計単位については、オペレータによる設定がなされていない場合には、デフォルト値が自動的に設定される機能が備わっているためである。
たとえば、集計期間設定部160に、「現時点から半年前まで」をデフォルト値とし、オペレータからの指示入力がなければ、デフォルト値を集計期間の設定値として取り扱う、という設定を行っておけば、初期状態では、「現時点から半年前まで」の集計期間が自動的に設定されることになる。また、集計単位設定部120には、「月単位」をデフォルトの集計単位とする、という設定を行っておけば、集計単位を設定する指示入力を行わなくても、図9や図12に示す例のようなグラフ表示が自動的に行われることになる。
<<< §4.集計期間の設定操作 >>>
上述したとおり、ここに述べる実施例では、集計期間設定部160には、予めデフォルトの集計期間が設定されており、初期状態では、当該デフォルトの集計期間の設定に基づく集計が行われ、グラフ表示が行われる。ここでは、オペレータの指示入力により、任意の集計期間を設定する方法を述べる。
図13は、図12の第1のグラフ提示領域A1のみを抽出してその構成を示す平面図である。図示のとおり、この領域A1には、第1のグラフを含めて、いくつかの構成要素が表示されている。ここでは、これらの各構成要素についての説明を行う。
まず、集計期間表示窓101には、現在、集計期間設定部160に設定されている集計期間が表示される。図13には、「2006年4月〜2006年9月」という集計期間が設定されている例が示されている。切替ボタン102は、図示のとおり、「時/日/週/月」と記載された4つのボタンから構成されており、§5で述べる集計単位の設定操作に利用される構成要素である。第1のグラフ103は、既に述べたとおり、横方向に時間軸をとり、縦方向に数値軸をとった棒グラフと折れ線グラフである。また、グラフの左端にある棒グラフ用項目表示104は、現在表示されている棒グラフの項目名を示す表示であり、右端にある折れ線グラフ用項目表示105は、現在表示されている折れ線グラフの項目名を示す表示である。これらの表示は、選択項目が変更されるたびに変更されることになる。
グラフの下方に配置されている窓幅設定用バー106および窓幅指標107、ならびに窓位置移動第1ボタン108および第2ボタン109は、この§4で説明する集計期間の設定操作に利用される構成要素である。ここに示す実施例の場合、集計期間は、時間軸上に配置された切出窓Wによって切り出された期間として設定される。窓幅設定用バー106および窓幅指標107は、この切出窓Wの時間軸方向の幅を設定するための構成要素であり、窓位置移動第1ボタン108および第2ボタン109は、この切出窓Wを時間軸方向に移動させるための構成要素である。
図14は、集計期間を設定するために時間軸上に配置された切出窓Wの移動概念を示す図である。たとえば、図14(a) に示すように、時間軸tを定義し、この時間軸t上に、切出窓Wが配置されているものとする。切出窓Wの幅T1は時間軸t上における半年分に相当する長さになっている。この例では、切出窓Wの中心が2006年7月1日にくるように配置されているため、切出窓Wの左端位置に相当する集計開始点tsは2006年4月1日の位置、切出窓Wの右端位置に相当する集計終了点teは2006年10月1日の位置にきている。なお、この例では、各日付は、時間軸上において、当該日付の午前0時の点を示している。したがって、図14(a) に示す例の場合、集計開始点tsは2006年4月1日午前0時、集計終了点teは2006年10月1日午前0時(すなわち、2006年9月30日午後12時)ということになり、切出窓Wによって切り出される集計期間は、「2006年4月〜2006年9月」ということになる。図13に示すグラフは、このような集計期間が設定されている場合のグラフである。
「前へ」と記載されている窓位置移動第1ボタン108は、図14(b) に示すように、この切出窓Wの位置を時間軸上の過去方向に所定量(この例では、窓幅に等しい量)だけ移動させるためのボタンである。オペレータが、この窓位置移動第1ボタン108に対するクリック操作を行うと、切出窓Wは、図14(b) に示すように過去方向に移動するため、集計期間は「2005年10月〜2006年3月」に変更されることになる。その結果、第1のグラフは、図15に示すような内容に変更される。
一方、「次へ」と記載されている窓位置移動第2ボタン109は、図14(c) に示すように、切出窓Wの位置を時間軸上の未来方向に所定量(この例では、窓幅に等しい量)
だけ移動させるためのボタンである。オペレータが、この窓位置移動第2ボタン109に対するクリック操作を行うと、切出窓Wは、図14(c) に示すように未来方向に移動するため、集計期間は「2006年10月〜2007年3月」に変更されることになる。その結果、第1のグラフは、図16に示すような内容に変更される。
このような集計期間の設定操作を可能にするために、この実施例における集計期間設定部160には、時間軸t上に配置する切出窓Wの位置を設定する窓位置設定部と、切出窓Wの時間軸方向の幅T1を設定する窓幅設定部と、時間軸tから切出窓W内の連続区間を集計期間として切り出す切出処理部と、が設けられている。
特に、上述した例の場合、窓位置設定部は、第1のグラフ提示領域A1内に窓位置移動第1ボタン108と窓位置移動第2ボタン109とを表示させる機能部と、窓位置移動第1ボタン108に対するオペレータのクリック操作を検知して窓位置を時間軸t上の過去方向に所定量だけ移動させる機能部と、窓位置移動第2ボタン109に対するオペレータのクリック操作を検知して窓位置を時間軸t上の未来方向に所定量だけ移動させる機能部と、を備えている。
窓位置設定部をこのような構成にしておけば、図13に示す状態において、オペレータが、窓位置移動第1ボタン108をクリックする操作を行うだけで、集計期間を半年前に更新することができ、図15に示すグラフを得ることができる。同様に、図13に示す状態において、オペレータが、窓位置移動第2ボタン109をクリックする操作を行うだけで、集計期間を半年後に更新することができ、図16に示すグラフを得ることができる。もちろん、このようにグラフが更新されるのは、第1のグラフ用データ集計部130が、新たに設定された集計期間について、直ちに集計処理をやり直す処理を行い、第1のグラフ作成部140によって、新たな集計結果に基づくグラフが作成されるためである。
ここに示す実施例では、切出窓Wを移動させるための別な操作方法も用意されている。すなわち、図13に示す状態において、オペレータがマウスポインタMを、第1のグラフ103の上へ移動させると、図17に示すように、マウスポインタHが、通常の矢印から掌の形に変化する。このようにマウスポインタHが掌の形に変化した状態で、マウスボタンを押下してドラッグ操作を開始すると、掌の形は拳の形に変化し、ドラッグ操作に追従して、グラフが左右に移動するようになる。
たとえば、図の左方向にドラッグを行うと、グラフは左側部分から順次隠れてゆき、右側部分に新たなグラフが現れることになる。これは、切出窓Wを時間軸t上で未来方向に移動させる操作に対応する。逆に、図の右方向にドラッグを行うと、グラフは右側部分から順次隠れてゆき、左側部分に新たなグラフが現れることになる。これは、切出窓Wを時間軸t上で過去方向に移動させる操作に対応する。このようなドラッグ操作は、オペレータから見れば、あたかも現在表示されているグラフを手でつかんで、左右に動かす操作に見え、極めて直観的な集計期間の変更操作になる。
このような直観的な操作を可能にするためには、窓位置設定部に、第1のグラフに対するディスプレイ画面上でのオペレータのドラッグ操作を検知して、切出窓Wの窓位置を、時間軸t上のドラッグ操作の方向とは逆の方向に、ドラッグ操作の操作量だけ移動させる機能部を設けておけばよい。
続いて、図18を参照しながら、切出窓Wの時間軸方向の幅を変更する操作を説明する。図18(a) に示す例では、切出窓Wの幅T1は、時間軸t上における半年分に相当する長さになっている。これに対して、図18(b) に示す例では、切出窓Wの幅T2は、時間軸t上における1年分に相当する長さになっており、図18(c) に示す例では、切出窓Wの幅T3は、時間軸t上における4ヶ月分に相当する長さになっている。このように、切出窓Wの幅を変更することによって、集計期間を変更することが可能である。
具体的には、図18(a) に示すように、切出窓Wの幅を半年分に相当するT1に設定すると、集計期間は「2006年4月〜2006年9月」という半年間になるが、図18(b) に示すように、切出窓Wの幅を1年分に相当するT2に設定すると、集計期間は「2006年1月〜2006年12月」という1年間になり、図18(c) に示すように、切出窓Wの幅を4ヶ月分に相当するT3に設定すると、集計期間は「2006年5月〜2006年8月」という4ヶ月間になる。
図13において、グラフの下方に配置されている窓幅設定用バー106および窓幅指標107は、切出窓Wの時間軸方向の幅を設定するための構成要素である。すなわち、オペレータは、マウスポインタMを用いて、窓幅指標107を窓幅設定用バー106に沿って左右にドラッグしてスライドさせることにより、切出窓Wの窓幅を増減させることができる。具体的には、窓幅指標107を図の右方向へスライドさせると、図18(b) に示すように、窓幅を増加させることができ、窓幅指標107を図の左方向へスライドさせると、図18(c) に示すように、窓幅を減少させることができる。図示の例では、窓幅設定用バー106に、「半年、1年、1年半、2年」という指標が示されており、窓幅指標107をどの位置までスライドすると、どの程度の窓幅が設定できるかが認識できるようになっている。
図19は、窓幅指標107を窓幅設定用バー106上の「1年」の指標位置までスライドさせ、切出窓Wの窓幅を図18(b) に示すように設定したときに表示される第1のグラフを示す平面図である。図示のとおり、集計期間は「2006年1月〜2006年12月」という1年間になり、12ヶ月分の棒グラフおよび折れ線グラフが表示されている。同様に、図20は、窓幅指標107を窓幅設定用バー106上の「4ヶ月」の指標位置までスライドさせ、切出窓Wの窓幅を図18(c) に示すように設定したときに表示される第1のグラフを示す平面図である。図示のとおり、集計期間は「2006年5月〜2006年8月」という4ヶ月間になり、4ヶ月分の棒グラフおよび折れ線グラフが表示されている。
このような切出窓Wの窓幅設定操作を可能にするためには、集計期間設定部160内の窓幅設定部に、第1のグラフ提示領域A1内に窓幅設定用バー106を表示させる機能部と、この窓幅設定用バー106の所定位置を示す窓幅指標107を表示させる機能部と、この窓幅指標107を窓幅設定用バー106に沿って所定方向に移動させるオペレータの指示操作を検知して窓幅指標107をスライドさせる機能部と、窓幅指標107の窓幅設定用バー106上の位置に基づいて切出窓Wの時間軸t方向の幅を設定する機能部と、を設けておけばよい。
なお、集計期間を半年に設定した場合の図13に示すグラフと、集計期間を1年に設定した場合の図19に示すグラフと、集計期間を4ヶ月に設定した場合の図20に示すグラフとを比べると、棒グラフを構成する個々の棒の幅が異なっているが、これは第1のグラフ作成部140が、表示すべき棒の本数に応じて、最適な棒幅を自動設定する機能を有しているためである。このようなグラフ作成機能は既に公知の技術であるため、ここでは詳しい説明は省略する。
<<< §5.集計単位の設定操作 >>>
前述したとおり、ここに述べる実施例では、集計単位設定部120には、予めデフォルトの集計単位(例えば、「月単位」)が設定されており、初期状態では、当該デフォルトの集計単位の設定に基づく集計が行われ、グラフ表示が行われる。ここでは、オペレータの指示入力により、任意の集計単位を設定する方法を述べる。
図13に示す切替ボタン102は、この集計単位の設定操作に利用されるボタンであり、図示のとおり、「時/日/週/月」と記載された4つのボタンから構成されている。ここで、「月」と記載されたボタンにはハッチングが施されているが、これは、現在の集計単位の設定が「月単位」であることを示している。
§2で述べたとおり、本発明における「集計単位」とは、1つのグラフ構成要素(たとえば、棒グラフの場合は1本の棒、折れ線グラフの場合は1点のプロット)によって表現される数値を求めるための時間軸上の区間を意味する。したがって、「集計単位」を「月単位」に設定した場合、棒グラフの個々の構成要素(1本1本の棒)や折れ線グラフの個々の構成要素(折れ線によって結ばれた個々の点)は、それぞれ特定の月に対応した集計結果を示すものになる。
たとえば、図4に示す例のように、1日ごとの単位レコードが用意されている場合、第1のグラフ上では、1ヶ月を構成する約30日分の単位レコード内の数値データを集計した結果が、当該月の集計結果として、1本の棒や1個の点として表現されることになる。これまで図示してきた例は、いずれも「集計単位」を「月単位」に設定した場合の例である。したがって、図19に示す例も、図20に示す例も、1本の棒や1個の点が1ヶ月の集計結果に対応している。
図21は、集計期間を「2006年5月〜2006年8月」という4ヶ月の期間に設定し、集計単位を「月単位」に設定した場合の集計処理の概念を示す図である。前述したとおり、第1のグラフ用データ集計部130は、データ格納手段10から、選択項目を示す項目データと、集計期間内の日時を示す日時データと、を含む単位レコードを抽出し、抽出した単位レコード内の個々の数値データを、集計単位設定部120によって設定された集計単位ごとに集計する処理を行う。
したがって、図21に示す例の場合、データ格納手段10から、選択項目を示す項目データ(たとえば、「売上高」)と、「2006年5月〜2006年8月」という4ヶ月の期間内の日時を示す日時データと、を含む単位レコードがすべて抽出される。そして、この抽出した単位レコード内の個々の数値データを、月単位で集計する処理が行われる。具体的には、「2006年5月1日〜2006年5月31日」という期間内の日時を示す日時データを含む単位レコード内の数値データの合計が、5月分の集計値として算出される。同様に、6月分、7月分、8月分の集計値も算出される。
こうして、第1のグラフ用データ集計部130によって、4ヶ月分の月単位の集計値が算出されたら、第1のグラフ作成部140によって、個々の集計値を各月に対応する棒の長さとする棒グラフが作成され、個々の集計値を各月に対応する点のプロット位置とする折れ線グラフが作成されることになる。図20に示すグラフは、このようにして作成されたグラフである。
それでは、集計単位を「週単位」に変更した場合はどうであろうか。図22は、集計期間は図21と同じ「2006年5月〜2006年8月」という4ヶ月の期間であるが、集計単位を「週単位」に設定した場合の集計処理の概念を示す図である。この場合、第1のグラフ用データ集計部130が、データ格納手段10から、選択項目を示す項目データ(たとえば、「売上高」)と、「2006年5月〜2006年8月」という4ヶ月の期間内の日時を示す日時データと、を含む単位レコードを抽出する点は図21の場合と同じであるが、この抽出した単位レコード内の個々の数値データを、週単位で集計する処理を行うことになる。
具体的には、「2006年5月1日〜2006年5月7日」という期間内の日時を示す日時データを含む単位レコード内の数値データの合計が、5月第1週分の集計値として算出され、「2006年5月8日〜2006年5月14日」という期間内の日時を示す日時データを含む単位レコード内の数値データの合計が、5月第2週分の集計値として算出され、「2006年5月15日〜2006年5月21日」という期間内の日時を示す日時データを含む単位レコード内の数値データの合計が、5月第3週分の集計値として算出され、...といった集計処理が行われる。
こうして、第1のグラフ用データ集計部130によって、4ヶ月分の週単位の集計値が算出されたら、第1のグラフ作成部140によって、個々の集計値を各週に対応する棒の長さとする棒グラフが作成され、個々の集計値を各週に対応する点のプロット位置とする折れ線グラフが作成されることになる。
図23に示すグラフは、このように集計単位を「週単位」に設定した場合に作成されたグラフである。図20に示すグラフも図23に示すグラフも、集計期間は同じ「2006年5月〜2006年8月」という4ヶ月の期間であり、時間軸上に表示されている期間は同じである。ただ、図20に示すグラフが、「月単位」の集計結果を示すものであるため、棒グラフの個々の棒や折れ線グラフの個々の点は特定の月に対応したものになっているのに対して、図23に示すグラフは、「週単位」の集計結果を示すものであるため、棒グラフの個々の棒や折れ線グラフの個々の点は特定の週に対応したものになっている。
図24に示すグラフは、集計単位を「日単位」に設定した場合に作成されたグラフである。この図24に示すグラフも図23に示すグラフと同様に、集計期間は同じ「2006年5月〜2006年8月」という4ヶ月の期間であり、時間軸上に表示されている期間は同じである。ただ、図24に示すグラフは、「日単位」の集計結果を示すものであるため、棒グラフの個々の棒や折れ線グラフの個々の点は特定の日に対応したものになっている(図を描画する上での制約から、棒グラフを構成する個々の線は、厳密には個々の日には正確に対応していない)。
なお、図4に示す例のように、もともと1日ごとの単位レコードが用意されている場合に、集計単位を「日単位」に設定すると、第1のグラフ用データ集計部130によって行われる集計処理は、合計を求める演算ではなく、個々の日付に対応する単位レコードから数値データを抽出するだけの処理で済むが、たとえば、時間ごとの単位レコードが用意されている場合は、24時間分の単位レコードに含まれている数値データを合計する処理が必要になる。
ここに示す実施例の場合、オペレータは、切替ボタン102を利用して、任意の集計単位を設定することができる。すなわち、オペレータは、「時/日/週/月」と記載された4つのボタンのうちの任意のボタンをクリックすることにより、集計単位を「時単位/日単位/週単位/月単位」に設定することができる。結局、「月」と記載されたボタンをクリックすれば、「月単位」の集計結果を示す図20のグラフが得られ、「週」と記載されたボタンをクリックすれば、「週単位」の集計結果を示す図23のグラフが得られ、「日」と記載されたボタンをクリックすれば、「日単位」の集計結果を示す図24のグラフが得られることになる。
なお、図4に示す例のように、もともと1日ごとの単位レコードが用意されている場合には、集計単位を「時単位」に設定することはできないが、時間ごとの単位レコードが用意されている場合は、「時」と記載されたボタンをクリックすることにより、「時単位」の集計結果を示すグラフが得られることになる。もちろん、実用上は、集計期間が4ヶ月に設定されている場合に、「時単位」の集計結果を示すグラフを表示させたとしても、時間ごとに比較が可能なほどの解像度をもった表示は非常に困難であるから、この場合は、集計期間を1日程度に設定しなおす必要があろう。
このように、オペレータは、切替ボタン102に対するクリックという単純な操作を行うだけで、所望の集計単位を設定することができる。しかも、現在設定されている集計単位に対応するボタンの表示態様は、他の切替ボタンの表示態様とは異なる態様になるので、切替ボタン102の表示態様を見ることにより、現在の集計単位を直ちに把握することができる。たとえば、図20では「月」ボタンがハッチングされ、図23では「週」ボタンがハッチングされ、図24では「日」ボタンがハッチングされているが、これらハッチング表示されたボタンは、他のボタンとは異なる態様で表示されている(たとえば、色を変えるとか、輝度を変えるとか、点滅させるとか、様々な方法で表示態様を変えることが可能である)。
以上述べたように、ボタンのクリック操作によって集計単位の設定を行えるようにするには、集計単位設定部120に、第1のグラフ提示領域A1内に、それぞれ異なる集計単位を示す複数通りの切替ボタン102を表示させる機能部と、いずれかの切替ボタンに対するオペレータのクリック操作を検知してクリック操作が行われた切替ボタンの示す集計単位を設定対象となる集計単位と認識する機能部と、クリック操作が行われた切替ボタンの表示態様を他の切替ボタンの表示態様とは異なる態様にする機能部と、を設けておくようにすればよい。
図示の例の場合、「時単位」,「日単位」,「週単位」,「月単位」の4通りの集計単位を示す切替ボタンを表示させ、これら4通りの集計単位のいずれか1つを設定する機能が設けられている。もちろん、取り扱う数値データによっては、「分単位」,「秒単位」,「年単位」という集計単位を設定できるようにしてもよい。
<<< §6.第2および第3のグラフの表示操作 >>>
これまで、第1のグラフ提示手段100によって第1のグラフを提示する場合のオペレータから見た操作を説明した。ここでは、第2のグラフ提示手段200によって第2のグラフを提示する場合の操作および第3のグラフ提示手段300によって第3のグラフを提示する場合の操作を述べる。
既に§2で説明したとおり、第2のグラフ提示手段200と第3のグラフ提示手段300とは、基本的には同じ機能をもっている。また、これまで説明してきた第1のグラフと、ここで説明する第2および第3のグラフとを比較すると、前者は時間軸をグラフの1軸とし、数値データの集計値を時間軸に沿って比較することを目的としたグラフであるのに対して、後者は任意のカテゴリについての属性ごとの集計値を比較することを目的としたグラフである点が相違する。
そのため、第1のグラフを表示させる上では、集計期間の設定と集計単位の設定が必要になるが、第2のグラフや第3のグラフを表示させる上では、これらの設定は不要である(集計期間は第1のグラフの集計期間をそのまま流用することになり、集計単位はグラフ表示に全く不要な要素である)。その代わり、第2のグラフや第3のグラフを表示させるためには、カテゴリの選択が必要になる。
結局、第2のグラフや第3のグラフを表示させるには、項目の選択、カテゴリの選択、集計期間の設定が必要になるが、既に第1のグラフが表示されていれば(あるいは、集計期間設定部160にデフォルトの集計期間が設定されていれば)、項目とカテゴリとを選択する操作を行うことにより、第2のグラフや第3のグラフを表示させることができる。ここでは、図12に示すように、既に第1のグラフが表示されている状態において、第2のグラフおよび第3のグラフを表示させるためのオペレータの操作を以下に説明する。
まず、図12に示す状態において、オペレータがマウスポインタMを項目リスト上の「売上高」なる文字列の上へもってゆき、この位置でマウスボタンを押下するプレス操作を行った場合を考える。
既に述べたとおり、一覧リスト提示手段20には、一覧リスト上に表示されている任意の「項目を示す文字列」に対するオペレータのプレス操作を検知して、ディスプレイ画面上のグラフを表示する領域A1〜A3にドロップ窓D1〜D4を表示する機能部と、「項目を示す文字列」に対するオペレータのドラッグ操作を検知して「項目を示す文字列」をドラッグ操作に応じてディスプレイ画面上で移動表示させる機能部と、が設けられている。
したがって、オペレータが「売上高」なる文字列に対するプレス操作を行うと、図12の画面上にドロップ窓D1〜D4が表示され、オペレータは、「売上高」なる文字列を任意の位置へとドラッグする操作を行うことができる。そこで、図25に示すように、オペレータが、「売上高」なる文字列を第2のグラフ提示領域A2内に表示されたドロップ窓D3までドラッグした後、マウスボタンを放すドロップ操作を行ったとしよう。すると、各ドロップ窓D1〜D4の表示は解除され、図26に示すように、第2のグラフ提示領域A2内に第2のグラフが表示される。
これは、「売上高」なる文字列に対して、ドロップ窓D3へのドラッグ&ドロップ操作を行うことにより、第2のグラフ用項目選択部210に対して、「売上高」なる項目を選択する指示が与えられたためである。第2のグラフ用項目選択部210には、「項目を示す文字列」に対するオペレータのドロップ窓D3内へのドロップ操作を検知して、ドロップされた「項目を示す文字列」に対応する項目を、当該ドロップ窓の位置する領域に表示すべきグラフ(第2のグラフ)についての選択項目として選択する機能が備わっている。この機能により、上述の操作を行うと、「売上高」が選択項目として選択されることになる。
なお、この時点では、オペレータはまだカテゴリの選択操作を行っていない。それにもかかわらず、図26の第2のグラフ提示領域A2に「年代別売上高」の円グラフが表示されているのは、本実施例の場合、第2のグラフ用カテゴリ選択部220内に、「カテゴリリストの一番上に表示されているカテゴリをデフォルトとする」という設定がなされているためである。したがって、オペレータが第2のグラフについてのカテゴリ選択操作を行っていない場合、「年代」カテゴリが自動的に選択されることになる。
かくして、図26に示すような「年代別売上高」の円グラフが第2のグラフとして表示されることになる。この円グラフは、第1のグラフ上で設定されている集計期間と同一の「2006年4月〜2006年9月」という集計期間内の「売上高」についての数値データを、「10代/20代/30代/40代/50代以上」という属性(「年代」カテゴリについての属性)ごとに集計した結果を示すものである。
続いて、図26に示す状態において、更に第3のグラフを表示するために、オペレータがマウスポインタMを項目リスト上の「来客数」なる文字列の上へもってゆき、この位置でマウスボタンを押下するプレス操作を行ったとしよう。すると、図27に示すように、一覧リスト提示手段20の機能により、ドロップ窓D1〜D4が再び表示される。ここで、オペレータが、図示のとおり、「来客数」なる文字列を第3のグラフ提示領域A3内に表示されたドロップ窓D4までドラッグした後、ドロップ操作を行うと、各ドロップ窓D1〜D4の表示は解除され、図28に示すように、第3のグラフ提示領域A3内に第3のグラフが表示される。
これは、「来客数」なる文字列に対して、ドロップ窓D4へのドラッグ&ドロップ操作を行うことにより、第3のグラフ用項目選択部310に対して、「来客数」なる項目を選択する指示が与えられたためである。第3のグラフ用項目選択部310には、「項目を示す文字列」に対するオペレータのドロップ窓D4内へのドロップ操作を検知して、ドロップされた「項目を示す文字列」に対応する項目を、当該ドロップ窓の位置する領域に表示すべきグラフ(第3のグラフ)についての選択項目として選択する機能が備わっている。この機能により、上述の操作を行うと、「来客数」が選択項目として選択されることになる。
この時点では、オペレータはまだ第3のグラフについてのカテゴリの選択操作を行っていないが、第3のグラフ用カテゴリ選択部320内にも、「カテゴリリストの一番上に表示されているカテゴリをデフォルトとする」という設定がなされているため、オペレータが第3のグラフについてのカテゴリ選択操作を行っていない場合、「年代」カテゴリが自動的に選択されることになる。
かくして、図28に示すような「年代別来客数」の棒グラフが第3のグラフとして表示されることになる。この棒グラフは、第1のグラフ上で設定されている集計期間と同一の「2006年4月〜2006年9月」という集計期間内の「来客数」についての数値データを、「10代/20代/30代/40代/50代以上」という属性(「年代」カテゴリについての属性)ごとに集計した結果を示すものである。
既に述べたとおり、本実施例の場合、ドラッグ&ドロップ操作による選択は、常に、後から行った選択が有効な選択として取り扱われるので、図28に示す状態において、更に、別な選択を行うことにより、第1のグラフ、第2のグラフあるいは第3のグラフの表示対象となる項目を変更することができる。たとえば、図28に示す状態において、「取引数」なる文字列をドロップ窓D3へドラッグ&ドロップする操作を行えば、第2のグラフは「取引数」についての集計結果を示すグラフに変更される(グラフの表題も「年代別売上高」から「年代別取引数」に変更される)。
続いて、第2のグラフおよび第3のグラフについてのカテゴリ選択操作を説明する。ここに示す実施例では、一覧リスト提示手段20に、一覧リスト上に表示されている任意の「カテゴリを示す文字列」に対するオペレータのプレス操作を検知して、ディスプレイ画面上の第2のグラフ提示領域A2および第3のグラフ提示領域A3に、それぞれドロップ窓D5,D6を表示する機能部と、「カテゴリを示す文字列」に対するオペレータのドラッグ操作を検知して「カテゴリを示す文字列」をドラッグ操作に応じてディスプレイ画面上で移動表示させる機能部と、が備わっている。
また、第2のグラフ用カテゴリ選択部220および第3のグラフ用カテゴリ選択部320には、ドラッグされた「カテゴリを示す文字列」に対するオペレータのドロップ窓D5,D6内へのドロップ操作を検知して、当該「カテゴリを示す文字列」に対応するカテゴリを、ドロップ窓D5,D6の位置する領域に表示すべきグラフ(第2のグラフまたは第3のグラフ)についての選択カテゴリとして選択する機能が備わっている。したがって、第2のグラフおよび第3のグラフのカテゴリ選択も、ドラッグ&ドロップ操作で行うことが可能である。
たとえば、図28に示す状態において、オペレータがマウスポインタMをカテゴリリスト上の「性別」なる文字列の上へもってゆき、この位置でマウスボタンを押下するプレス操作を行ったとしよう。すると、図29に示すように、一覧リスト提示手段20の機能により、ドロップ窓D5,D6が表示される。この場合、第1のグラフ提示領域A1にドロップ窓が表示されないのは、第1のグラフを表示するには、カテゴリの選択が必要とされないためである。
続いて、オペレータが、図30に示すとおり、「性別」なる文字列を第3のグラフ提示領域A3内に表示されたドロップ窓D6までドラッグした後、ドロップ操作を行うと、各ドロップ窓D5,D6の表示は解除され、図31に示すように、第3のグラフが「性別別来客数」を示すグラフに変更される。これは、「性別」なる文字列に対して、ドロップ窓D6へのドラッグ&ドロップ操作を行うことにより、第3のグラフ用カテゴリ選択部320に対して、「性別」なるカテゴリを選択する指示が与えられたためである。
図31に示す第3のグラフは、第1のグラフ上で設定されている集計期間と同一の「2006年4月〜2006年9月」という集計期間内の「来客数」についての数値データを、「男性/女性/不明」という属性(「性別」カテゴリについての属性)ごとに集計した結果を示すものである。なお、この図31の例では、第3のグラフ提示領域A3内に、「全年代」なる文字を含む属性表示窓301が表示されているが、この意味については、§7で説明する。
もちろん、ドラッグ&ドロップ操作による選択は、常に、後から行った選択が有効な選択として取り扱われるので、図31に示す状態において、今度は、カテゴリリスト内の「店舗」なる文字列を第3のグラフ提示領域A3内に表示されたドロップ窓D6までドラッグした後、ドロップ操作を行うと、図32に示すように、第3のグラフが「店舗別来客数」を示すグラフに変更されることになる。このグラフは、第1のグラフ上で設定されている集計期間と同一の「2006年4月〜2006年9月」という集計期間内の「来客数」についての数値データを、「新宿店/渋谷店/銀座店/上野店」という属性(「店舗」カテゴリについての属性)ごとに集計した結果を示すものである。
以上、第3のグラフについてのカテゴリ選択操作を実例に即して説明したが、第2のグラフについてのカテゴリ選択操作も全く同様である。第2のグラフ用カテゴリ選択部220には、「カテゴリを示す文字列」に対するオペレータのドロップ窓D5内へのドロップ操作を検知して、ドロップされた「カテゴリを示す文字列」に対応するカテゴリを、当該ドロップ窓D5の位置する領域に表示すべきグラフ(第2のグラフ)についての選択カテゴリとして選択する機能が備わっているので、たとえば、図30に示す状態において、「性別」なる文字列を第2のグラフ提示領域A2内に表示されたドロップ窓D5内へドロップすれば、第2のグラフが「性別別売上高」を示すグラフに変更されることになる。
このように、オペレータは、項目リストやカテゴリリストの中から、所望の項目や所望のカテゴリを選択し、第2のグラフ提示領域A2内のドロップ窓や第3のグラフ提示領域A3内のドロップ窓へドラッグ&ドロップ操作することにより、第2のグラフや第3のグラフの表示内容を適宜変更することができる。第2のグラフ用データ集計部230や第3のグラフ用データ集計部330は、項目選択やカテゴリ選択に変更が生じると、直ちに集計作業をやり直し、新たな集計結果を示すグラフが、第2のグラフ作成部240や第3のグラフ作成部340によって作成され、ディスプレイ画面上に直ちに表示される。したがって、オペレータから見れば、ドラッグ&ドロップ操作を行うたびに、ディスプレイ画面上のグラフが更新されることになる。
<<< §7.第3のグラフの属性限定操作 >>>
ここに示す実施例では、第2のグラフ提示手段200は円グラフ、第3のグラフ提示手段300は棒グラフを表示する機能をもっており、両者はグラフの表示形態において異なっている。ただ、いずれも集計期間内の選択された項目についての数値データを、選択されたカテゴリについての属性ごとに集計した結果をグラフとして表示する、という機能をもった構成要素であり、本質的な機能は共通する。このため、図5に示す第2のグラフ提示手段200のブロック構成と、第3のグラフ提示手段300のブロック構成とは、ほとんどが同じである。
ただ、図5に示すとおり、第2のグラフ提示手段200には、属性選択部260が設けられており、第3のグラフ用データ集計部330は、この属性選択部260によって属性選択が行われているときにだけ、属性を限定した集計を行う機能を有している。この機能は、いわば第2のグラフと第3のグラフとを連携させる動作であり、オペレータがグラフを用いて数値データの解析を行う上で、大きな助けとなる。以下、この機能についての説明を行う。
第2のグラフ提示手段200内に設けられた属性選択部260は、第2のグラフ用カテゴリ選択部220によって選択された選択カテゴリについての属性の中から、オペレータの指示入力に基づいて、特定の属性を選択したり、当該選択を解除したりする機能を果たす。第2のグラフは、数値データを、第2のグラフ用カテゴリ選択部220によって選択された選択カテゴリについての属性ごとに集計した結果を示すグラフであるから、結局、属性選択部260は、第2のグラフを構成する特定の部分(特定の属性についての集計結果を示す部分)を選択する機能を果たすことになる。
たとえば、図33に示すように、オペレータがマウスポインタMを、第2のグラフを構成する円グラフの「20代」と表示された扇形部分に移動させ、この位置でクリック操作を行ったとすると、当該クリック操作により、「20代」という特定の属性を選択することができる。ここに示す実施例に係る属性選択部260は、このように、第2のグラフ(図示の例では円グラフであるが、棒グラフ等であってもよい)上の特定部分に対するクリック操作を、当該特定部分に関連した属性の選択操作として認識する機能を有している。また、特定の属性が選択された場合、選択された属性に関連した第2のグラフの特定部分を、他の部分とは異なる態様で提示するとともに、属性選択を解除するための「属性選択解除ボタン」を表示する機能も有している。
具体的には、マウスポインタMを図33に示す位置に移動させた状態でクリック操作を行うと、第2のグラフ提示領域A2内の表示は、図34のように変更される。すなわち、円グラフの「20代」を示す扇形部分が、いわば「ピザパイの一部をナイフで切り取ったように」、円グラフの他の部分とは若干分離して表示されている。これは、現在「20代」という属性が選択されていることを示している。もちろん、選択された属性に関連した特定部分の表示態様を変える方法は、このような方法に限定されるものではなく、たとえば、色を変えるとか、輝度を変えるとか、点滅させるとか、様々な方法で表示態様を変えることが可能である。
また、属性選択が行われている状態では、図示のとおり、属性選択解除ボタン201が表示されている。ここで、オペレータが、この属性選択解除ボタン201をクリックすると、属性選択は解除され、画面表示は図33に示す状態に戻ることになる。このように、オペレータは、クリック操作を行うだけで、第2のグラフに示されている所望の属性を選択したり、当該選択を解除したりすることができる。
第2のグラフ提示領域A2内における、このような属性選択や選択解除の操作は、第2のグラフ自身の表示内容を変えることを目的とするものではなく、その隣に表示されている第3のグラフの表示内容を変えることを目的とするものである。図33と図34とを比較すると、たしかに第2のグラフ提示領域A2内の表示内容が変化しているが、第3のグラフ提示領域A3内の表示内容も同時に変化している(第3のグラフを構成する個々の棒の長さに注目)。また、第3のグラフ提示領域A3内の属性表示窓301の表示内容も変化している。
これは、図34に示すように、「20代」という属性選択が行われている場合、第3のグラフは、「20代」という属性に限定した集計結果を示すものになるためである。ここに示す実施例では、各グラフ作成部140,240,340は、集計結果をスケーリングして、棒グラフを構成する各棒の長さなどが最適になるように自動調整する機能を有しているため、図33に示す第3のグラフと図34に示す第3のグラフとを比較すると、ほとんど差がないように見えるが、実は、両者ではスケーリングファクター(棒グラフの横軸目盛り)が大きく異なっている。
たとえば、新宿店の来客数を示す棒の長さは、両者で差がないが、図33に示す新宿店の棒は、全年代の合計(性別についても、すべての合計)を示すものであるのに対して、図34に示す新宿店の棒は、20代の合計(性別については、すべての合計)を示すものになっている。したがって、各棒によって示されている実際の来客数は、両者では大きく異なっている。
もっとも、第2のグラフや第3のグラフの役割は、ある数値データを、特定のカテゴリの属性ごとに集計した結果を、属性ごとに比較できるように表示すること、であるので、属性ごとに比較ができれば、その役割を十分に果たすことができる。そのような観点から、図33に示す第3のグラフと図34に示す第3のグラフとを比較してみると、「全年代」で分析すると、新宿店の来客数が最多であり、上野店がこれに次いでいることが認識できるが、「20代」の顧客に限定して分析すると、渋谷店の来客数が新宿店の来客数に拮抗しており、上野店の来客数ははるかに及ばないという事実が認識できる。
もちろん、オペレータが「30代」の顧客に限定した分析を行いたいのであれば、図33に示す状態において、円グラフの「30代」の部分をクリックして、「30代」という属性選択を行えばよい。属性選択部260に対して行われた属性選択の結果は、直ちに第3のグラフ用データ集計部330へと伝達され、ここで集計作業のやり直しが行われ、第3のグラフ作成部340によって、新たな第3のグラフが作成されて表示されることになる。
第3のグラフが、何らかの属性に限定した集計結果を示しているのか否かは、属性表示窓301の内容によって確認することができる。すなわち、図33における属性表示窓301には、「全年代」なる表示がなされているが、これは第2のグラフについての現在の選択カテゴリが「年代」であり、この「年代」に関して特定の属性選択が行われていない状態であることを示すものである。したがって、オペレータは、この「全年代」なる表示を見て、第3のグラフが「全年代」についての集計結果を示していることを認識できる。
これに対して、図34における属性表示窓301には、「20代」なる表示がなされているが、これは第2のグラフについての現在の選択カテゴリが「年代」であり、この「年代」に関して「20代」という特定の属性選択が行われている状態であることを示すものである。したがって、オペレータは、この「20代」なる表示を見て、第3のグラフが「20代」という属性に限定した集計結果を示していることを認識できる。もちろん、属性選択解除ボタン201をクリックして属性選択を解除すると、図33に示す状態に戻り、属性表示窓301の表示も「全年代」に戻る。
なお、第2のグラフについての選択カテゴリが、「性別」であった場合、属性選択が行われていない状態での属性表示窓301の表示は「全性別」になり、第2のグラフについての選択カテゴリが、「店舗」であった場合、属性選択が行われていない状態での属性表示窓301の表示は「全店舗」になる。
結局、第3のグラフ用データ集計部330は、データ格納手段10から所定の条件を満たす単位レコードを抽出し、抽出した単位レコード内の個々の数値データを集計するという基本機能を有しているが、その具体的な処理内容は、属性選択部260による属性選択が行われているか否かによって異なる。
まず、属性選択部260による属性選択が行われていないとき(属性選択が解除された場合も含む)には、既に§6で述べたとおり、第2のグラフ用データ集計部230と同等の処理を実行する。すなわち、データ格納手段10から、第3のグラフ用項目選択部310によって選択された選択項目を示す項目データと、集計期間設定部160によって設定された集計期間内の日時を示す日時データと、を含む単位レコードを抽出し、抽出した単位レコード内の個々の数値データを、第3のグラフ用カテゴリ選択部320によって選択された選択カテゴリについての各属性を示す属性データが同一となるグループ単位で集計する処理を行う。
これに対して、属性選択部による属性選択が行われているときには、データ格納手段10から、第3のグラフ用項目選択部310によって選択された選択項目を示す項目データと、集計期間設定部160によって設定された集計期間内の日時を示す日時データと、属性選択部260によって選択された属性を示す属性データと、を含む単位レコードを抽出し、抽出した単位レコード内の個々の数値データを、第3のグラフ用カテゴリ選択部320によって選択された選択カテゴリについての各属性を示す属性データが同一となるグループ単位で集計する処理を行う。
なお、属性選択部260による属性選択の機能は、第2のグラフについての選択カテゴリと第3のグラフについての選択カテゴリとが異なっていないと意味がない。たとえば、図34に示す例では、第2のグラフについての選択カテゴリが「年代」であり、第3のグラフについての選択カテゴリが「店舗」であるため、「年代」カテゴリの中から「20代」という属性選択を行い、第3のグラフとして「20代」という属性に限定した店舗別集計値を表示させることに意味が出てくる。これに対して、たとえば、図28に示す例では、第2のグラフについての選択カテゴリが「年代」であり、第3のグラフについての選択カテゴリも「年代」であるため、第2のグラフ上で「20代」という属性選択を行い、第3のグラフとして「20代」という属性に限定した集計値を表示させたとすると、第3のグラフは「20代」の棒のみからなるグラフになってしまうので意味がない。
したがって、ここに示す実施例の場合、属性選択部260は、第2のグラフについての選択カテゴリと第3のグラフについての選択カテゴリとが異なっている場合に限って機能するようにしてある。よって、図28に示す状態では、第2のグラフの「20代」の部分をクリックしても、属性選択は行われない。この図28に示す例において、第3のグラフ提示領域A3内に属性表示窓301が表示されていないのは、属性選択部260が機能していないためである。
<<< §8.仮集計期間の設定操作 >>>
集計期間設定部160に対して、任意の集計期間を設定するための具体的な操作は、既に§4において述べたとおりである。そして、ここで設定された集計期間は、第1のグラフに反映されるだけでなく、第2のグラフおよび第3のグラフにも反映されることも、既に説明した。ここに示す実施例には、§4で述べた操作で設定される集計期間とは別個に、仮集計期間を設定する機能が備わっている。以下、この機能について説明する。
ここで述べる仮集計期間は、第2のグラフおよび第3のグラフについて有効な一時的な集計期間である。したがって、この仮集計期間の設定を行っても、第1のグラフの表示内容には、実質的な変化は生じない(後述するように、第1のグラフについては、仮集計期間を示すための表示態様の変位は生じる)。
いま、図35に示すような表示状態が得られている場合を考える。この場合の集計期間は、「2006年4月〜2006年9月」であり、当該集計期間は、第1のグラフ、第2のグラフ、第3のグラフについて共通である。したがって、第2のグラフとして示されている年代別売上高や、第3のグラフとして示されている店舗別来客数は、いずれも「2006年4月〜2006年9月」という6ヶ月間の数値を合計した集計値になっている。
この図35に示されている第1のグラフを見て、「2006年7月」の売上高が突出している事実を把握したオペレータが、その原因を解析したいと考えたとしよう。この場合、図示のように、マウスポインタMを「2006年7月」に対応する棒の部分(あるいは、折れ線の部分でもよい)へ移動させ、クリック操作を行うことにより、「2006年7月」を仮集計期間として設定することができる。もちろん、このような操作を行ったとしても、本来の集計期間の設定が「2006年4月〜2006年9月」という6ヶ月間であることに変わりはなく、「2006年7月」という仮集計期間は、本来の集計期間とは別個に設定される期間になる。
オペレータが、このようなクリック操作を行うと、表示画面は図36のように変更される。まず、第1のグラフについては、クリック操作が行われた「2006年7月」についての棒グラフおよび折れ線グラフ部分が、他の部分と異なる態様で表示された状態になる。図示の例では、他の部分の表示輝度を低下させることにより、「2006年7月」についての棒グラフおよび折れ線グラフ部分が目立つようにしている。これにより、オペレータは、「2006年7月」が仮集計期間として設定されていることを認識できる。もっとも、第1のグラフに関する変化は、上述した一部分の表示態様の変化だけであり、第1のグラフの集計期間が「2006年4月〜2006年9月」である点は変わりない。
一方、第2のグラフおよび第3のグラフについては、仮集計期間を新たな集計期間とする変更処理が行われる。具体的には、仮集計期間が設定されると、第2のグラフ用データ集計部230および第3のグラフ用データ集計部330は、仮集計期間を新たな集計期間として、集計処理をやり直すことになる。図35に示されている第2のグラフおよび第3のグラフと、図36に示されている第2のグラフおよび第3のグラフとが異なっているのは、両者では集計期間が異なるためである。
たとえば、年代別売上高を示す第2のグラフを比較すると、前者では、10代の売上高は、20代の売上高や30代の売上高に遠く及ばないが、後者では、10代の売上高が他の年代を圧倒的に凌駕していることが認識できる。これは、7月という特別な時期に限って分析を行えば、10代の顧客が極めて高い購買力をもっていることを示している。また、店舗別来客数を示す第3のグラフを比較すると、前者では、新宿店の来客数がトップであり、上野店がこれに次ぐ結果となっているが、後者では、渋谷店の来客数がトップに躍進していることが認識できる。これは、7月という特別な時期に限って分析を行えば、渋谷店が極めて高い集客力をもっていることを示している。
なお、このようにして設定した仮集計期間は一時的なものであり、用が足りれば、いつでも解除することができる。ここに示す実施例では、図36のように仮集計期間の設定が行われている状態において、第1のグラフ上の任意の点をクリックする操作を行うと、仮集計期間の設定を解除できるようにしている。このような解除操作が行われると、画面表示は図35に示す状態に戻ることになる。
また、ここに示す実施例では、第1のグラフ提示領域A1内でのドラッグ操作により、連続した複数月にわたる期間を仮集計期間として設定することも可能である。たとえば、図37に示す位置にマウスポインタMを移動させ、この位置でマウスボタンを押下したまま右斜め下方向にドラッグ操作を行い、図38に示す位置で、マウスボタンを放したとしよう。この場合、ドラッグ操作の始点と終点とを対角とする矩形(図に破線で示す)が描かれ、当該矩形で囲まれた領域内に隣接して配置された棒グラフの棒(もしくは折れ線グラフの点(プロット))に対応する連続期間を仮集計期間として設定することができる。図示の例では、「2006年6月〜2006年8月」が仮集計期間として設定されることになる。もっとも、仮集計期間は必ずしも連続した1つの期間である必要はなく、断続的な複数の期間であってもかまわない。たとえば、図38において、4月、6月、8月という偶数月の棒グラフの棒(もしくは折れ線グラフのプロット)を個別のクリックなどの方法で選択することにより、これら偶数月からなる断続的な期間(とびとびの期間)を仮集計期間として設定できるようにしてもよい。
上述したような仮集計期間の設定操作を可能にするには、まず、第1のグラフ作成部140に、集計単位ごとの集計値をそれぞれ1本の棒で示す棒グラフもしくは集計単位ごとの集計値をそれぞれ1点にプロットした折れ線グラフを作成させるようにする。そして、集計期間設定部160に、ディスプレイ画面の第1のグラフ上において「1本もしくは複数本の棒グラフの棒」または「1点もしくは複数点の折れ線グラフのプロット」を指定するオペレータの指定入力と、当該指定入力を解除するオペレータの解除入力と、を受け入れる機能部と、この指定入力によって指定された「棒グラフの棒」または「折れ線グラフのプロット」が占める時間軸上の期間を、解除入力が受け入れられるまで一時的に仮集計期間として設定する機能部と、を設けておけばよい。
また、このような仮集計期間の設定操作を、第2のグラフや第3のグラフに反映させるためには、第2のグラフ用データ集計部および第3のグラフ用データ集計部に、仮集計期間が設定されている間は、この仮集計期間を集計期間として取り扱った集計を行う機能をもたせておけばよい。
前述したとおり、第2のグラフや第3のグラフの役割は、ある数値データを、特定のカテゴリの属性ごとに集計した結果を、属性ごとに比較できるように表示すること、である。このような役割を考えると、第2のグラフや第3のグラフについて、上述したような仮集計期間を設定できるようにすることは極めて有効である。しかも、仮集計期間の設定は、第1のグラフ上でのクリック操作やドラッグ操作で直観的に行うことができるので、極めて良好な操作性が確保できる。
<<< §9.本発明に係るグラフ表示装置の特徴 >>>
これまで、本発明に係るグラフ表示装置の構成および動作を具体的な実施例に基づいて説明した。ここでは、このグラフ表示装置の特徴をあらためて述べておく。
この装置の最も重要な特徴は、第1のグラフを表示させるために設定した集計期間が、第2のグラフおよび第3のグラフにも流用される点である。したがって、3つのグラフをすべて表示させた状態において、第1のグラフに対して、集計期間を変更する指示入力を与えると、これに連動して、第2のグラフおよび第3のグラフについての集計期間も変更されることになる。
たとえば、図32に示すように、3つのグラフがすべて表示されていたとしよう。この場合、全グラフに共通して「2006年4月〜2006年9月」という同一の集計期間が設定されていることになる。ここでたとえば、マウスポインタMを第1のグラフ上へもってゆくと、前述したとおり、マウスポインタHは掌の形に変化する。更に、マウスボタンを押下すると、マウスポインタHは拳の形に変化し、その状態でグラフを左右にドラッグすると、切出窓Wを移動させることができ、集計期間を変更することができる。そこで、たとえば、図32に示されている第1のグラフを1ヶ月分左へ移動させ、図39に示す状態にしたものとしよう。この場合、第1のグラフについての集計期間は、「2006年5月〜2006年10月」に変更されるが、同時に、第2のグラフおよび第3のグラフの集計期間も変更されることになる。
結局、図39に示すように、オペレータが、拳の形をしたマウスポインタHによって、第1のグラフを掴んで画面上で左右に動かす操作を行うと、第1のグラフが画面上で動くように見えるとともに、第2のグラフおよび第3のグラフも連動して、リアルタイムで変化することになる。これは、マウスポインタHのドラッグ操作により集計期間が変更されると、第1のグラフ用データ集計部130、第2のグラフ用データ集計部230、第3のグラフ用データ集計部330のすべてが、変更後の集計期間に基づいて、新たな集計処理を実行し、その結果が画面上に表示されるためである。
また、図39に示す状態において、オペレータが、窓幅指標107を窓幅設定用バー106に沿ってスライドさせる操作を行うことにより、集計期間を1年に変更すると、図40に示すように、第1のグラフの集計期間は「2006年2月〜2007年1月」に変更されるが、このとき、同時に、第2のグラフおよび第3のグラフの集計期間も変更されることになる。したがって、図40に示すように、オペレータが、窓幅指標107を左右にスライドさせる操作を行うと、第1のグラフの表示内容が変化するとともに、第2のグラフおよび第3のグラフも連動して、リアルタイムで変化することになる。
このように、オペレータが第1のグラフを見ながら集計期間の変更を行うと、これに連動して第2のグラフおよび第3のグラフもリアルタイムで変更される点は非常に重要な特徴である。第1のグラフは時間軸をもつグラフであるから、第1のグラフを見ながら集計期間の変更を行う操作は、オペレータにとって極めて直観的な操作になる。そして、このような直観的な操作に追従して、直ちに第2のグラフや第3のグラフの内容が変更されるので、オペレータは、集計期間と属性分布との因果関係を視覚的に把握することが可能になる。
特に、ここに述べる実施例では、第1のグラフを表示するための第1のグラフ提示領域A1、第2のグラフを表示するための第2のグラフ提示領域A2、第3のグラフを表示するための第3のグラフ提示領域A3が、ディスプレイの同一画面上に設けられており、第1のグラフ、第2のグラフ、第3のグラフがディスプレイ画面上で同時に表示されるので、オペレータは3つのグラフを同時に見ながら、様々なファクタの相互関係を把握することが可能になる。
また、オペレータは、3つのグラフのそれぞれについて、任意の項目を選択することができ、第2および第3のグラフについては、更に、任意のカテゴリを選択することができる。しかも、項目選択やカテゴリ選択の操作は、項目やカテゴリのドラッグ&ドロップ操作という直観的な操作で行うことができ、選択結果は、新たなグラフの表示という形で直ちに認識することができる。このように、オペレータの求めに応じて、年代別売上高を示すグラフ、店舗別来客数を示すグラフ、といった様々なグラフを即座に表示する機能は、効率的な数値分析を行う上で非常に有用である。
もちろん、集計単位を「月単位」,「週単位」,「日単位」と切り替える機能も非常に有用である。たとえば、図20に示すグラフにおいて、2006年7月の売上高が伸びていることを認識したオペレータが、この7月の売上動向を更に詳しく分析したいと思えば、図23に示すような「週単位」の集計や図24に示すような「日単位」の集計に切り替えることができる。
更に、§7で述べた属性限定操作を行えば、図33に示すグラフ表示から図34に示すグラフ表示に容易に移行することができ、「20代」についての渋谷店の来客数が突出している、といった新たな事実を認識することが可能になる。また、§8で述べた仮集計期間の設定操作を行えば、図35に示すグラフ表示から図36に示すグラフ表示に容易に移行することができ、7月という特別な時期に限って分析を行えば、10代の顧客が極めて高い購買力をもっており、渋谷店が極めて高い集客力をもっている、といった新たな事実を認識することが可能になる。
このように、本発明に係るグラフ表示装置は、属性が付与された時系列データに対する分析システムとして利用することが可能であり、オペレータの思考を妨げることなしに、属性を考慮した分析を行うのに適した所望のグラフを直観的な操作で表示することが可能になる。これにより、属性が付与された時系列データの様々な面についての特徴や傾向の分析が可能になる。
<<< §10.中間集計データの利用 >>>
これまで述べた実施例では、データ格納手段10内に、たとえば、図4に示すような単位レコードの集合体からなるデータを格納しておき、各データ集計部130,230,330は、この中から必要な単位レコードを抽出して集計処理を行っていた。しかしながら、§9でも述べたとおり、本発明では、様々な設定を変更したときに、新しい設定を反映したグラフがリアルタイムで表示されることが非常に重要であり、集計処理に時間を要することは好ましくない。
特に、本発明に係るグラフ表示装置をパソコンなどの比較的演算能力の低いコンピュータを利用して構成する場合、各データ集計部130,230,330の演算負担をできるだけ軽減させる工夫を施すのが好ましい。そのためには、図4に示す元のデータ(ここでは、便宜上、「オリジナルデータ」と呼ぶ)とは別個に、予め、一部の集計処理を施した中間集計データを用意しておくようにし、グラフ表示装置を実際に起動して利用する場合に、各データ集計部130,230,330が、この中間集計データを利用して簡易集計処理を実行できるようにしておけばよい。
図41は、図4に示すオリジナルデータに基づいて作成された中間集計データの一例を示す表である。このような中間集計データを用意するには、まず、各カテゴリについて、それぞれ当該カテゴリ内の本来の属性の他に、当該カテゴリ内の全属性のいずれにも代用可能な万能属性「ALL」を定義し、複数n通りのカテゴリのそれぞれから、この万能属性を含めたいずれか1つの属性を選択する組み合わせを定義する。図3に示す実施例は、n=3のケースであり、年代、性別、店舗なる3通りのカテゴリが定義されている。各カテゴリについて、万能属性「ALL」を定義すれば、「年代」カテゴリについては、「10代/20代/30代/40代/50代以上/ALL」という6種類の属性が定義され、「性別」カテゴリについては、「男性/女性/不明/ALL」という4種類の属性が定義され、「店舗」カテゴリについては、「新宿店/渋谷店/銀座店/上野店/ALL」という5種類の属性が定義される。したがって、この3つのカテゴリのそれぞれから、万能属性を含めたいずれか1つの属性を選択する組み合わせは、6×4×5=120通り存在する。
続いて、特定の日時単位ごとに、かつ、個々の項目ごとに、上記組み合わせの1つ1つについて、各組み合わせを構成するn個の属性を示す属性データを含む単位レコード内の数値データの集計結果を算出すれば、これが中間集計データになる。図41には、「2006年4月」という日時単位の「売上高」という項目について作成された中間集計データの一部が示されている。この例では、n=3であるから、個々の組み合わせは、いずれも3個の属性によって構成される。
たとえば、「10代/男性/新宿店」という組み合わせ、「10代/男性/渋谷店」という組み合わせ、...、「10代/男性/ALL」という組み合わせ、...、「10代/ALL/ALL」という組み合わせ、...、「20代/男性/新宿店」という組み合わせ、...、「20代/男性/新宿店」という組み合わせ、...、「ALL/ALL/ALL」という組み合わせ等、合計120通りの組み合わせが定義される。図41の表では、日時単位として「1ヶ月」が設定されており、1行が1つの組み合わせに対応している。そして、個々の組み合わせごとに、それぞれ中間集計値が算出されている。
具体的には、1行目の組み合わせ「10代/男性/新宿店」については、「7,800,000」なる中間集計値が算出されている。これは、「2006年4月」という特定の日時単位(1ヶ月の単位)についての「売上高」という項目について、「10代/男性/新宿店」なる属性の組み合わせをもつ単位レコード内の数値データの集計結果が「7,800,000」になることを示している。このような中間集計値を算出するには、図4に示すオリジナルデータの中から、「2006年4月」という期間内に該当する日時データ、「売上高」という項目データ、「10代」という属性データ、「男性」という属性データ、「新宿店」という属性データ、のすべてを含む単位レコードを抽出し、抽出された単位レコード内の数値データの合計を求めればよい。
また、5行目の組み合わせ「10代/男性/ALL」については、「27,300,000」なる中間集計値が算出されている。これは、「2006年4月」という特定の日時単位(1ヶ月の単位)についての「売上高」という項目について、「10代/男性」なる属性の組み合わせ(店舗属性は不問)をもつ単位レコード内の数値データの集計結果が「27,300,000」になることを示している。このような中間集計値を算出するには、図4に示すオリジナルデータの中から、「2006年4月」という期間内に該当する日時データ、「売上高」という項目データ、「10代」という属性データ、「男性」という属性データ、のすべてを含む単位レコードを抽出し、抽出された単位レコード内の数値データの合計を求めればよい。
同様に、20行目の組み合わせ「10代/ALL/ALL」については、「86,700,000」なる中間集計値が算出されている。これは、「2006年4月」という特定の日時単位(1ヶ月の単位)についての「売上高」という項目について、「10代」なる属性の組み合わせ(性別属性および店舗属性は不問)をもつ単位レコード内の数値データの集計結果が「86,700,000」になることを示している。このような中間集計値を算出するには、図4に示すオリジナルデータの中から、「2006年4月」という期間内に該当する日時データ、「売上高」という項目データ、「10代」という属性データ、のすべてを含む単位レコードを抽出し、抽出された単位レコード内の数値データの合計を求めればよい。
図41には、「2006年4月」という特定の日時単位についての中間集計データを示したが、実際には、「2006年5月」,「2006年6月」,「2006年7月」,...といった個々の月ごとに、同様の中間集計データが算出される。また、日時単位も「月単位」だけではなく、必要に応じて「週単位」,「年単位」,「日単位」に設定して、それぞれについて中間集計データを用意しておくようにする。
このような中間集計データが用意できたら、図42に示すように、データ格納手段10内に、オリジナルデータ格納部11と中間集計データ格納部12とを設け、オリジナルデータ(図4に示すような単位レコードの集合)をオリジナルデータ格納部11に格納し、中間集計データ(図41に示すような中間集計値の集合)を中間集計データ格納部12に格納する。そうすれば、各データ集計部130,230,330は、必要に応じて、中間集計データ格納部12内の中間集計データを利用して、より演算負担の少ない集計処理を行うことが可能になる。
たとえば、図1に示す第1のグラフを表示するための集計処理を行う場合であれば、第1のグラフ用データ集計部130は、「2006年4月」という月単位の中間集計データの中の「売上高」という項目について、組み合わせ「ALL/ALL/ALL」に対応する中間集計値を検索する処理を行えば、合計演算を行わずに、「2006年4月」についての集計結果を得ることができる。「2006年5月」,「2006年6月」等についても同様である。
また、図1に示す第2のグラフを表示するための集計処理を行う場合であれば、第2のグラフ用データ集計部230は、2006年4月,5月,6月,7月,8月,9月という個々の月単位の中間集計データの中の「売上高」という項目について、組み合わせ「10代/ALL/ALL」に対応する中間集計値をそれぞれ検索し、得られた6つの中間集計値を合計することにより、「10代」についての集計結果を得ることができる。「20代」,「30代」等についても同様である。
更に、図34に示す第3のグラフを表示するための集計処理を行う場合であれば、第3のグラフ用データ集計部330は、2006年4月,5月,6月,7月,8月,9月という個々の月単位の中間集計データの中の「売上高」という項目について、組み合わせ「20代/ALL/新宿店」に対応する中間集計値をそれぞれ検索し、得られた6つの中間集計値を合計することにより、「新宿店」についての集計結果を得ることができる。「渋谷店」,「銀座店」,「上野店」についても同様である。
また、図23に示す第1のグラフを表示するための集計処理を行う場合であれば、第1のグラフ用データ集計部130は、「2006年5月第1週」という週単位の中間集計データの中の「売上高」という項目について、組み合わせ「ALL/ALL/ALL」に対応する中間集計値を検索する処理を行えば、合計演算を行わずに、「2006年5月第1週」についての集計結果を得ることができる。他の週の集計結果についても同様である。
<<< §11.様々な変形例 >>>
最後に、これまで述べた実施例についてのいくつかの変形例を述べておく。
(1)サーバ装置とクライアント装置を用いる変形例
これまで述べた実施例は、パソコン等に専用のプログラムを組み込むことにより、図5に示す各構成要素を実現した例であるが、本発明に係るグラフ表示装置は、1台のコンピュータではなく、互いにネットワークで接続された複数台のコンピュータによって構成することも可能である。
図43は、本発明に係るグラフ表示装置を、互いにネットワークで接続されたサーバ装置Sとクライアント装置C(たとえば、パソコン)によって構成した変形例を示すブロック図である。この例では、データ格納手段10は、サーバ装置S内に設けられており、データ格納手段を除く各手段20,100,200,300は、クライアント装置C内に設けられている。しかも、クライアント装置C内には、データ格納手段10内の一部のデータを必要に応じてダウンロードして格納することができるデータ格納補助手段10′が設けられており、クライアント装置C内の各手段20,100,200,300は、データ格納手段10に格納されているデータの代わりに、データ格納補助手段10′に格納されているデータを利用できるように構成されている。
このような構成は、データ格納手段10に格納すべきデータ容量が極めて膨大になる場合に有効である。たとえば、銀座店に設置されたパソコンをクライアント装置Cとして用い、銀座店の店長が、銀座店の営業成績に関する分析を行うことを考える。このような場合、サーバ装置S内のデータ格納手段10から、銀座店に関連する単位レコードや中間集計データのみを、クライアント装置C内のデータ格納補助手段10′内にダウンロードしておけば、クライアント装置Cを用いて銀座店の営業成績に関する分析を行う上では十分である。
(2)一部の構成要素を省略した変形例
これまで述べた実施例は、3つのグラフを表示する機能を有しているが、§7で述べた属性を限定する操作を除けば、第2のグラフと第3のグラフの本質的な機能は同じである。したがって、本発明を実施する上では、第3のグラフ提示手段300を省略することも可能である。
また、これまで述べた実施例では、複数の項目、複数のカテゴリを選択することが可能であったが、項目やカテゴリをそれぞれ固定した態様でも、本発明は実施可能である。たとえば、数値データとして「売上高」のみを取り扱えばよい場合であれば、項目を選択する機能は不要であるから、項目選択部110,210,310を省略することができる。同様に、カテゴリとして「年代」のみを取り扱えばよい場合であれば、カテゴリを選択する機能は不要であるから、カテゴリ選択部220,320を省略することができる。このように、項目およびカテゴリの選択機能を省略した場合は、一覧リスト提示手段20を設ける必要もなくなる。
このように、項目およびカテゴリの選択機能を省略して本発明を実施する場合は、データ格納手段10内には、特定の項目に関する数値を示す数値データと、この数値データに関連する日時を示す日時データと、特定のカテゴリについて数値データに関連する属性を示す属性データと、を1組とする単位レコードを、複数組格納しておけば足りる。
更に、集計単位を切り替える必要がない場合は、集計単位設定部120を設ける必要はない。この場合、たとえば、「月単位」のように固定の集計単位を定めておき、各データ集計部130,230,330は、この固定の集計単位ごとに集計を行うようにすればよい。
(3)単位レコードのバリエーション
図4に示す単位レコードの構成例は、あくまでも一例を示すものであり、単位レコードのデータ構造は、この他にも種々の形態をとることが可能である。要するに、本発明では、概念的に単位レコードが構成されていれば足りるので、必ずしも、1つ1つの単位レコードのそれぞれに、日時データ、項目データ等が含まれている必要はない。たとえば、「2006年4月1日」というフォルダ内に、「売上高」というフォルダを作成し、その中に属性データが付与された個々の数値データを格納する、というような階層構造をもったデータにより、単位レコードの集合体を構成してもかまわない。
また、店舗などのカテゴリについては、たとえば、国内/関東地区/個々の店舗名のような階層構造を定義し、階層構造をもった属性を定義することも可能である。
(4)グラフの形態や集計方法のバリエーション
これまで述べた実施例では、第1のグラフとして棒グラフと折れ線グラフとを表示させ、第2のグラフとして円グラフを表示させ、第3のグラフとして棒グラフを表示させる形態をとっているが、個々のグラフの形態は、その機能を果たすのに支障がない範囲内で、適宜変更することが可能である。必要に応じて、オペレータの指示入力に基づいて、各グラフの形態を選択させるような運用も可能である。
もちろん、必要があれば、第1のグラフとして、複数の棒グラフと複数の折れ線グラフを重畳したグラフを表示するようなことも可能である。また、必要があれば、集計値の降順もしくは昇順にソートして、棒グラフ等を表示することも可能である。たとえば、第3のグラフとして、店舗別来客数を表示させる場合、集計値の降順にソートして、棒グラフを表示させるようにすれば、当該グラフは、店舗別のランキングチャートとして機能することになる。
更に、グラフを作成する上で必要な集計処理は、必ずしも合計を求める演算である必要はなく、数値データの性質によっては、平均を求める演算でもかまわない。たとえば、気温、湿度、気圧といった気象に関する数値データを取り扱う場合、1ヶ月分の数値データを集計する際に合計演算を行っても意味はないので、当然、平均演算を行う必要がある。
したがって、実用上は、データ格納手段10内に、個々の項目について、合計演算を行うか、平均演算を行うか、を示す演算種別情報を格納しておくようにし、第1のグラフ用データ集計部130、第2のグラフ用データ集計部230、もしくは第3のグラフ用データ集計部330は、合計演算を示す演算種別情報が格納されていた項目については、個々の数値データについての合計を求める演算を行って集計結果を求め、平均演算を示す演算種別情報が格納されていた項目については、個々の数値データについての平均を求める演算を行って集計結果を求めるようにするのが好ましい。