(57)【特許請求の範囲】
【請求項１】
コンピュータが、
各データが複数の属性を有するデータ群より、前記複数の属性に含まれる複数の属性の属性値の組合せ毎に分けて集約された複数の集約データそれぞれと、前記複数の属性の属性値とを対応付けた表示情報から、複数の個別集約データを選択する操作入力を受け付け、
受け付けた前記操作入力が、前記複数の個別集約データ各々を直接指定する第１の操作入力か、前記複数の個別集約データを範囲指定により選択する第２の操作入力かを判定し、
前記操作入力が前記第１の操作入力の場合、データが有する複数の属性の属性値の組合せが前記複数の個別集約データのうちのいずれかと一致するデータを前記データ群の中から検索する検索条件を生成し、前記操作入力が前記第２の操作入力の場合、データが有する複数の属性に含まれるいずれかの属性の属性値が前記複数の個別集約データのうちのいずれかの個別集約データに対応する複数の属性の属性値のいずれかと一致するデータを前記データ群の中から検索する検索条件を生成する、
処理を実行する検索支援方法。
【請求項２】
前記コンピュータが、
前記複数の属性の各々の属性の種類が離散値型か連続値型かを判定し、
前記検索条件を生成する処理は、
前記操作入力が前記第２の操作入力の場合、前記データ群の中から、前記複数の属性のうち離散値型の属性の属性値が、前記複数の個別集約データに含まれる各々の個別集約データに対応する前記離散値型の属性のいずれかの属性値となり、かつ、前記複数の属性のうち連続値型の属性の属性値が、前記各々の個別集約データに対応する前記連続値型の属性の属性値のうちの最小値から最大値までの範囲に含まれるデータを検索する検索条件を生成することを特徴とする請求項１に記載の検索支援方法。
【請求項３】
前記コンピュータが、
生成した前記検索条件に基づいて、前記データ群の中から分析対象となるデータを検索し、
検索した前記分析対象となるデータを出力する、
処理を実行することを特徴とする請求項１または２に記載の検索支援方法。
【請求項４】
前記コンピュータが、
前記操作入力が前記第１の操作入力の場合、前記データ群のうち前記複数の属性についての属性値の組合せが同一となるデータを集約した集約データを前記複数の属性についての属性値の組合せと対応付けて表す図表に含まれる各々の集約データに対応する前記連続値型の属性の属性値のうち連続する異なる属性値間の間隔に基づいて、前記連続値型の属性の属性値の単位間隔を算出し、
前記分析対象となるデータを検索する処理は、
生成した前記検索条件と、算出した前記単位間隔とに基づいて、前記データ群の中から前記分析対象となるデータを検索することを特徴とする請求項３に記載の検索支援方法。
【請求項５】
前記単位間隔を算出する処理は、
前記操作入力が前記第２の操作入力の場合、前記図表に含まれる各々の集約データに対応する前記連続値型の属性の属性値のうちの最小値と最大値との間隔と、前記複数の個別集約データに含まれる各々の個別集約データに対応する前記連続値型の属性の属性値のうちの最小値と最大値との間隔とに基づいて、前記連続値型の属性の属性値の単位間隔を算出することを特徴とする請求項４に記載の検索支援方法。
【請求項６】
前記コンピュータが、
検索した前記分析対象となるデータのうち、前記複数の属性および前記各データが有する属性のうち当該複数の属性とは異なる他の属性の属性値の組合せが同一となるデータを集約した集約データを、前記複数の属性および前記他の属性の属性値の組合せと対応付けて表示する図表を作成し、
作成した前記図表を出力する、
処理を実行することを特徴とする請求項３〜５のいずれか一つに記載の検索支援方法。
【請求項７】
コンピュータに、
各データが複数の属性を有するデータ群より、前記複数の属性に含まれる複数の属性の属性値の組合せ毎に分けて集約された複数の集約データそれぞれと、前記複数の属性の属性値とを対応付けた表示情報から、複数の個別集約データを選択する操作入力を受け付け、
受け付けた前記操作入力が、前記複数の個別集約データ各々を直接指定する第１の操作入力か、前記複数の個別集約データを範囲指定により選択する第２の操作入力かを判定し、
前記操作入力が前記第１の操作入力の場合、データが有する複数の属性の属性値の組合せが前記複数の個別集約データのうちのいずれかと一致するデータを前記データ群の中から検索する検索条件を生成し、前記操作入力が前記第２の操作入力の場合、データが有する複数の属性に含まれるいずれかの属性の属性値が前記複数の個別集約データのうちのいずれかの個別集約データに対応する複数の属性の属性値のいずれかと一致するデータを前記データ群の中から検索する検索条件を生成する、
処理を実行させる検索支援プログラム。
【請求項８】
各データが複数の属性を有するデータ群を記憶する記憶部と、
前記データ群より、前記複数の属性に含まれる複数の属性の属性値の組合せ毎に分けて集約された複数の集約データそれぞれと、前記複数の属性の属性値とを対応付けた表示情報の表示を行う表示部と、
前記表示情報から、複数の個別集約データを選択する操作入力を受け付ける受付部と、
前記受付部によって受け付けられた前記操作入力が、前記複数の個別集約データ各々を直接指定する第１の操作入力か、前記複数の個別集約データを範囲指定により選択する第２の操作入力かを判定する判定部と、
前記判定部によって前記操作入力が前記第１の操作入力であると判定された場合、データが有する複数の属性の属性値の組合せが前記複数の個別集約データのうちのいずれかと一致するデータを前記データ群の中から検索する検索条件を生成し、前記判定部によって前記操作入力が前記第２の操作入力であると判定された場合、データが有する複数の属性に含まれるいずれかの属性の属性値が前記複数の個別集約データのうちのいずれかの個別集約データに対応する複数の属性の属性値のいずれかと一致するデータを前記データ群の中から検索する検索条件を生成する生成部と、
を含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの検索を支援する生成方法、検索支援方法、検索支援プログラムおよびシステムに関する。
【背景技術】
【０００２】
従来から、様々なデータを用いて傾向を分析する技術がある。例えば、データベースに蓄積されているデータを利用したデータ分析として、グラフや表などから選択された一つのデータを詳細化することで、対象を絞り込んで掘り下げていく手法（いわゆる、「ドリルダウン」）がある。
【０００３】
関連する先行技術としては、例えば、データベースからのレポートを作成およびタイトル付けし、自然言語フレーズをメニューから作成および表示し、データベースに問合せ、ナビゲータ自体がタイトルとなるように、レポートにタイトルを付けるシステムがある。また、データをグラフィック表示し、かつ、ユーザによるデータのインタラクティブな探索を可能にするためのシステムがある。また、時間や座標などの次元軸における連続した領域での条件判定でタプルを集約する機能とその値をテーブルで管理する機能を、対話型のサーバシステムに装備するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００３−５０３７９８号公報
【特許文献２】特開２００３−２１６２９８号公報
【特許文献３】特開２００２−００７４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、グラフ等の中から複数のデータを選択して、ドリルダウンなどのデータ分析を行うことが難しいという問題がある。例えば、ユーザがどのような意図で複数のデータを選択したかを判別することが難しく、データベースの中からデータ分析に使用するデータを検索することが難しい。
【０００６】
一側面では、本発明は、データを選択するユーザの操作入力に応じた検索条件を作成することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、複数の表示要素が指定された場合に、前記複数の表示要素の指定方法に応じた演算子で、指定された前記複数の表示要素のそれぞれに対応する複数のデータを結合した検索条件を生成する生成方法が提案される。
【０００８】
また、本発明の一側面によれば、複数の属性を有するデータ群のうち、前記複数の属性から選ばれた２以上の属性の属性値の組合せが同一となるデータを集約した集約データを、前記２以上の属性の属性値の組合せと対応付けて表す図表の中から、複数の集約データを選択する操作入力を受け付け、受け付けた前記操作入力が、画面上に表示されている各々の集約データを直接指定する第１の操作入力か、前記画面上に表示されている前記複数の集約データを含む範囲を指定する第２の操作入力かを判定し、判定した判定結果と前記各々の集約データに対応する前記２以上の属性の属性値の組合せとに基づいて、前記データ群の中から分析対象となるデータを検索する検索条件を生成する検索支援方法および検索支援プログラムが提案される。
【０００９】
また、本発明の一側面によれば、複数の属性を有するデータ群を記憶する記憶部と、前記データ群のうち前記複数の属性から選ばれた２以上の属性の属性値の組合せが同一となるデータを集約した集約データを、前記２以上の属性の属性値の組合せと対応付けて表す図表を表示する表示部と、前記表示部に表示された前記図表の中から複数の集約データを選択する操作入力を受け付ける受付部と、前記受付部によって受け付けられた前記操作入力が、画面上に表示されている各々の集約データを直接指定する第１の操作入力か、前記画面上に表示されている前記複数の集約データを含む範囲を指定する第２の操作入力かを判定する判定部と、前記判定部によって判定された判定結果と、前記各々の集約データに対応する前記２以上の属性の属性値の組合せとに基づいて、前記データ群の中から分析対象となるデータを検索する検索条件を生成する生成部と、を含むシステムが提案される。
【発明の効果】
【００１０】
本発明の一態様によれば、データを選択するユーザの操作入力に応じた検索条件を作成することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態にかかる検索支援方法の一実施例を示す説明図（その１）である。
【図２】図２は、実施の形態にかかる検索支援方法の一実施例を示す説明図（その２）である。
【図３】図３は、実施の形態にかかる情報提供システム３００のシステム構成例を示す説明図である。
【図４】図４は、実施の形態にかかるコンピュータのハードウェア構成例を示すブロック図である。
【図５】図５は、データベース１１０の記憶内容の一例を示す説明図である。
【図６】図６は、実施の形態にかかるクライアント装置３０２の機能的構成例を示すブロック図である。
【図７】図７は、実施の形態にかかる情報提供装置３０１の機能的構成例を示すブロック図である。
【図８】図８は、ドリルダウンの一例を示す説明図（その１）である。
【図９】図９は、ドリルダウンの一例を示す説明図（その２）である。
【図１０】図１０は、ドリルダウンの一例を示す説明図（その３）である。
【図１１】図１１は、ドリルダウンの一例を示す説明図（その４）である。
【図１２】図１２は、クライアント装置３０２の図表表示処理手順の一例を示すフローチャートである。
【図１３】図１３は、情報提供装置３０１の情報提供処理手順の一例を示すフローチャートである。
【図１４】図１４は、第１の生成処理の具体的処理手順の一例を示すフローチャートである。
【図１５】図１５は、第２の生成処理の具体的処理手順の一例を示すフローチャート（その１）である。
【図１６】図１６は、第２の生成処理の具体的処理手順の一例を示すフローチャート（その２）である。
【図１７】図１７は、データ加工処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかる生成方法、検索支援方法、検索支援プログラムおよびシステムの実施の形態を詳細に説明する。
【００１３】
（検索支援方法の一実施例）
図１は、実施の形態にかかる検索支援方法の一実施例を示す説明図（その１）である。図２は、実施の形態にかかる検索支援方法の一実施例を示す説明図（その２）である。図１および図２において、検索支援装置１０１は、データベース１１０の中から分析対象となるデータを検索する検索条件を作成する機能を有するコンピュータである。
【００１４】
ここで、データベース１１０は、複数の属性を有するデータ群を記憶している。データベース１１０は、複数の属性に含まれる各々の属性の属性値の組合せに対応するデータをそれぞれ記憶している。データベース１１０は、例えば、対象とする属性を次々に切り替えながらデータを検索・集計できる多次元データベースである。
【００１５】
データは、例えば、企業の売上、商品の販売数、製品の生産高、人口などの数値情報である。データは、例えば、定期的または不定期に収集されてデータベース１１０に蓄積される。また、分析対象となるデータとは、ドリルダウンやドリルアップといったデータ分析に用いるデータである。
【００１６】
以下、データベース１１０に記憶されている複数の属性を有するデータ群を「データ群ｄ１〜ｄｎ」と表記する（ｎ：２以上の自然数）。また、図１および図２において、各データｄ１〜ｄｎは、人口を表す数値情報であり、属性として「地域」、「就労種別」および「性別」を有している場合を例に挙げて説明する。なお、データベース１１０の記憶内容については、図５を用いて後述する。
【００１７】
図１において、グラフ１２０は、各地域の就労種別ごとの人口を表す棒グラフである。具体的には、グラフ１２０は、データ群ｄ１〜ｄｎのうち、属性「地域」および「就労種別」の属性値の組合せが同一となるデータを集約した集約データ１２１〜１２９を、属性「地域」および「就労種別」の属性値の組合せと対応付けて表す図表である。
【００１８】
ここで、集約データ１２１は、地域「関東」の就労種別「学生」の人口「１００」を表している。集約データ１２２は、地域「関東」の就労種別「労働者」の人口「７０」を表している。集約データ１２３は、地域「関東」の就労種別「無職」の人口「６０」を表している。
【００１９】
また、集約データ１２４は、地域「関西」の就労種別「学生」の人口「１００」を表している。集約データ１２５は、地域「関西」の就労種別「労働者」の人口「９０」を表している。集約データ１２６は、地域「関西」の就労種別「無職」の人口「３０」を表している。
【００２０】
また、集約データ１２７は、地域「九州」の就労種別「学生」の人口「５０」を表している。集約データ１２８は、地域「九州」の就労種別「労働者」の人口「４０」を表している。集約データ１２９は、地域「九州」の就労種別「無職」の人口「６０」を表している。
【００２１】
ユーザは、例えば、ディスプレイ１３０に表示されたグラフ１２０を見ながら、集約データ１２１〜１２９の中から掘り下げて分析したい集約データを選択する。図１の例では、マウス１５０の左クリックとキーボード１４０のコントロールキーを使用したユーザの操作入力により、集約データ１２１と集約データ１２５が直接指定されている。
【００２２】
このような、ディスプレイ１３０に表示されている集約データ１２１と集約データ１２５とを直接指定する操作入力は、ユーザが、集約データ１２１と集約データ１２５とをピンポイントで詳細化して分析したい場合に行われることが多い。
【００２３】
そこで、検索支援装置１０１は、集約データ１２１，１２５のそれぞれを詳細化して分析する際に使用するデータを、データベース１１０の中から検索する検索条件を作成する。具体的には、例えば、検索支援装置１０１は、属性「地域」および「就労種別」の属性値の組合せが、集約データ１２１，１２５のうちのいずれかの集約データと同一となるデータを検索する検索条件を生成する。
【００２４】
より具体的には、集約データ１２１に対応する属性「地域」および「就労種別」の属性値の組合せは、「地域：関東、就労種別：学生」である。また、集約データ１２５に対応する属性「地域」および「就労種別」の属性値の組合せは、「地域：関西、就労種別：労働者」である。このため、検索条件としては、例えば、下記条件式１が生成される。
【００２５】
条件式１：（「地域＝関東」ＡＮＤ「就労種別＝学生」）
ＯＲ（「地域＝関西」ＡＮＤ「就労種別＝労働者」）
【００２６】
すなわち、上記条件式１を満たすデータは、属性「地域」の属性値が「関東」かつ属性「就労種別」の属性値が「学生」のデータ、または、属性「地域」の属性値が「関西」かつ属性「就労種別」の属性値が「労働者」のデータである。上記条件式１を満たすデータをデータベース１１０の中から検索することにより、集約データ１２１，１２５のそれぞれを詳細化して分析する際に必要となるデータを得ることができる。
【００２７】
一方、図２の例では、マウス１５０のドラッグ＆ドロップ操作を使用したユーザの操作入力により、ディスプレイ１３０に表示されている集約データ１２１，１２２，１２４，１２５を含む範囲２０１が指定されている。
【００２８】
このような、ディスプレイ１３０に表示されている集約データ１２１，１２２，１２４，１２５を含む範囲２０１を指定する操作入力は、ユーザが、集約データ１２１，１２２，１２４，１２５を包括的に分析したい場合に行われることが多い。
【００２９】
そこで、検索支援装置１０１は、データベース１１０の中から、集約データ１２１，１２２，１２４，１２５の属性「地域」の属性値、または「就労種別」の属性値に対応するデータを網羅的に検索する検索条件を作成する。具体的には、例えば、検索支援装置１０１は、属性「地域」および「就労種別」の各々の属性の属性値が、集約データ１２１，１２２，１２４，１２５のうちのいずれかの集約データに対応する属性値と同一となるデータを検索する検索条件を生成する。
【００３０】
より具体的には、集約データ１２１，１２２，１２４，１２５のうちのいずれかの集約データに対応する属性「地域」の属性値は、「関東」または「関西」である。また、集約データ１２１，１２２，１２４，１２５のうちのいずれかの集約データに対応する属性「就労種別」の属性値は、「学生」または「労働者」である。このため、検索条件としては、例えば、下記条件式２が生成される。
【００３１】
条件式２：（「地域＝関東」ＯＲ「地域＝関西」）
ＡＮＤ（「就労種別＝学生」ＯＲ「就労種別＝労働者」）
【００３２】
すなわち、上記条件式２を満たすデータは、属性「地域」の属性値が「関東」または「関西」、かつ、属性「就労種別」の属性値が「学生」または「労働者」のデータである。上記条件式２を満たすデータをデータベース１１０の中から検索することにより、集約データ１２１，１２２，１２４，１２５を包括的に分析する際に必要となるデータを得ることができる。
【００３３】
以上説明した本検索支援方法によれば、ドリルダウンといったデータ分析を行う目的で、ディスプレイ１３０に表示された図表から複数の集約データを選択するユーザの操作入力に応じて、データ分析に使用するデータを検索する検索条件を生成することができる。
【００３４】
具体的には、ディスプレイ１３０に表示されている各々の集約データを直接指定する操作入力が行われた場合は、各々の集約データをピンポイントで詳細化して分析する際に必要となるデータを検索する検索条件を生成することができる。一方、ディスプレイ１３０に表示されている複数の集約データを含む範囲を指定する操作入力が行われた場合は、複数の集約データを包括的に分析する際に必要となるデータを検索する検索条件を生成することができる。
【００３５】
このように、本検索支援方法によれば、ディスプレイ１３０に表示された図表の中から、掘り下げて分析したい複数の集約データを選択する操作入力が、直接指定か範囲指定かによってユーザの選択意図を判断することができる。そして、ユーザが期待する図表を作成できるデータを検索する条件式を生成することができる。
【００３６】
（情報提供システム３００のシステム構成例）
つぎに、実施の形態にかかる情報提供システム３００について説明する。以下、図１および図２に示した検索支援装置１０１を、情報提供システム３００の情報提供装置３０１に適用した場合について説明する。
【００３７】
図３は、実施の形態にかかる情報提供システム３００のシステム構成例を示す説明図である。図３において、情報提供システム３００は、情報提供装置３０１と、クライアント装置３０２と、を含む。情報提供システム３００において、情報提供装置３０１およびクライアント装置３０２は、有線または無線のネットワーク３１０を介して接続されている。ネットワーク３１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３８】
ここで、情報提供装置３０１は、データベース１１０を備え、クライアント装置３０２に図表を表す図表情報を提供するコンピュータである。図表は、例えば、棒グラフ、折れ線グラフ、円グラフ、テーブルなどである。具体的には、例えば、図表は、複数の属性を有するデータ群ｄ１〜ｄｎのうち、複数の属性から選ばれた２以上の属性の属性値の組合せが同一となるデータを集約した集約データを、２以上の属性の属性値の組合せと対応付けて表すものである。より具体的には、例えば、図表は、図１および図２に示したグラフ１２０である。
【００３９】
クライアント装置３０２は、情報提供システム３００のユーザが使用するコンピュータである。クライアント装置３０２は、情報提供装置３０１から提供される図表情報を、後述の図４に示すディスプレイ４０９に表示する機能を有する。
【００４０】
具体的には、例えば、クライアント装置３０２は、図表の表示要求を情報提供装置３０１に送信する。ここで、図表の表示要求とは、例えば、表示対象となる図表を表す図表情報を要求するものである。表示対象となる図表は、例えば、予め設定されていてもよく、また、複数の図表の中からユーザが選択したものであってもよい。
【００４１】
情報提供装置３０１は、クライアント装置３０２から図表の表示要求を受信すると、表示対象となる図表を表す図表情報を作成する。情報提供装置３０１は、作成した図表情報をクライアント装置３０２に送信する。クライアント装置３０２は、情報提供装置３０１からの図表情報を受信してディスプレイ４０９に表示する。
【００４２】
ユーザは、例えば、クライアント装置３０２のディスプレイ４０９に表示される図表を見ながら、何らかの傾向を判断したり、ある現象の原因を調べるためにドリルアップやドリルダウンといったデータ分析を行うことができる。
【００４３】
（コンピュータのハードウェア構成例）
つぎに、図３に示したコンピュータ（情報提供装置３０１、クライアント装置３０２）のハードウェア構成について説明する。
【００４４】
図４は、実施の形態にかかるコンピュータのハードウェア構成例を示すブロック図である。図４において、コンピュータは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３と、磁気ディスクドライブ４０４と、磁気ディスク４０５と、光ディスクドライブ４０６と、光ディスク４０７と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０８と、ディスプレイ４０９と、キーボード４１０と、マウス４１１と、を備えている。また、各構成部はバス４００によってそれぞれ接続されている。
【００４５】
ここで、ＣＰＵ４０１は、コンピュータの全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。磁気ディスクドライブ４０４は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０５に対するデータのリード／ライトを制御する。磁気ディスク４０５は、磁気ディスクドライブ４０４の制御で書き込まれたデータを記憶する。
【００４６】
光ディスクドライブ４０６は、ＣＰＵ４０１の制御にしたがって光ディスク４０７に対するデータのリード／ライトを制御する。光ディスク４０７は、光ディスクドライブ４０６の制御で書き込まれたデータを記憶したり、光ディスク４０７に記憶されたデータをコンピュータに読み取らせたりする。
【００４７】
Ｉ／Ｆ４０８は、通信回線を通じてネットワーク３１０に接続され、ネットワーク３１０を介して他の装置に接続される。そして、Ｉ／Ｆ４０８は、ネットワーク３１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ４０８には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４８】
ディスプレイ４０９は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ４０９は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。図１に示したディスプレイ１３０は、例えば、このディスプレイ４０９に相当する。
【００４９】
キーボード４１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。図１に示したキーボード１４０、マウス１５０は、例えば、このキーボード４１０およびマウス４１１に相当する。
【００５０】
なお、情報提供装置３０１は、上述した構成部のうち、例えば、光ディスクドライブ４０６、光ディスク４０７、ディスプレイ４０９、キーボード４１０およびマウス４１１などを備えていなくてもよい。また、クライアント装置３０２は、例えば、スキャナやプリンタなどを備えていてもよい。
【００５１】
（データベース１１０の記憶内容）
ここで、情報提供装置３０１が備えるデータベース１１０の記憶内容について説明する。データベース１１０は、例えば、図４に示した情報提供装置３０１のＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置により実現される。
【００５２】
図５は、データベース１１０の記憶内容の一例を示す説明図である。図５において、データベース１１０は、属性フィールドおよびデータフィールドを有し、各フィールドに情報を設定することで、属性フィールドに設定されている各々の属性の属性値の組合せごとのデータｄ１〜ｄｎをレコードとして記憶している。
【００５３】
ここで、属性フィールドは、各データを特徴付ける属性を設定するフィールドである。ここでは、属性として、地域、就労種別、性別および日時が示されている。属性「地域」の属性値としては、例えば、「関東」、「関西」、「九州」がある。属性「就労種別」の属性値としては、例えば、「学生」、「労働者」、「無職」がある。属性「性別」の属性値としては、例えば、「男性」、「女性」がある。属性「日時」の属性値としては、例えば、「２／１  ００：００：００（２月１日  ００時００分００秒）」、「２／１  １２：００：００」などがある。
【００５４】
また、各属性には、各属性の種類を表す型が設定されている。属性の型としては、例えば、属性の属性値が連続している連続値型と、属性の属性値が連続していない離散値型とがある。例えば、属性「地域」の型は、属性「地域」の属性値が連続していない離散値型である。属性「就労種別」の型は、属性「就労種別」の属性値が連続していない離散値型である。
【００５５】
属性「性別」の型は、属性「性別」の属性値が連続していない離散値型である。属性「日時」の型は、属性「日時」の属性値が連続している連続値型である。各属性の型を識別する型情報は、例えば、データベース１１０の属性フィールドに設定されている属性と関連付けて、情報提供装置３０１のＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。
【００５６】
データフィールドは、各データの本体となる情報を設定するフィールドである。各データの本体となる情報は、例えば、統計値、集計値、計測値などを表す数値情報である。ここでは、データの本体となる情報として、人口が示されている。
【００５７】
例えば、データｄ１は、地域「関東」の就労種別「学生」の性別「男性」の日時「２／１  ００：００：００」での人口「６０」を示している。また、データｄ２は、地域「関東」の就労種別「学生」の性別「女性」の日時「２／１  ００：００：００」での人口「３０」を示している。
【００５８】
（クライアント装置３０２の機能的構成例）
つぎに、クライアント装置３０２の機能的構成例について説明する。図６は、実施の形態にかかるクライアント装置３０２の機能的構成例を示すブロック図である。図６において、クライアント装置３０２は、受信部６０１と、表示部６０２と、受付部６０３と、送信部６０４と、を含む構成である。この制御部となる機能（受信部６０１〜送信部６０４）は、具体的には、例えば、図４に示したクライアント装置３０２のＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０８により、その機能を実現する。また、各機能部の処理結果は、例えば、クライアント装置３０２のＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００５９】
受信部６０１は、情報提供装置３０１から図表を表す図表情報を受信する機能を有する。ここで、図表とは、上述したように、データ群ｄ１〜ｄｎのうち、複数の属性から選ばれた２以上の属性の属性値の組合せが同一となるデータを集約した集約データを、２以上の属性の属性値の組合せと対応付けて表すものである。図表には、複数の属性から選ばれた２以上の属性の属性値の組合せごとの集約データの一部または全部が含まれている。
【００６０】
ここで、図５に示したデータベース１１０の記憶内容を例に挙げて、集約データの具体例について説明する。ここでは、複数の属性「地域」、「就労種別」、「性別」および「日時」から選ばれた２以上の属性を「地域」、「就労種別」および「日時」とする。この場合、データ群ｄ１〜ｄｎのうち、属性「地域」、「就労種別」および「日時」の属性値の組合せが同一となるデータは、例えば、データｄ１，ｄ２である。
【００６１】
このため、データｄ１，ｄ２を集約した集約データは、地域「関東」の就労種別「学生」の日時「２／１  ００：００：００」での人口「９０」を示すデータとなる。この人口「９０」は、データｄ１が表す人口「６０」とデータｄ２が表す人口「３０」とを集計した値である。
【００６２】
表示部６０２は、受信された図表情報が表す図表を、図４に示したディスプレイ４０９に表示する機能を有する。具体的には、例えば、表示部６０２が、図表情報が表す棒グラフ、折れ線グラフ、円グラフ、テーブルなどをディスプレイ４０９に表示する。
【００６３】
受付部６０３は、ディスプレイ４０９に表示された図表の中から集約データを選択するユーザの操作入力を受け付ける機能を有する。ユーザの操作入力としては、例えば、図表の中から集約データを直接指定して集約データを選択する操作入力（以下、「第１の操作入力」という）がある。また、ユーザの操作入力としては、例えば、ディスプレイ４０９の図表を含む表示領域上の範囲を指定して、図表の中から集約データを選択する操作入力（以下、「第２の操作入力」という）がある。
【００６４】
具体的には、例えば、受付部６０３が、マウス４１１の左クリックとキーボード４１０のコントロールキーとを使用して、図表の中から複数の集約データを選択する第１の操作入力を受け付ける（例えば、図１参照）。また、例えば、受付部６０３が、マウス４１１のドラッグ＆ドロップ操作を使用して、図表を含む表示領域上の範囲を指定することにより、図表の中から複数の集約データを選択する第２の操作入力を受け付ける（例えば、図２参照）。
【００６５】
送信部６０４は、受け付けた受付結果を情報提供装置３０１に送信する機能を有する。ここで、受付結果は、例えば、ディスプレイ４０９に表示された図表の識別情報および図表の中から選択された集約データの識別情報を含む。また、受付結果は、例えば、図表の中から集約データを選択したユーザの操作入力が、第１の操作入力か第２の操作入力かを識別する操作情報を含む。
【００６６】
（情報提供装置３０１の機能的構成例）
つぎに、情報提供装置３０１の機能的構成例について説明する。図７は、実施の形態にかかる情報提供装置３０１の機能的構成例を示すブロック図である。図７において、情報提供装置３０１は、受信部７０１と、判定部７０２と、生成部７０３と、検索部７０４と、算出部７０５と、作成部７０６と、送信部７０７と、を含む構成である。この制御部となる機能（受信部７０１〜送信部７０７）は、具体的には、例えば、図４に示した情報提供装置３０１のＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０８により、その機能を実現する。また、各機能部の処理結果は、例えば、情報提供装置３０１のＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００６７】
受信部７０１は、クライアント装置３０２から受付結果を受信する機能を有する。受付結果は、上述したように、例えば、図表の識別情報および図表の中から選択された集約データの識別情報を含む。また、受付結果は、例えば、図表の中から集約データを選択したユーザの操作入力が、第１の操作入力か第２の操作入力かを表す操作情報を含む。
【００６８】
以下の説明では、受付結果から特定される図表の中から選択された集約データを「集約データＤ１〜Ｄｍ」と表記する（ｍ：１以上の自然数）。また、集約データＤ１〜Ｄｍのうち任意の集約データを「集約データＤｊ」と表記する（ｍ＝１，２，…，ｍ）。また、データ群ｄ１〜ｄｎが有する複数の属性から選ばれた２以上の属性を「属性Ａ１〜ＡＫ」と表記する（Ｋ：２以上の自然数）。また、属性Ａ１〜ＡＫのうち任意の属性を「属性Ａｋ」と表記する（ｋ＝１，２，…，Ｋ）。また、集約データＤｊに対応する属性Ａｋの属性値を「属性値Ｖjｋ」と表記する。
【００６９】
判定部７０２は、受信された受付結果に基づいて、集約データＤ１〜Ｄｍを選択する操作入力が、第１の操作入力か第２の操作入力かを判定する機能を有する。具体的には、例えば、判定部７０２が、受付結果に含まれている操作情報に基づいて、第１の操作入力か第２の操作入力かを判定する。
【００７０】
また、判定部７０２は、属性Ａｋの種類が離散値型か連続値型かを判定する機能を有する。具体的には、例えば、判定部７０２が、属性Ａｋの型情報を参照して、属性Ａｋの種類が離散値型か連続値型かを判定する。
【００７１】
生成部７０３は、判定された判定結果と、各集約データＤｊに対応する属性Ａ１〜ＡＫの属性値の組合せとに基づいて、データ群ｄ１〜ｄｎの中から分析対象となるデータを検索する検索条件を生成する機能を有する。
【００７２】
以下、集約データＤ１〜Ｄｍを選択する操作入力が、第１の操作入力の場合と第２の操作入力の場合とに分けて、生成部７０３の具体的な処理内容の一例について説明する。
【００７３】
・第１の操作入力の場合
まず、集約データＤ１〜Ｄｍを選択する操作入力が、第１の操作入力の場合について説明する。この場合、生成部７０３が、データ群ｄ１〜ｄｎの中から、属性Ａ１〜ＡＫの属性値の組合せが、集約データＤ１〜Ｄｍのうちのいずれかの集約データＤｊと同一となるデータを検索する検索条件を生成する。
【００７４】
具体的には、例えば、生成部７０３が、下記式（１）のように、属性Ａｋごとの属性値が、集約データＤｊに対応する属性Ａｋの属性値Ｖjｋとなる条件式の論理積をとって、集約データＤｊごとの条件式Ｅｊを生成する。なお、ＡＮＤは論理積を表している。
【００７５】
Ｅｊ＝「Ａ１＝Ｖj１」ＡＮＤ「Ａ２＝Ｖj２」ＡＮＤ…ＡＮＤ「ＡＫ＝ＶjＫ」
・・・（１）
【００７６】
そして、生成部７０３が、下記式（２）のように、集約データＤｊごとの条件式Ｅｊの論理和をとって、データ群ｄ１〜ｄｎの中から分析対象となるデータを検索する検索条件となる条件式Ｅを生成する。なお、ＯＲは論理和を表している。
【００７７】
Ｅ＝「Ｅ１」ＯＲ「Ｅ２」ＯＲ…ＯＲ「Ｅｍ」        ・・・（２）
【００７８】
・第２の操作入力の場合
つぎに、集約データＤ１〜Ｄｍを選択する操作入力が、第２の操作入力の場合について説明する。この場合、まず、生成部７０３が、属性Ａｋの種類が離散値型か連続値型かの判定結果に基づいて、属性Ａｋごとの条件式Ｅｋを生成する。そして、生成部７０３が、下記式（３）のように、属性Ａｋごとの条件式Ｅｋの論理積をとって、データ群ｄ１〜ｄｎの中から分析対象となるデータを検索する検索条件となる条件式Ｅを生成する。
【００７９】
Ｅ＝「Ｅ１」ＡＮＤ「Ｅ２」ＡＮＤ…ＡＮＤ「ＥＫ」        ・・・（３）
【００８０】
ここで、属性Ａｋごとの条件式Ｅｋを生成する具体的な処理内容について説明する。まず、属性Ａｋの種類が離散値型の場合について説明する。この場合、生成部７０３が、データ群ｄ１〜ｄｎの中から、属性Ａｋの属性値が、集約データＤ１〜Ｄｍのうちのいずれかの集約データＤｊに対応する属性Ａｋの属性値と同一となるデータを検索する条件式Ｅｋを生成する。
【００８１】
より具体的には、例えば、生成部７０３が、下記式（４）のように、属性Ａｋの属性値が、集約データＤ１〜Ｄｍのうちのいずれかの集約データＤｊに対応する属性Ａｋの属性値と同一となる条件式の論理和をとって、属性Ａｋの条件式Ｅｋを生成する。
【００８２】
Ｅｋ＝「Ａｋ＝Ｖ1ｋ」ＯＲ「Ａｋ＝Ｖ2ｋ」ＯＲ…ＯＲ「Ａｋ＝Ｖmｋ」
・・・（４）
【００８３】
つぎに、属性Ａｋの種類が連続値型の場合について説明する。この場合、生成部７０３が、データ群ｄ１〜ｄｎの中から、属性Ａｋの属性値が、集約データＤ１〜Ｄｍに対応する属性Ａｋの属性値Ｖ1ｋ〜Ｖmｋのうちの最小値Ｖｋminから最大値Ｖｋmaxまでの範囲に含まれるデータを検索する検索式Ｅｋを生成する。
【００８４】
例えば、属性Ａｋが日時などの時間を表している場合、最小値Ｖｋminは属性値Ｖ1ｋ〜Ｖmｋのうちの最古の属性値を表し、最大値Ｖｋmaxは属性値Ｖ1ｋ〜Ｖmｋのうちの最新の属性値を表す。具体的には、例えば、生成部７０３が、下記式（５）のように、属性Ａｋの属性値が、最小値Ｖｋmin以上となる条件式と最大値Ｖｋmax以下となる条件式との論理積をとって、属性Ａｋの条件式Ｅｋを生成する。
【００８５】
Ｅｋ＝「Ｖｋmin≦Ａｋ」ＡＮＤ「Ａｋ≦Ｖｋmax」      ・・・（５）
【００８６】
検索部７０４は、生成された検索条件に基づいて、データ群ｄ１〜ｄｎの中から分析対象となるデータを検索する機能を有する。具体的には、例えば、検索部７０４が、データベース１１０に記憶されているデータ群ｄ１〜ｄｎの中から、生成された条件式Ｅを満たすデータを検索する。
【００８７】
算出部７０５は、属性Ａ１〜ＡＫのうち連続値型の属性Ａｋの属性値の単位間隔を算出する機能を有する。連続値型の属性Ａｋの属性値の単位間隔とは、分析対象となるデータの連続値型の属性Ａｋの属性値の単位間隔となるものである。以下、連続値型の属性Ａｋの属性値の単位間隔を「属性Ａｋの粒度」という。
【００８８】
ここで、ユーザは、ディスプレイ４０９に表示されている図表から、どのような詳細を見たいか考える。このため、連続値型の属性Ａｋの場合は、例えば、ディスプレイ４０９に表示されているデータ間隔を基準にすることで、ユーザの期待する詳細が何かを判断することができる。そこで、属性Ａｋの粒度を求めて、ユーザがどのようにドリルダウンしたいのかを判断する。
【００８９】
まず、集約データＤ１〜Ｄｍを選択する操作入力が第１の操作入力の場合について説明する。この場合、算出部７０５が、例えば、図表に含まれる各々の集約データの連続値型の属性Ａｋの属性値のうち、連続する異なる属性値間の間隔に基づいて、連続値型の属性Ａｋの粒度を算出する。
【００９０】
例えば、連続値型の属性Ａｋを属性「日時」として、連続する異なる属性値間の時間間隔をそれぞれ１２時間とする（例えば、後述する図１０参照）。この場合、算出部７０５が、連続する異なる属性値間の時間間隔の平均値ｈ１（ここでは、１２時間）より小さいいずれかの単位時間（例えば、１時間、１分、１秒など）を、連続値型の属性Ａｋの粒度として算出することにしてもよい。
【００９１】
この際、算出部７０５が、上記平均値ｈ１より小さい単位時間、かつ、集約データＤ１〜Ｄｍの連続値型の属性Ａｋの属性値Ｖ1ｋ〜Ｖmｋのうち連続する異なる属性値間の時間間隔の平均値ｈ２に近い単位時間を、属性Ａｋの粒度として算出することにしてもよい。例えば、上記平均値ｈ１を１２時間とし、上記平均値ｈ２を１日とすると、算出部７０５が、上記平均値ｈ１より小さい単位時間かつ上記平均値ｈ２に近い１時間を、属性Ａｋの粒度として算出する。
【００９２】
つぎに、集約データＤ１〜Ｄｍを選択する操作入力が第２の操作入力の場合について説明する。この場合、算出部７０５が、例えば、第１の間隔と第２の間隔とに基づいて、連続値型の属性Ａｋの粒度を算出する。ここで、第１の間隔は、図表に含まれる各々の集約データに対応する連続値型の属性Ａｋの属性値のうちの最小値と最大値との間隔である。第２の間隔は、集約データＤ１〜Ｄｍに対応する連続値型の属性Ａｋの属性値のうちの最小値Ｖｋminと最大値Ｖｋmaxとの間隔である。
【００９３】
より具体的には、例えば、算出部７０５が、第２の間隔が、第１の間隔の２分の１以下の場合、第２の間隔より小さいいずれかの単位間隔を、連続値型の属性Ａｋの粒度として算出することにしてもよい。また、算出部７０５が、第２の間隔が、第１の間隔の２分の１より大きい場合、第２の間隔と同じ単位間隔、または、第２の間隔より大きいいずれかの単位間隔を、連続値型の属性Ａｋの粒度として算出することにしてもよい。
【００９４】
例えば、第１の間隔を３日とし、第２の間隔を１日とする。この場合、第２の間隔が、第１の間隔の２分の１以下のため、算出部７０５が、例えば、第２の間隔「１日」より小さい最大の単位時間「１時間」を、連続値型の属性Ａｋの粒度として算出する。また、例えば、第１の間隔を３日とし、第２の間隔を２日とする。この場合、第２の間隔が、第１の間隔の２分の１より大きいため、算出部７０５が、例えば、第２の間隔「２日」より大きい最小の単位時間「１月」を、連続値型の属性Ａｋの粒度として算出する。
【００９５】
また、検索部７０４は、生成された検索条件と、算出された連続値型の属性Ａｋの粒度とに基づいて、データ群ｄ１〜ｄｎの中から分析対象となるデータを検索することにしてもよい。より具体的には、例えば、生成部７０３が、条件式Ｅに含まれる連続値型の属性Ａｋについての属性値を、算出された属性Ａｋの粒度に合わせて変更する。
【００９６】
例えば、連続値型の属性Ａｋを属性「日時」として、属性「日時」の粒度を「１時間」とする。また、集約データＤｊの属性「日時」の属性値を「２／１  １２：００：００」とする。この場合、生成部７０３が、集約データＤｊの属性「日時」の属性値「２／１  １２：００：００」のうち粒度「１時間」以下の部分を切り捨てることにより、属性「日時」の属性値を「２／１  １２時」に変更する。
【００９７】
すなわち、生成部７０３が、属性Ａｋの粒度に合わせて、集約データＤｊを加工する。この結果、属性Ａｋの属性値が、属性Ａｋの粒度に合わせて変更された加工後の集約データＤｊに基づく条件式Ｅが生成される。そして、検索部７０４が、データベース１１０に記憶されているデータ群ｄ１〜ｄｎの中から、加工後の集約データＤｊに基づく条件式Ｅを満たすデータを検索する。この結果、連続値型の属性Ａｋについて、属性Ａｋの粒度のデータが検索される。
【００９８】
作成部７０６は、検索された分析対象となるデータのうち、属性Ａ１〜ＡＫおよび属性ＡＬの属性値の組合せが同一となるデータを集約した集約データを、属性Ａ１〜ＡＫおよび属性ＡＬの属性値の組合せと対応付けて表す図表を作成する機能を有する。ここで、属性ＡＬは、各データｄ１〜ｄｎが有する複数の属性のうち、属性Ａ１〜ＡＫとは異なる他の属性である。
【００９９】
すなわち、作成部７０６は、図表に表す属性を新たに追加して、集約データＤ１〜Ｄｍについて、より詳細化した図表を作成する（ドリルダウン）。属性ＡＬは、例えば、集約データＤ１〜Ｄｍを選択するユーザの操作入力に応じて、属性Ａ１〜ＡＫに対して予め設定されている。
【０１００】
具体的には、例えば、作成部７０６が、ユーザの操作入力が第１の操作入力の場合に、属性Ａ１〜ＡＫに対して予め設定されている属性ＡＬを追加して図表を作成することにしてもよい。すなわち、各々の集約データを直接指定する第１の操作入力が行われた場合に、集約データＤ１〜Ｄｍをより詳細化するために新たな属性ＡＬを追加する。
【０１０１】
なお、新たに追加する属性ＡＬは、例えば、作成部７０６による図表の作成に先立って、クライアント装置３０２のユーザの操作入力により、複数の属性のうちの属性Ａ１〜ＡＫを除く属性の中から選ばれたものであってもよい。また、属性ＡＬは、複数個であってもよい。
【０１０２】
また、作成部７０６は、属性Ａ１〜ＡＫの中からいずれかの属性Ａｋを除外して図表を作成することにしてもよい。属性Ａ１〜ＡＫの中から除外する属性Ａｋは任意に設定可能である。すなわち、作成部７０６は、属性Ａ１〜ＡＫに新たな属性を追加したり、属性Ａ１〜ＡＫの中からいずれかの属性Ａｋを除外したりして図表を作成することができる。
【０１０３】
具体的には、例えば、作成部７０６が、ユーザの操作入力が第２の操作入力の場合、属性Ａ１〜ＡＫのうちのいずれかの属性Ａｋを属性ＡＬに変更して図表を作成する。すなわち、集約データＤ１〜Ｄｍを含む範囲を指定する第２の操作入力が行われた場合に、集約データＤ１〜Ｄｍを包括的に分析するために、属性Ａ１〜ＡＫの中からいずれかの属性Ａｋを他の属性に切り替えて表す図表を作成する。
【０１０４】
送信部７０７は、作成された図表を表す図表情報をクライアント装置３０２に送信する機能を有する。この結果、ユーザにより選択された集約データＤ１〜Ｄｍについて、より詳細化した図表がクライアント装置３０２のディスプレイ４０９に表示されることになる。
【０１０５】
なお、上述した説明では、ユーザが使用するコンピュータとして情報提供装置３０１とは異なるクライアント装置３０２を設けることにしたが、これに限らない。例えば、ユーザが、情報提供装置３０１を直接操作して図表の閲覧、集約データの選択等を行うことにしてもよい。この場合、情報提供装置３０１が、ディスプレイ４０９に表示された図表の中から集約データを選択するユーザの操作入力を受け付けることになる。
【０１０６】
また、情報提供装置３０１は、生成部７０３によって生成された検索条件を、データベース１１０にアクセス可能な他のコンピュータに出力することにしてもよい。これにより、他のコンピュータにより、分析対象となるデータを検索することができる。
【０１０７】
また、情報提供装置３０１は、検索部７０４によって検索された分析対象となるデータを他のコンピュータに出力することにしてもよい。これにより、他のコンピュータにより、ユーザにより選択された集約データＤ１〜Ｄｍについて、より詳細化した図表を作成することができる。
【０１０８】
（ドリルダウンの一例）
つぎに、図８〜図１１を用いて、情報提供装置３０１を用いたドリルダウンの一例について説明する。図８は、ドリルダウンの一例を示す説明図（その１）である。図８において、グラフ８１０は、ある日時（または、期間）における各地域の就労種別ごとの人口を表す棒グラフである。グラフ８１０は、例えば、クライアント装置３０２のディスプレイ４０９に表示される。なお、グラフ８１０は、図１に示したグラフ１２０と同様のため、ここでは詳細な説明を省略する。
【０１０９】
ユーザは、ディスプレイ４０９に表示されたグラフ８１０を見ながら、集約データ８１１〜８１９の中から掘り下げて分析したい集約データを選択する。図８の例では、マウス４１１の左クリックとキーボード４１０のコントロールキーを使用した第１の操作入力により、集約データ８１１と集約データ８１５が直接指定されている。
【０１１０】
この場合、受信部７０１により、グラフ８１０の識別情報と、グラフ８１０の中から選択された集約データ８１１，８１５の識別情報と、ユーザの操作入力が第１の操作入力であることを表す操作情報とを含む受付結果がクライアント装置３０２から受信される。
【０１１１】
ここでは、ユーザの操作入力が第１の操作入力である。このため、生成部７０３により、属性「地域」および「就労種別」の属性値の組合せが、集約データ８１１，８１５のうちのいずれかの集約データと同一となるデータを検索する条件式Ｅａが生成される。
【０１１２】
Ｅａ＝（「地域＝関東」ＡＮＤ「就労種別＝学生」）
ＯＲ（「地域＝関西」ＡＮＤ「就労種別＝労働者」）
【０１１３】
つぎに、検索部７０４により、例えば、データベース１１０に記憶されているデータ群ｄ１〜ｄｎの中から、生成された条件式Ｅａを満たすデータ（分析対象データ）が検索される。なお、ここでは、データベース１１０に記憶されているデータ群ｄ１〜ｄｎのうち、ある日時（または、期間）のデータのみに着目した場合を想定する。
【０１１４】
ここで、集約データ８１１，８１５について、より詳細化した図表を作成するために新たに追加される属性として、属性「性別」が設定されている場合を想定する。すなわち、属性「地域」および「就労種別」に新たな属性「性別」を追加して、集約データ８１１，８１５についてのドリルダウンを実施する。
【０１１５】
この場合、作成部７０６により、グラフ８２０が作成される。グラフ８２０は、ある日時（または、期間）における各地域の就労種別ごとの男女別人口を表す棒グラフである。具体的には、グラフ８２０は、分析対象データのうち、属性「地域」、「就労種別」および「性別」の属性値の組合せが同一となるデータを集約した集約データ８２１〜８２４を、該属性値の組合せと対応付けて表す図表である。
【０１１６】
ここで、集約データ８２１は、地域「関東」の就労種別「学生」の性別「男性」の人口「６０」を表している。集約データ８２２は、地域「関東」の就労種別「学生」の性別「女性」の人口「４０」を表している。集約データ８２３は、地域「関西」の就労種別「労働者」の性別「男性」の人口「５０」を表している。集約データ８２４は、地域「関西」の就労種別「労働者」の性別「女性」の人口「４０」を表している。
【０１１７】
そして、送信部７０７により、作成されたグラフ８２０をクライアント装置３０２に送信する。この結果、グラフ８２０がクライアント装置３０２のディスプレイ４０９に表示される。これにより、ユーザは、ある日時（または、期間）における各地域の就労種別ごとの男女別人口を把握することができる。
【０１１８】
図９は、ドリルダウンの一例を示す説明図（その２）である。図９において、グラフ８１０は、ある日時（または、期間）における各地域の就労種別ごとの人口を表す棒グラフである。グラフ８１０は、例えば、クライアント装置３０２のディスプレイ４０９に表示される。
【０１１９】
ユーザは、ディスプレイ４０９に表示されたグラフ８１０を見ながら、集約データ８１１〜８１９の中から掘り下げて分析したい集約データを選択する。図９の例では、マウス４１１のドラッグ＆ドロップ操作を使用したユーザの操作入力により、ディスプレイ４０９に表示されている集約データ８１１，８１２，８１４，８１５を含む範囲９０１が指定されている。
【０１２０】
この場合、受信部７０１により、グラフ８１０の識別情報と、選択された集約データ８１１，８１２，８１４，８１５の識別情報と、ユーザの操作入力が第２の操作入力であることを表す操作情報とを含む受付結果がクライアント装置３０２から受信される。
【０１２１】
ここでは、ユーザの操作入力が第２の操作入力である。このため、生成部７０３により、属性「地域」および「就労種別」の各々の属性の属性値が、集約データ８１１，８１２，８１４，８１５のうちのいずれかの集約データに対応する属性値と同一となるデータを検索する条件式Ｅｂが生成される。
【０１２２】
Ｅｂ＝（「地域＝関東」ＯＲ「地域＝関西」）
ＡＮＤ（「就労種別＝学生」ＯＲ「就労種別＝労働者」）
【０１２３】
つぎに、検索部７０４により、例えば、データベース１１０に記憶されているデータ群ｄ１〜ｄｎの中から、生成された条件式Ｅｂを満たす分析対象データが検索される。なお、ここでは、データベース１１０に記憶されているデータ群ｄ１〜ｄｎのうち、ある日時（または、期間）のデータのみに着目した場合を想定する。
【０１２４】
ここで、集約データ８１１，８１２，８１４，８１５を包括的に分析する際に、より詳細化した図表を作成するために新たに追加される属性として、属性「性別」が設定されている場合を想定する。すなわち、属性「地域」および「就労種別」に新たな属性「性別」を追加して、ドリルダウンを実施する。
【０１２５】
この場合、作成部７０６により、グラフ９２０が作成される。グラフ９２０は、ある日時（または、期間）における各地域の男女別人口（就労種別：学生、労働者）を表す棒グラフである。具体的には、グラフ９２０は、分析対象データのうち、属性「地域」および「性別」の属性値の組合せが同一となるデータを集約した集約データ９２１〜９２４を、該属性値の組合せと対応付けて表す図表である。
【０１２６】
ここで、集約データ９２１は、地域「関東」の就労種別「学生または労働者」の性別「男性」の人口「１１０」を表している。集約データ９２２は、地域「関東」の就労種別「学生または労働者」の性別「女性」の人口「６０」を表している。集約データ９２３は、地域「関西」の就労種別「学生または労働者」の性別「男性」の人口「１００」を表している。集約データ９２４は、地域「関西」の就労種別「学生または労働者」の性別「女性」の人口「９０」を表している。
【０１２７】
そして、送信部７０７により、作成されたグラフ９２０をクライアント装置３０２に送信する。この結果、グラフ９２０がクライアント装置３０２のディスプレイ４０９に表示される。これにより、ユーザは、ある日時（または、期間）における各地域の男女別人口（就労種別：学生、労働者）を把握することができる。
【０１２８】
図１０は、ドリルダウンの一例を示す説明図（その３）である。図１０において、グラフ１０００は、各日時における就労種別ごとの人口を表すチャートである。グラフ１０００は、例えば、クライアント装置３０２のディスプレイ４０９に表示される。
【０１２９】
グラフ１０００は、各日時における就労種別「学生」の人口を表すグラフ１０１０と、各日時における就労種別「労働者」の人口を表すグラフ１０２０と、各日時における就労種別「無職」の人口を表すグラフ１０３０と、を含む。グラフ１０１０は、集約データ１０１１〜１０１７を含む。また、グラフ１０２０は、集約データ１０２１〜１０２７を含む。また、グラフ１０３０は、集約データ１０３１〜１０３７を含む。
【０１３０】
ここで、グラフ１０１０を例に挙げると、集約データ１０１１は、日時「２／１  ００：００：００」における就労種別「学生」の人口「９０」を表している。集約データ１０１２は、日時「２／１  １２：００：００」における就労種別「学生」の人口「１２０」を表している。集約データ１０１３は、日時「２／２  ００：００：００」における就労種別「学生」の人口「３０」を表している。
【０１３１】
集約データ１０１４は、日時「２／２  １２：００：００」における就労種別「学生」の人口「２０」を表している。集約データ１０１５は、日時「２／３  ００：００：００」における就労種別「学生」の人口「３０」を表している。集約データ１０１６は、日時「２／３  １２：００：００」における就労種別「学生」の人口「１０」を表している。集約データ１０１７は、日時「２／４  ００：００：００」における就労種別「学生」の人口「１０」を表している。
【０１３２】
ユーザは、ディスプレイ４０９に表示されたグラフ１０００を見ながら、集約データ１０１１〜１０１７，１０２１〜１０２７，１０３１〜１０３７の中から掘り下げて分析したい集約データを選択する。図１０の例では、マウス４１１の左クリックとキーボード４１０のコントロールキーを使用した第１の操作入力により、集約データ１０２２と集約データ１０３４が直接指定されている。
【０１３３】
この場合、受信部７０１により、グラフ１０００の識別情報と、グラフ１０００の中から選択された集約データ１０２２，１０３４の識別情報と、ユーザの操作入力が第１の操作入力であることを表す操作情報とを含む受付結果がクライアント装置３０２から受信される。
【０１３４】
ここでは、ユーザの操作入力が第１の操作入力である。また、属性「日時」の種類は、連続値型である。また、属性「日時」の粒度は、グラフ１０００上でのプロット間隔「１２時間（上述した平均値ｈ１）」より小さい単位時間、かつ、集約データ１０２２，１０３４間での属性「日時」の時間間隔「１日（上述した平均値ｈ２）」に近い単位時間「１時間」となる。
【０１３５】
このため、生成部７０３により、属性「就労種別」および「日時」の属性値の組合せが、集約データ１０２２，１０３４のうちのいずれかの集約データと同一となるデータを検索する条件式Ｅｃが生成される。
【０１３６】
Ｅｃ＝（「就労種別＝労働者」ＡＮＤ「日時＝２／１  １２時」）
ＯＲ（「就労種別＝無職」ＡＮＤ「日時＝２／２  １２時」）
【０１３７】
つぎに、検索部７０４により、例えば、データベース１１０に記憶されているデータ群ｄ１〜ｄｎの中から、生成された条件式Ｅｃを満たす分析対象データが検索される。ここで、属性「日時」の粒度は、１時間である。この場合、作成部７０６により、グラフ１０４０，１０５０が作成される。なお、図面では、グラフ１０４０，１０５０の一部を抜粋して表示している。
【０１３８】
グラフ１０４０は、各日時（単位時間：１時間）における就労種別「労働者」の人口を表すチャートである。グラフ１０５０は、各日時（単位時間：１時間）における就労種別「無職」の人口を表すチャートである。すなわち、単位時間（１時間）ごとの各就労種別の人口を表示することにより、集約データ１０２２，１０３４が詳細化されている。
【０１３９】
例えば、グラフ１０４０において、集約データ１０４１は、日時「２／１  １２：００：００」における就労種別「労働者」の人口「２１０」を表している。また、集約データ１０４２は、日時「２／１  １３：００：００」における就労種別「労働者」の人口「５０」を表している。
【０１４０】
例えば、グラフ１０５０において、集約データ１０５１は、日時「２／２  １２：００：００」における就労種別「労働者」の人口「１６０」を表している。また、集約データ１０５２は、日時「２／２  １３：００：００」における就労種別「労働者」の人口「１６０」を表している。
【０１４１】
そして、送信部７０７により、作成されたグラフ１０４０，１０５０をクライアント装置３０２に送信する。この結果、グラフ１０４０，１０５０がクライアント装置３０２のディスプレイ４０９に表示される。これにより、ユーザは、２月１日（１２時〜）における１時間ごとの就労種別「労働者」の人口の推移を把握することができる。また、ユーザは、２月２日（１２時〜）における１時間ごとの就労種別「無職」の人口の推移を把握することができる。
【０１４２】
図１１は、ドリルダウンの一例を示す説明図（その４）である。図１１において、グラフ１０００は、各日時における就労種別ごとの人口を表すチャートである。グラフ１０００は、例えば、クライアント装置３０２のディスプレイ４０９に表示される。
【０１４３】
ユーザは、ディスプレイ４０９に表示されたグラフ１０００を見ながら、集約データ１０１１〜１０１７，１０２１〜１０２７，１０３１〜１０３７の中から掘り下げて分析したい集約データを選択する。図１１の例では、マウス４１１のドラッグ＆ドロップ操作を使用したユーザの操作入力により、ディスプレイ４０９に表示されている集約データ１０１１〜１０１４，１０３１〜１０３４を含む範囲１１００が指定されている。
【０１４４】
この場合、受信部７０１により、グラフ１０００の識別情報と、グラフ１０００の中から選択された集約データ１０１１〜１０１４，１０３１〜１０３４の識別情報と、ユーザの操作入力が第２の操作入力であることを表す操作情報とを含む受付結果が受信される。
【０１４５】
ここでは、ユーザの操作入力が第２の操作入力である。また、属性「日時」の種類は、連続値型である。また、属性「日時」の粒度は、グラフ１０００上での選択範囲（上述した第２の間隔）が、表示範囲（上述した第１の間隔）の２分の１以下のため「１時間」となる。
【０１４６】
このため、生成部７０３により、属性「就労種別」および「日時」それぞれの条件式の論理積をとって条件式Ｅｄが生成される。
【０１４７】
Ｅｄ＝（「２／１  ０時≦日時」ＡＮＤ「日時≦２／２  １２時」）
ＡＮＤ（「就労種別＝学生」ＯＲ「就労種別＝無職」）
【０１４８】
つぎに、検索部７０４により、例えば、データベース１１０に記憶されているデータ群ｄ１〜ｄｎの中から、生成された条件式Ｅｄを満たす分析対象データが検索される。ここで、属性「日時」の粒度は、１時間である。この場合、作成部７０６により、グラフ１１１０，１１２０が作成される。なお、図面では、グラフ１１１０，１１２０の一部を抜粋して表示している。
【０１４９】
グラフ１１１０は、各日時（単位時間：１時間）における就労種別「学生」の人口を表すチャートである。グラフ１１２０は、各日時（単位時間：１時間）における就労種別「無職」の人口を表すチャートである。すなわち、集約データ１０１１〜１０１４，１０３１〜１０３４を包括的に分析する際に、単位時間（１時間）ごとの各就労種別の人口を表示することにより詳細化されている。
【０１５０】
例えば、グラフ１１１０において、集約データ１１１１は、日時「２／１  ００：００：００」における就労種別「学生」の人口「２１０」を表している。また、集約データ１１１２は、日時「２／１  ０１：００：００」における就労種別「学生」の人口「５０」を表している。
【０１５１】
例えば、グラフ１１２０において、集約データ１１２１は、日時「２／１  ００：００：００」における就労種別「無職」の人口「１６０」を表している。また、集約データ１１２２は、日時「２／１  ０１：００：００」における就労種別「無職」の人口「１６０」を表している。
【０１５２】
そして、送信部７０７により、作成されたグラフ１１１０，１１２０をクライアント装置３０２に送信する。この結果、グラフ１１１０，１１２０がクライアント装置３０２のディスプレイ４０９に表示される。これにより、ユーザは、２月１日（０時〜）における１時間ごとの就労種別「学生」の人口の推移を把握することができる。また、ユーザは、２月１日（０時〜）における１時間ごとの就労種別「無職」の人口の推移を把握することができる。
【０１５３】
（クライアント装置３０２の図表表示処理手順）
つぎに、クライアント装置３０２の図表表示処理手順について説明する。図１２は、クライアント装置３０２の図表表示処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、まず、表示部６０２により、図表をディスプレイ４０９に表示する（ステップＳ１２０１）。この図表は、情報提供装置３０１からの図表情報が表す図表である。
【０１５４】
つぎに、受付部６０３により、ディスプレイ４０９に表示された図表の中から集約データを選択するユーザの操作入力を受け付けたか否かを判断する（ステップＳ１２０２）。ここで、受付部６０３により、ユーザの操作入力を受け付けるのを待つ（ステップＳ１２０２：Ｎｏ）。
【０１５５】
そして、受付部６０３により、ユーザの操作入力を受け付けた場合（ステップＳ１２０２：Ｙｅｓ）、送信部６０４により、受け付けられた受付結果を情報提供装置３０１に送信する（ステップＳ１２０３）。つぎに、受信部６０１により、情報提供装置３０１から図表情報を受信したか否かを判断する（ステップＳ１２０４）。
【０１５６】
ここで、受信部６０１により、情報提供装置３０１から図表情報を受信するのを待つ（ステップＳ１２０４：Ｎｏ）。そして、受信部６０１により、図表情報を受信した場合（ステップＳ１２０４：Ｙｅｓ）、表示部６０２により、受信された図表情報が表す図表をディスプレイ４０９に表示して（ステップＳ１２０５）、本フローチャートによる一連の処理を終了する。
【０１５７】
これにより、情報提供装置３０１から提供される図表情報が表す図表をディスプレイ４０９に表示することができる。また、ディスプレイ４０９に表示された図表の中から集約データを選択するユーザの操作入力を受け付けた場合に、その受付結果を情報提供装置３０１に通知することができる。
【０１５８】
（情報提供装置３０１の情報提供処理手順）
つぎに、情報提供装置３０１の情報提供処理手順について説明する。図１３は、情報提供装置３０１の情報提供処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、受信部７０１により、クライアント装置３０２から受付結果を受信したか否かを判断する（ステップＳ１３０１）。
【０１５９】
ここで、受信部７０１により、クライアント装置３０２から受付結果を受信するのを待つ（ステップＳ１３０１：Ｎｏ）。そして、受信部７０１により、受付結果を受信した場合（ステップＳ１３０１：Ｙｅｓ）、判定部７０２により、受信された受付結果に基づいて、集約データＤ１〜Ｄｍを選択する操作入力が、第１の操作入力か第２の操作入力かを判定する（ステップＳ１３０２）。
【０１６０】
ここで、第１の操作入力の場合（ステップＳ１３０２：第１の操作入力）、生成部７０３により、データ群ｄ１〜ｄｎの中から分析対象データを検索する条件式Ｅを生成する第１の生成処理を実行して（ステップＳ１３０３）、ステップＳ１３０５に移行する。
【０１６１】
一方、第２の操作入力の場合（ステップＳ１３０２：第２の操作入力）、生成部７０３により、データ群ｄ１〜ｄｎの中から分析対象データを検索する条件式Ｅを生成する第２の生成処理を実行する（ステップＳ１３０４）。そして、検索部７０４により、生成された検索条件に基づいて、データベース１１０内のデータ群ｄ１〜ｄｎの中から分析対象データを検索する（ステップＳ１３０５）。
【０１６２】
つぎに、作成部７０６により、検索された分析対象データに基づいて、新たな図表を表す図表情報を作成する（ステップＳ１３０６）。そして、送信部７０７により、作成された図表情報をクライアント装置３０２に送信して（ステップＳ１３０７）、本フローチャートによる一連の処理を終了する。
【０１６３】
これにより、ディスプレイ４０９に表示された図表の中から集約データＤ１〜Ｄｍを選択するユーザの操作入力に応じた図表を作成してクライアント装置３０２に提供することができる。
【０１６４】
＜第１の生成処理手順＞
つぎに、図１３に示したステップＳ１３０３の第１の生成処理の具体的な処理手順について説明する。図１４は、第１の生成処理の具体的処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、生成部７０３により、集約データＤｊの「ｊ」を「ｊ＝１」として（ステップＳ１４０１）、集約データＤ１〜Ｄｍの中から集約データＤｊを選択する（ステップＳ１４０２）。
【０１６５】
そして、生成部７０３により、選択した集約データＤｊを加工するデータ加工処理を実行する（ステップＳ１４０３）。つぎに、生成部７０３により、属性Ａｋの「ｋ」を「ｋ＝１」として（ステップＳ１４０４）、属性Ａ１〜ＡＫの中から属性Ａｋを選択する（ステップＳ１４０５）。
【０１６６】
そして、生成部７０３により、集約データＤｊについての属性Ａｋの条件式Ｅｊｋを生成する（ステップＳ１４０６）。条件式Ｅｊｋは、「Ｅｊｋ：Ａｋ＝Ｖjｋ」である。つぎに、生成部７０３により、集約データＤｊについての条件式Ｅｊがあるか否かを判断する（ステップＳ１４０７）。
【０１６７】
ここで、条件式Ｅｊがない場合（ステップＳ１４０７：Ｎｏ）、生成した条件式Ｅｊｋを条件式Ｅｊとして（ステップＳ１４０８）、ステップＳ１４１０に移行する。一方、条件式Ｅｊがある場合（ステップＳ１４０７：Ｙｅｓ）、生成部７０３により、条件式Ｅｊに生成した条件式ＥｊｋをＡＮＤ条件で結合する（ステップＳ１４０９）。
【０１６８】
そして、生成部７０３により、属性Ａｋの「ｋ」をインクリメントして（ステップＳ１４１０）、「ｋ」が「Ｋ」より大きくなったか否かを判断する（ステップＳ１４１１）。ここで、「ｋ」が「Ｋ」以下の場合（ステップＳ１４１１：Ｎｏ）、ステップＳ１４０５に戻る。
【０１６９】
一方、「ｋ」が「Ｋ」より大きい場合（ステップＳ１４１１：Ｙｅｓ）、生成部７０３により、集約データＤｊの「ｊ」をインクリメントして（ステップＳ１４１２）、「ｊ」が「ｍ」より大きくなったか否かを判断する（ステップＳ１４１３）。
【０１７０】
ここで、「ｊ」が「ｍ」以下の場合（ステップＳ１４１３：Ｎｏ）、ステップＳ１４０２に戻る。一方、「ｊ」が「ｍ」より大きい場合（ステップＳ１４１３：Ｙｅｓ）、生成部７０３により、各集約データＤ１〜Ｄｍの条件式Ｅ１〜ＥｍをＯＲ条件で結合して条件式Ｅを生成し（ステップＳ１４１４）、図１３に示したステップＳ１３０５に移行する。
【０１７１】
これにより、データ群ｄ１〜ｄｎの中から、属性Ａ１〜ＡＫの属性値の組合せが、集約データＤ１〜Ｄｍのうちのいずれかの集約データＤｊと同一となるデータを検索する条件式Ｅを生成することができる。
【０１７２】
＜第２の生成処理手順＞
つぎに、図１３に示したステップＳ１３０４の第２の生成処理の具体的な処理手順について説明する。図１５および図１６は、第２の生成処理の具体的処理手順の一例を示すフローチャートである。
【０１７３】
図１５のフローチャートにおいて、まず、生成部７０３により、集約データＤｊの「ｊ」を「ｊ＝１」として（ステップＳ１５０１）、集約データＤ１〜Ｄｍの中から集約データＤｊを選択する（ステップＳ１５０２）。
【０１７４】
そして、生成部７０３により、選択した集約データＤｊを加工するデータ加工処理を実行する（ステップＳ１５０３）。つぎに、生成部７０３により、属性Ａｋの「ｋ」を「ｋ＝１」として（ステップＳ１５０４）、属性Ａ１〜ＡＫの中から属性Ａｋを選択する（ステップＳ１５０５）。
【０１７５】
そして、判定部７０２により、属性Ａｋの種類が離散値型か連続値型かを判定する（ステップＳ１５０６）。ここで、属性Ａｋの種類が連続値型の場合（ステップＳ１５０６：連続値型）、図１６に示すステップＳ１６０１に移行する。
【０１７６】
一方、属性Ａｋの種類が離散値型の場合（ステップＳ１５０６：離散値型）、生成部７０３により、属性Ａｋの条件式Ｅｋｊを生成する（ステップＳ１５０７）。条件式Ｅｋｊは、「Ｅｋｊ：Ａｋ＝Ｖjｋ」である。つぎに、生成部７０３により、属性Ａｋについての条件式Ｅｋがあるか否かを判断する（ステップＳ１５０８）。
【０１７７】
ここで、条件式Ｅｋがない場合（ステップＳ１５０８：Ｎｏ）、生成した条件式Ｅｋｊを条件式Ｅｋとして（ステップＳ１５０９）、ステップＳ１５１１に移行する。一方、条件式Ｅｋがある場合（ステップＳ１５０８：Ｙｅｓ）、生成部７０３により、条件式Ｅｋに生成した条件式ＥｋｊをＯＲ条件で結合する（ステップＳ１５１０）。
【０１７８】
そして、生成部７０３により、属性Ａｋの「ｋ」をインクリメントして（ステップＳ１５１１）、「ｋ」が「Ｋ」より大きくなったか否かを判断する（ステップＳ１５１２）。ここで、「ｋ」が「Ｋ」以下の場合（ステップＳ１５１２：Ｎｏ）、ステップＳ１５０５に戻る。
【０１７９】
一方、「ｋ」が「Ｋ」より大きい場合（ステップＳ１５１２：Ｙｅｓ）、生成部７０３により、集約データＤｊの「ｊ」をインクリメントして（ステップＳ１５１３）、「ｊ」が「ｍ」より大きくなったか否かを判断する（ステップＳ１５１４）。
【０１８０】
ここで、「ｊ」が「ｍ」以下の場合（ステップＳ１５１４：Ｎｏ）、ステップＳ１５０２に戻る。一方、「ｊ」が「ｍ」より大きい場合（ステップＳ１５１４：Ｙｅｓ）、生成部７０３により、各属性Ａ１〜Ａｍの条件式Ｅ１〜ＥＫをＡＮＤ条件で結合して条件式Ｅを生成し（ステップＳ１５１５）、図１３に示したステップＳ１３０５に移行する。
【０１８１】
図１６のフローチャートにおいて、まず、生成部７０３により、集約データＤｊの属性Ａｋの属性値Ｖjｋは、左辺値か右辺値かそれ以外かを判定する（ステップＳ１６０１）。左辺値とは、属性値Ｖ1ｋ〜Ｖmｋのうちディスプレイ４０９上で最も左側に表示されている値であり、属性値Ｖ1ｋ〜Ｖmｋのうちの最小値を表している。右辺値とは、属性値Ｖ1ｋ〜Ｖmｋのうちディスプレイ４０９上で最も右側に表示されている値であり、属性値Ｖ1ｋ〜Ｖmｋのうちの最大値を表している。
【０１８２】
ここで、属性値Ｖjｋが左辺値の場合（ステップＳ１６０１：左辺値）、生成部７０３により、属性Ａｋの条件式Ｅｋminを生成して（ステップＳ１６０２）、ステップＳ１６０４に移行する。条件式Ｅｋminは、「条件式Ｅｋmin：Ｖjｋ≦Ａｋ」である。
【０１８３】
また、ステップＳ１６０１において、属性値Ｖjｋが右辺値の場合（ステップＳ１６０１：右辺値）、生成部７０３により、属性Ａｋの条件式Ｅｋmaxを生成する（ステップＳ１６０３）。条件式Ｅｋmaxは、「条件式Ｅｋmax：Ａｋ≦Ｖjｋ」である。
【０１８４】
そして、生成部７０３により、属性Ａｋについての条件式Ｅｋがあるか否かを判断する（ステップＳ１６０４）。ここで、条件式Ｅｋがない場合（ステップＳ１６０４：Ｎｏ）、生成した条件式Ｅｋminまたは条件式Ｅｋmaxを条件式Ｅｋとして（ステップＳ１６０５）、図１５に示したステップＳ１５１１に移行する。
【０１８５】
一方、条件式Ｅｋがある場合（ステップＳ１６０４：Ｙｅｓ）、生成部７０３により、条件式Ｅｋに生成した条件式Ｅｋminまたは条件式ＥｋmaxをＡＮＤ条件で結合して（ステップＳ１６０６）、図１５に示したステップＳ１５１１に移行する。また、ステップＳ１６０１において、属性値Ｖjｋがそれ以外の場合（ステップＳ１６０１：それ以外）、図１５に示したステップＳ１５１１に移行する。
【０１８６】
これにより、データ群ｄ１〜ｄｎの中から、離散値型の属性Ａｋの属性値が、集約データＤ１〜Ｄｍのうちのいずれかの集約データＤｊに対応する属性Ａｋの属性値と同一となるデータを検索する条件式Ｅｋを生成することができる。また、データ群ｄ１〜ｄｎの中から、連続値型の属性Ａｋの属性値が、集約データＤ１〜Ｄｍに対応する属性Ａｋの属性値Ｖ1ｋ〜Ｖmｋのうちの最小値Ｖｋminから最大値Ｖｋmaxまでの範囲に含まれるデータを検索する検索式Ｅｋを生成することができる。そして、属性Ａｋごとの条件式Ｅｋの論理積をとって、データ群ｄ１〜ｄｎの中から分析対象となるデータを検索する検索条件となる条件式Ｅを生成することができる。
【０１８７】
＜データ加工処理手順＞
つぎに、図１４に示したステップＳ１４０３および図１５に示したステップＳ１５０３のデータ加工処理の具体的な処理手順について説明する。ここでは、図１４に示したステップＳ１４０３のデータ加工処理を例に挙げて説明する。
【０１８８】
図１７は、データ加工処理の具体的処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、生成部７０３により、属性Ａｋの「ｋ」を「ｋ＝１」として（ステップＳ１７０１）、属性Ａ１〜ＡＫの中から属性Ａｋを選択する（ステップＳ１７０２）。そして、判定部７０２により、属性Ａｋの種類が離散値型か連続値型かを判定する（ステップＳ１７０３）。
【０１８９】
ここで、属性Ａｋの種類が離散値型の場合（ステップＳ１７０３：離散値型）、ステップＳ１７０９に移行する。一方、属性Ａｋの種類が連続値型の場合（ステップＳ１７０３：連続値型）、算出部７０５により、集約データＤ１〜Ｄｍを選択する操作入力が、第１の操作入力か第２の操作入力かを判定する（ステップＳ１７０４）。
【０１９０】
ここで、第１の操作入力の場合（ステップＳ１７０４：第１の操作入力）、算出部７０５により、図表を表す図表情報に基づいて、属性値間の間隔の平均値ｈ１を算出する（ステップＳ１７０５）。この図表は、クライアント装置３０２のディスプレイ４０９に表示されている図表である。また、平均値ｈ１は、図表に含まれる各々の集約データの連続値型の属性Ａｋの属性値のうち、連続する異なる属性値間の間隔の平均値（例えば、プロット間隔）である。
【０１９１】
つぎに、算出部７０５により、図表を表す図表情報に基づいて、属性値間の時間間隔の平均値ｈ２を算出する（ステップＳ１７０６）。平均値ｈ２は、集約データＤ１〜Ｄｍの連続値型の属性Ａｋの属性値Ｖ1ｋ〜Ｖmｋのうち連続する異なる属性値間の時間間隔の平均値（例えば、選択間隔）である。
【０１９２】
そして、算出部７０５により、平均値ｈ１より小さい単位間隔、かつ、平均値ｈ２に近い単位間隔を、属性Ａｋの粒度として算出する（ステップＳ１７０７）。つぎに、生成部７０３により、集約データＤｊの属性Ａｋの属性値Ｖjｋのうち属性Ａｋの粒度以下を切り捨てて、集約データＤｊを加工する（ステップＳ１７０８）。
【０１９３】
そして、生成部７０３により、属性Ａｋの「ｋ」をインクリメントして（ステップＳ１７０９）、「ｋ」が「Ｋ」より大きくなったか否かを判断する（ステップＳ１７１０）。ここで、「ｋ」が「Ｋ」以下の場合（ステップＳ１７１０：Ｎｏ）、ステップＳ１７０２に戻る。一方、「ｋ」が「Ｋ」より大きい場合（ステップＳ１７１０：Ｙｅｓ）、図１４に示したステップＳ１４０４に移行する。
【０１９４】
また、ステップＳ１７０４において、第２の操作入力の場合（ステップＳ１７０４：第２の操作入力）、算出部７０５により、図表を表す図表情報に基づいて、第１の間隔を算出する（ステップＳ１７１１）。第１の間隔は、図表に含まれる各々の集約データに対応する連続値型の属性Ａｋの属性値のうちの最小値と最大値との間隔（例えば、表示範囲）である。
【０１９５】
つぎに、算出部７０５により、図表を表す図表情報に基づいて、第２の間隔を算出する（ステップＳ１７１２）。第２の間隔は、集約データＤ１〜Ｄｍに対応する連続値型の属性Ａｋの属性値のうちの最小値Ｖｋminと最大値Ｖｋmaxとの間隔である（例えば、選択範囲）。
【０１９６】
そして、算出部７０５により、第２の間隔が第１の間隔の２分の１以下か否かを判断する（ステップＳ１７１３）。ここで、２分の１以下の場合（ステップＳ１７１３：Ｙｅｓ）、算出部７０５により、第２の間隔より小さい最大の単位間隔を、連続値型の属性Ａｋの粒度として算出して（ステップＳ１７１４）、ステップＳ１７０８に移行する。
【０１９７】
一方、２分の１より大きい場合（ステップＳ１７１３：Ｎｏ）、算出部７０５により、第２の間隔より大きい最小の単位間隔を、連続値型の属性Ａｋの粒度として算出して（ステップＳ１７１５）、ステップＳ１７０８に移行する。これにより、集約データＤｊを連続値型の属性Ａｋの粒度に合わせて加工することができる。
【０１９８】
以上説明したように、実施の形態にかかる情報提供装置３０１によれば、ディスプレイ４０９に表示された図表の中から、掘り下げて分析したい集約データＤ１〜Ｄｍを選択するユーザの操作入力に応じて、分析対象データを検索する検索条件を生成することができる。具体的には、情報提供装置３０１によれば、ユーザの操作入力が、ディスプレイ４０９上の各々の集約データを直接指定する第１の操作入力か、ディスプレイ４０９上の集約データＤ１〜Ｄｍを含む範囲を指定する第２の操作入力かを判定することができる。そして、情報提供装置３０１によれば、判定した判定結果と各々の集約データに対応する属性Ａ１〜ＡＫの属性値の組合せとに基づいて、データ群ｄ１〜ｄｎの中から分析対象データを検索する条件式Ｅを生成することができる。
【０１９９】
すなわち、情報提供装置３０１によれば、第１の操作入力の場合、データ群ｄ１〜ｄｎから、属性Ａ１〜ＡＫの属性値の組合せが、集約データＤ１〜Ｄｍのうちのいずれかの集約データＤｊと同一となるデータを検索する条件式Ｅを生成することができる。
【０２００】
また、情報提供装置３０１によれば、第２の操作入力の場合、データ群ｄ１〜ｄｎから、属性Ａ１〜ＡＫに含まれる各々の属性の属性値が、集約データＤ１〜Ｄｍのうちのいずれかの集約データＤｊと同一となるデータを検索する条件式Ｅを生成することができる。より詳細に説明すると、データ群ｄ１〜ｄｎの中から、離散値型の属性Ａｋの属性値が、集約データＤ１〜Ｄｍのうちのいずれかの集約データＤｊに対応する属性Ａｋの属性値と同一となるデータを検索する条件式Ｅｋを生成することができる。また、データ群ｄ１〜ｄｎの中から、連続値型の属性Ａｋの属性値が、集約データＤ１〜Ｄｍに対応する属性Ａｋの属性値Ｖ1ｋ〜Ｖmｋのうちの最小値Ｖｋminから最大値Ｖｋmaxまでの範囲に含まれるデータを検索する検索式Ｅｋを生成することができる。そして、属性Ａｋごとの条件式Ｅｋの論理積をとって、データ群ｄ１〜ｄｎの中から分析対象となるデータを検索する検索条件となる条件式Ｅを生成することができる。
【０２０１】
これらのことから、ディスプレイ４０９に表示された図表の中から、掘り下げて分析したい集約データＤ１〜Ｄｍを選択するユーザの操作入力に応じて、集約データＤ１〜Ｄｍを選択したユーザの選択意図を判断することができる。この結果、選択された集約データ間での各属性Ａ１〜ＡＫの属性値のＡＮＤ条件やＯＲ条件や大小条件を判断して、ユーザが期待する図表を作成できる分析対象データを検索することができる。
【０２０２】
また、情報提供装置３０１によれば、生成した条件式Ｅを用いてデータ群ｄ１〜ｄｎの中から検索された分析対象データに基づいて、新たな図表を作成することができる。例えば、新たな属性ＡＬを追加して、検索した分析対象データのうち、属性Ａ１〜ＡＫおよび属性ＡＬの属性値の組合せが同一となるデータを集約した集約データを表す図表を作成することができる。
【０２０３】
具体的には、例えば、情報提供装置３０１によれば、ユーザの操作入力が第１の操作入力の場合、属性Ａ１〜ＡＫに対して予め設定されている属性ＡＬを追加して図表を作成することができる。これにより、集約データＤ１〜Ｄｍをより詳細化して表す図表を作成することができる。
【０２０４】
また、例えば、情報提供装置３０１によれば、ユーザの操作入力が第２の操作入力の場合、属性Ａ１〜ＡＫのうちのいずれかの属性Ａｋを属性ＡＬに変更して図表を作成することができる。これにより、集約データＤ１〜Ｄｍを包括的に分析するために、属性Ａ１〜ＡＫの中からいずれかの属性Ａｋを他の属性に切り替えて表す図表を作成することができる。
【０２０５】
また、情報提供装置３０１によれば、第１の操作入力の場合、図表に含まれる各々の集約データに対応する連続値型の属性Ａｋの属性値のうち連続する異なる属性値間の間隔に基づいて、連続値型の属性Ａｋの粒度を算出することができる。
【０２０６】
また、情報提供装置３０１によれば、第２の操作入力の場合、第１の間隔と第２の間隔とに基づいて、連続値型の属性Ａｋの粒度を算出することができる。第１の間隔は、図表に含まれる各々の集約データに対応する連続値型の属性Ａｋの属性値のうちの最小値と最大値との間隔である。第２の間隔は、集約データＤ１〜Ｄｍに対応する連続値型の属性Ａｋの属性値のうちの最小値Ｖｋminと最大値Ｖｋmaxとの間隔である。
【０２０７】
このように、連続値型の属性Ａｋについて、ユーザの操作入力に応じて属性Ａｋの粒度を算出することにより、ユーザがどのようにドリルダウンしたいのか、すなわち、どのようなデータ間隔で表示したいかを判断することができる。この結果、例えば、連続値型の属性Ａｋについて、属性Ａｋの粒度（例えば、１時間単位）のデータを表示することができる。
【０２０８】
なお、本実施の形態で説明した生成方法および検索支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本生成プログラムおよび本検索支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本生成プログラムおよび本検索支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２０９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２１０】
（付記１）コンピュータが、
複数の属性を有するデータ群のうち、前記複数の属性から選ばれた２以上の属性の属性値の組合せが同一となるデータを集約した集約データを、前記２以上の属性の属性値の組合せと対応付けて表す図表の中から、複数の集約データを選択する操作入力を受け付け、
受け付けた前記操作入力が、画面上に表示されている各々の集約データを直接指定する第１の操作入力か、前記画面上に表示されている前記複数の集約データを含む範囲を指定する第２の操作入力かを判定し、
判定した判定結果と前記各々の集約データに対応する前記２以上の属性の属性値の組合せとに基づいて、前記データ群の中から分析対象となるデータを検索する検索条件を生成する、
処理を実行することを特徴とする検索支援方法。
【０２１１】
（付記２）前記検索条件を生成する処理は、
前記操作入力が前記第１の操作入力の場合、前記データ群の中から、前記２以上の属性の属性値の組合せが、前記複数の集約データのうちのいずれかの集約データに対応する前記２以上の属性の属性値の組合せと同一となるデータを検索する検索条件を生成することを特徴とする付記１に記載の検索支援方法。
【０２１２】
（付記３）前記検索条件を生成する処理は、
前記操作入力が前記第２の操作入力の場合、前記データ群の中から、前記２以上の属性に含まれる各々の属性の属性値が、前記複数の集約データのうちのいずれかの集約データに対応する前記各々の属性の属性値と同一となるデータを検索する検索条件を生成することを特徴とする付記１または２に記載の検索支援方法。
【０２１３】
（付記４）前記コンピュータが、
前記各々の属性の種類が離散値型か連続値型かを判定し、
前記検索条件を生成する処理は、
前記操作入力が前記第２の操作入力の場合、前記データ群の中から、前記２以上の属性のうち離散値型の属性の属性値が、前記各々の集約データに対応する前記離散値型の属性のいずれかの属性値となり、かつ、前記２以上の属性のうち連続値型の属性の属性値が、前記各々の集約データに対応する前記連続値型の属性の属性値のうちの最小値から最大値までの範囲に含まれるデータを検索する検索条件を生成することを特徴とする付記１〜３のいずれか一つに記載の検索支援方法。
【０２１４】
（付記５）前記コンピュータが、
生成した前記検索条件に基づいて、前記データ群の中から前記分析対象となるデータを検索し、
検索した前記分析対象となるデータを出力する、
処理を実行することを特徴とする付記１〜４のいずれか一つに記載の検索支援方法。
【０２１５】
（付記６）前記コンピュータが、
前記操作入力が前記第１の操作入力の場合、前記図表に含まれる各々の集約データに対応する前記連続値型の属性の属性値のうち連続する異なる属性値間の間隔に基づいて、前記連続値型の属性の属性値の単位間隔を算出し、
前記分析対象となるデータを検索する処理は、
生成した前記検索条件と、算出した前記単位間隔とに基づいて、前記データ群の中から前記分析対象となるデータを検索することを特徴とする付記５に記載の検索支援方法。
【０２１６】
（付記７）前記単位間隔を算出する処理は、
前記操作入力が前記第２の操作入力の場合、前記図表に含まれる各々の集約データに対応する前記連続値型の属性の属性値のうちの最小値と最大値との間隔と、前記複数の集約データに含まれる各々の集約データに対応する前記連続値型の属性の属性値のうちの最小値と最大値との間隔とに基づいて、前記連続値型の属性の属性値の単位間隔を算出することを特徴とする付記６に記載の検索支援方法。
【０２１７】
（付記８）前記コンピュータが、
検索した前記分析対象となるデータのうち、前記２以上の属性および前記複数の属性のうち前記２以上の属性とは異なる他の属性の属性値の組合せが同一となるデータを集約した集約データを、前記２以上の属性および前記他の属性の属性値の組合せと対応付けて表示する図表を作成し、
作成した前記図表を出力する、
処理を実行することを特徴とする付記５〜７のいずれか一つに記載の検索支援方法。
【０２１８】
（付記９）コンピュータに、
複数の属性を有するデータ群のうち、前記複数の属性から選ばれた２以上の属性の属性値の組合せが同一となるデータを集約した集約データを、前記２以上の属性の属性値の組合せと対応付けて表す図表の中から、複数の集約データを選択する操作入力を受け付け、
受け付けた前記操作入力が、画面上に表示されている各々の集約データを直接指定する第１の操作入力か、前記画面上に表示されている前記複数の集約データを含む範囲を指定する第２の操作入力かを判定し、
判定した判定結果と前記各々の集約データに対応する前記２以上の属性の属性値の組合せとに基づいて、前記データ群の中から分析対象となるデータを検索する検索条件を生成する、
処理を実行させることを特徴とする検索支援プログラム。
【０２１９】
（付記１０）複数の属性を有するデータ群を記憶する記憶部と、
前記データ群のうち前記複数の属性から選ばれた２以上の属性の属性値の組合せが同一となるデータを集約した集約データを、前記２以上の属性の属性値の組合せと対応付けて表す図表を表示する表示部と、
前記表示部に表示された前記図表の中から複数の集約データを選択する操作入力を受け付ける受付部と、
前記受付部によって受け付けられた前記操作入力が、画面上に表示されている各々の集約データを直接指定する第１の操作入力か、前記画面上に表示されている前記複数の集約データを含む範囲を指定する第２の操作入力かを判定する判定部と、
前記判定部によって判定された判定結果と、前記各々の集約データに対応する前記２以上の属性の属性値の組合せとに基づいて、前記データ群の中から分析対象となるデータを検索する検索条件を生成する生成部と、
を含むことを特徴とするシステム。
【０２２０】
（付記１１）前記生成部によって生成された前記検索条件に基づいて、前記データ群の中から前記分析対象となるデータを検索する検索部と、
前記検索部によって検索された前記分析対象となるデータのうち、前記２以上の属性および前記複数の属性のうち前記２以上の属性とは異なる他の属性の属性値の組合せが同一となるデータを集約した集約データを、前記２以上の属性および前記他の属性の属性値の組合せと対応付けて表示する図表を作成する作成部と、
前記作成部によって作成された前記図表を出力する出力部と、
を含むことを特徴とする付記１０に記載のシステム。
【０２２１】
（付記１２）指定された表示要素に対応するデータを含む検索条件を生成するコンピュータに、
複数の表示要素が指定された場合に、前記複数の表示要素の指定方法に応じた演算子で、指定された前記複数の表示要素のそれぞれに対応する複数のデータを結合した検索条件を生成する、
ことを実行させることを特徴とする生成方法。
【０２２２】
（付記１３）前記コンピュータは、
前記複数の表示要素を表示画面の範囲指定により指定した場合に、前記複数のデータ間をＯＲ演算子で結合した検索条件を生成し、
前記複数の表示要素のそれぞれを指定することにより前記複数の表示要素を指定した場合に、前記複数のデータ間をＡＮＤ演算子で結合した検索条件を生成する、
ことを特徴とする付記１２に記載の生成方法。
【符号の説明】
【０２２３】
１０１  検索支援装置
３００  情報提供システム
３０１  情報提供装置
３０２  クライアント装置
６０１，７０１  受信部
６０２  表示部
６０３  受付部
６０４，７０７  送信部
７０２  判定部
７０３  生成部
７０４  検索部
７０５  算出部
７０６  作成部
【図１】
0005953704.tif 000002
【図２】
0005953704.tif 000003
【図３】
0005953704.tif 000004
【図４】
0005953704.tif 000005
【図５】
0005953704.tif 000006
【図６】
0005953704.tif 000007
【図７】
0005953704.tif 000008
【図８】
0005953704.tif 000009
【図９】
0005953704.tif 000010
【図１０】
0005953704.tif 000011
【図１１】
0005953704.tif 000012
【図１２】
0005953704.tif 000013
【図１３】
0005953704.tif 000014
【図１４】
0005953704.tif 000015
【図１５】
0005953704.tif 000016
【図１６】
0005953704.tif 000017
【図１７】
0005953704.tif 000018