(57)【要約】【課題】複数のデータベースを各データベースが有するキー項目の値に基づいて関連付けて生成した大福帳のレコード数は、最も大きいデータベースが有するレコード数に従うため、検索するレコード数が多くなり、レコードの検索に時間を要している。【解決手段】集計装置１００は、関連モデル情報が有する順序値の逆順にデータベースを操作する関連モデル逆走査部１０５と、関連モデル逆走査部１０５が走査した順にデータベースに記憶された集計項目の値を、当該データベースのキー項目の値ごとに集計し、キー項目の値と、集計値とを有する要約情報を生成する局所要約情報算出部１０６と、局所要約情報算出部１０６が生成した要約情報を記憶する要約情報群記憶部１０７とを備える。【選択図】図１
2012252628.tif 000002
【特許請求の範囲】
【請求項１】
種類が異なるキー項目を含む複数の項目を有する複数の関連データベースであって、上記種類が異なるキー項目を所定の順序で関連付ける順序値で関連付けられる複数の関連データベースを記憶するデータベース群記憶部と、
上記データベース群記憶部に記憶された複数の関連データベースの各関連データベースを表す関連データベース名と当該関連データベースが有するキー項目に対応する順序値とを有する複数の関連モデル情報を記憶し、複数の関連モデル情報のうち最も大きい順序値を有する関連モデル情報には、当該関連モデル情報が有する関連データベース名が表す関連データベースが有する複数の項目の中で集計する項目を表す集計項目名を有する関連モデル情報を記憶する関連モデル群記憶部と、
上記関連モデル群記憶部に記憶された複数の関連モデル情報を上記順序値の逆順に走査し、最後尾に関連付けられた最も大きい順序値を有する関連モデル情報を後段モデルとして入力し、上記後段モデルの１つ前に関連付けられた関連モデル情報を前段モデルとして入力する関連モデル逆走査部と、
上記データベース群記憶部が記憶した複数の関連データベースから、上記関連モデル逆走査部が入力した後段モデルが有する関連データベース名が表す関連データベースを後段データベースとして取得するとともに、上記前段モデルが有する関連データベース名が表す関連データベースを前段データベースとして取得し、取得した前段データベースが有するキー項目のキー値毎に上記後段データベースが有する複数の項目のうち上記後段モデルが有する集計項目名が表す項目の値を集計し、上記キー値と集計した集計値と上記前段モデルとを有する要約情報を生成する要約情報算出部と、
上記要約情報算出部が生成した要約情報を記憶する要約情報群記憶部と
を備え、
上記関連モデル逆走査部は、上記前段モデルを新たな後段モデルとし、上記関連モデル群記憶部が記憶した複数の関連モデルから上記新たな後段モデルの１つ前に関連付けられた関連モデル情報を新たな前段モデルとして入力し、
上記要約情報算出部は、上記データベース群記憶部が記憶した複数の関連データベースから、上記新たな後段モデルが有する関連データベース名が表す後段データベースと、上記新たな前段モデルが有する関連データベース名が表す前段データベースとを取得し、上記要約情報群記憶部から、上記関連モデル逆走査部が上記新たな後段モデルとした前段モデルを有する要約情報を取得し、上記新たな前段データベースが有するキー項目のキー値毎に、上記新たな後段データベースが有するキー項目のキー値に基づいて上記要約情報が有する集計値を集計し、上記キー値と集計した集計値と上記新たな前段モデルとを有する要約情報を生成し、生成した要約情報を上記要約情報群記憶部に記憶する
ことを特徴とする集計装置。
【請求項２】
上記要約情報算出部は、上記要約情報として、上記集計項目名が表す項目の値として取り得る範囲の値を分割した複数の区間であって、上記集計項目名に対応された複数の区間の各区間に含まれる上記集計項目名が表す項目の値の頻度を算出し、算出した頻度と上記複数の区間とを有する頻度分布表を生成することを特徴とする請求項１記載の集計装置。
【請求項３】
上記関連モデル群記憶部は、上記最も大きい順序値を有する関連モデル情報として、２つの関連モデル情報を記憶し、上記２つの関連モデル情報の各関連モデル情報は、異なる関連データベース名と、異なる集計項目名とを有し、
上記要約情報算出部は、上記要約情報として、上記２つの関連モデル情報のうち一方の関連モデル情報が有する集計項目名が表す項目の値として取り得る範囲の値を分割した複数の第１区間と、上記２つの関連モデル情報のうち他方の関連モデル情報が有する集計項目名が表す項目の値として取り得る範囲の値を分割した複数の第２区間との２種類の区間を組み合わせた組み合わせ区間を複数有する２次元頻度分布表であって、２つの集計項目名が表す項目の値に基づいて、複数の組み合わせ区間の各組み合わせ区間に含まれる２つの集計項目名が表す項目の値の頻度を算出し、算出した頻度を有する２次元頻度分布表を生成することを特徴とする請求項１記載の集計装置。
【請求項４】
上記関連モデル群記憶部は、上記２つの関連モデル情報の各関連モデル情報として、各集計項目名に対応して集計項目の値を集計する方法を表す集計方法情報を有する各関連モデル情報を記憶し、
上記要約情報算出部は、上記関連モデル群記憶部に記憶された２つの関連モデル情報の各関連モデル情報が有する集計方法情報が表す集計する方法に従い集計項目の値を集計することを特徴とする請求項３記載の集計装置。
【請求項５】
上記集計装置は、さらに、
上記要約情報群記憶部に複数の要約情報として記憶された複数の２次元頻度分布表のうち集計する２次元頻度分布表を指定する絞り込み項目名として、上記データベース群記憶部に記憶された複数の関連データベースの各関連データベースが有する複数の項目のうち所定の項目を表す項目名を入力装置を用いて入力し、入力した絞り込み項目名を有する関連データベースを、上記データベース群記憶部に記憶された複数の関連データベースから特定し、特定した関連データベースを表す関連データベース名を有する関連モデル情報を、上記関連モデル群記憶部に記憶された複数の関連モデル情報から特定し、特定した関連モデル情報を有する２次元頻度分布表を複数、上記要約情報群記憶部に複数の要約情報として記憶された複数の２次元頻度分布表から選択する要約情報選択部と、
上記要約情報選択部が選択した複数の２次元頻度分布表の各２次元頻度分布表が有する複数の組み合わせ区間の各組み合わせ区間の頻度を合計し、合計した各組み合わせ区間の頻度と上記複数の組み合わせ区間とを有する２次元頻度分布表を表す新たな２次元頻度分布表を生成し、生成した新たな２次元頻度分布表を出力装置により出力する近似集計部と
を備えることを特徴とする請求項３または４記載の集計装置。
【請求項６】
上記集計装置は、複数の頻度を有する２次元頻度分布表を用いて上記複数の頻度の相関係数を算出する関数を第１の関数として記憶する関数記憶部を備え、
上記近似集計部は、上記関数記憶部に記憶された第１の関数により上記新たな２次元頻度分布表が有する複数の頻度の近似相関係数を算出し、算出した近似相関係数を近似集計結果として出力装置により出力する
ことを特徴とする請求項５記載の集計装置。
【請求項７】
上記関数記憶部は、上記２次元頻度分布表が有する複数の頻度の各頻度が重心に近い場合の近似相関係数を算出する第２の関数と、上記各頻度が重心に遠い場合の近似相関係数を算出する第３の関数とを記憶し、
上記集計装置は、上記関数記憶部に記憶された第２の関数により上記新たな２次元頻度分布表が有する複数の頻度の近似相関係数を近い相関係数として算出し、上記関数記憶部に記憶された第３の関数により上記新たな２次元頻度分布表が有する複数の頻度の近似相関係数を遠い相関係数として算出し、算出した近い送検係数と遠い相関係数とを用いて所定の式により上記近似集計結果の誤差を推定するための誤差量を算出し、算出した誤差量を誤差評価結果として出力装置により出力する誤差評価値部
を備えることを特徴とする請求項６記載の集計装置。
【請求項８】
種類が異なるキー項目を含む複数の項目を有する複数の関連データベースであって、上記種類が異なるキー項目を所定の順序で関連付ける順序値で関連付けられる複数の関連データベースを記憶するデータベース群記憶部と、上記データベース群記憶部に記憶された複数の関連データベースの各関連データベースを表す関連データベース名と当該関連データベースが有するキー項目に対応する順序値とを有する複数の関連モデル情報を記憶し、複数の関連モデル情報のうち最も大きい順序値を有する関連モデル情報には、当該関連モデル情報が有する関連データベース名が表す関連データベースが有する複数の項目の中で集計する項目を表す集計項目名を有する関連モデル情報を記憶する関連モデル群記憶部とを備えた集計装置の集計方法であって、
処理装置が、関連モデル逆走査部により、上記関連モデル群記憶部に記憶された複数の関連モデル情報を上記順序値の逆順に走査し、最後尾に関連付けられた最も大きい順序値を有する関連モデル情報を後段モデルとして入力し、上記後段モデルの１つ前に関連付けられた関連モデル情報を前段モデルとして入力する関連モデル逆走査工程と、
上記処理装置が、要約情報算出部により、上記データベース群記憶部が記憶した複数の関連データベースから、上記関連モデル逆走査工程により入力した後段モデルが有する関連データベース名が表す関連データベースを後段データベースとして取得するとともに、上記前段モデルが有する関連データベース名が表す関連データベースを前段データベースとして取得し、取得した前段データベースが有するキー項目のキー値毎に上記後段データベースが有する複数の項目のうち上記後段モデルが有する集計項目名が表す項目の値を集計し、上記キー値といい集計した集計値と上記前段モデルとを有する要約情報を生成する要約情報算出工程と、
上記処理装置が、上記要約情報算出工程により生成した要約情報を上記要約情報算出部により要約情報群記憶部に記憶する要約情報群記憶工程と
を有し、
上記処理装置が、上記関連モデル逆走査部による上記関連モデル逆走査工程により、上記前段モデルを新たな後段モデルとし、上記関連モデル群記憶部が記憶した複数の関連モデルから上記新たな後段モデルの１つ前に関連付けられた関連モデル情報を新たな前段モデルとして入力し、
上記処理装置が、上記要約情報算出部による要約情報算出工程により、上記データベース群記憶部が記憶した複数の関連データベースから、上記新たな後段モデルが有する関連データベース名が表す後段データベースと、上記新たな前段モデルが有する関連データベース名が表す前段データベースとを取得し、上記要約情報群記憶部から、上記関連モデル逆走査部が上記新たな後段モデルとした前段モデルを有する要約情報を取得し、上記新たな前段データベースが有するキー項目のキー値毎に、上記新たな後段データベースが有するキー項目のキー値に基づいて上記要約情報が有する集計値を集計し、上記キー値と集計した集計値と上記新たな前段モデルとを有する要約情報を生成し、生成した要約情報を上記要約情報群記憶部に記憶する
ことを特徴とする集計方法。
【請求項９】
種類が異なるキー項目を含む複数の項目を有する複数の関連データベースであって、上記種類が異なるキー項目を所定の順序で関連付ける順序値で関連付けられる複数の関連データベースを記憶するデータベース群記憶部と、上記データベース群記憶部に記憶された複数の関連データベースの各関連データベースを表す関連データベース名と当該関連データベースが有するキー項目に対応する順序値とを有する複数の関連モデル情報を記憶し、複数の関連モデル情報のうち最も大きい順序値を有する関連モデル情報には、当該関連モデル情報が有する関連データベース名が表す関連データベースが有する複数の項目の中で集計する項目を表す集計項目名を有する関連モデル情報を記憶する関連モデル群記憶部とを備えたコンピュータにより実行される集計プログラムであって、
処理装置が、上記関連モデル群記憶部に記憶された複数の関連モデル情報を上記順序値の逆順に走査し、最後尾に関連付けられた最も大きい順序値を有する関連モデル情報を後段モデルとして入力し、上記後段モデルの１つ前に関連付けられた関連モデル情報を前段モデルとして入力する関連モデル逆走査処理と、
上記処理装置が、上記データベース群記憶部が記憶した複数の関連データベースから、上記関連モデル逆走査処理により入力した後段モデルが有する関連データベース名が表す関連データベースを後段データベースとして取得するとともに、上記前段モデルが有する関連データベース名が表す関連データベースを前段データベースとして取得し、取得した前段データベースが有するキー項目のキー値毎に上記後段データベースが有する複数の項目のうち上記後段モデルが有する集計項目名が表す項目の値を集計し、上記キー値といい集計した集計値と上記前段モデルとを有する要約情報を生成する要約情報算出処理と、
上記処理装置が、上記要約情報算出処理により生成した要約情報を要約情報群記憶部に記憶する要約情報群記憶処理と
を有し、
上記処理装置が、上記関連モデル逆走査処理で、上記前段モデルを新たな後段モデルとし、上記関連モデル群記憶部が記憶した複数の関連モデルから上記新たな後段モデルの１つ前に関連付けられた関連モデル情報を新たな前段モデルとして入力し、
上記処理装置が、上記要約情報算出処理で、上記データベース群記憶部が記憶した複数の関連データベースから、上記新たな後段モデルが有する関連データベース名が表す後段データベースと、上記新たな前段モデルが有する関連データベース名が表す前段データベースとを取得し、上記要約情報群記憶部から、上記関連モデル逆走査部が上記新たな後段モデルとした前段モデルを有する要約情報を取得し、上記新たな前段データベースが有するキー項目のキー値毎に、上記新たな後段データベースが有するキー項目のキー値に基づいて上記要約情報が有する集計値を集計し、上記キー値と集計した集計値と上記新たな前段モデルとを有する要約情報を生成し、生成した要約情報を上記要約情報群記憶部に記憶する
ことをコンピュータに実行させることを特徴とする集計プログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、異なるキー項目を含む複数の項目を有する複数の関連データベースについて、上記複数の関連データベースのうちの所定のデータベースが有する所定の項目の値を、上記異なるキー項目のキー値ごとに集計する集計装置、集計方法、集計プログラムに関する。特に、異なるキー項目を前段から後段の順序で関連付ける各キー項目に対応された順序値で関連付けられた複数の関連データベースに関するものである。
【背景技術】
【０００２】
充分に正規化された状態で管理される関係データベースシステムでは、各テーブル（テーブルとは、関係データベースシステムが備える複数のデータベースの各データベースを指すものとする）にキー項目が存在する。上記キー項目は、主に１対Ｎの関係の関連付けによって所定のテーブルの各レコードと他のテーブルの各レコードとを関連付ける。一方、大福帳と呼ばれるテーブルがある。大福帳は、あらかじめこれらの複数のテーブルのキー項目を全て結合して一つの大きなテーブルとしたものである。検索時の性能を重視する場合は、大福帳の形式でデータの管理が行われていた。
これらのデータベースに対する集計では応答時間が課題の一つである。集計時間の高速化について、様々な取組みがなされている。そのうちのアプローチの一つに近似による集計がある。近似集計の従来技術としては、単一のテーブルに対して、ランダムサンプリングによる近似集計と確率的誤差の算出を同時に行うことにより、高速に近似集計値の算出と誤差評価を行うＡｑｕａシステムがある（特許文献１）。また、基となるデータベースからサンプルデータベースを生成し、基のデータベースの要求内容を推定して集計結果を返す方式がある（特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３５３３３１号公報
【特許文献２】特開平１０−２３２８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記した関係データベースシステムにおいて、複数のテーブルをまたがる項目単位の集計や、項目同士の相関係数を算出するような集計をする場合、従来手法ではテーブルの結合処理を伴い、コストを必要とする。また、あらかじめ大福帳形式として管理している場合も、大福帳のレコード数は、基となる最大のレコード数を記憶するテーブルに従う。このため、１対Ｎの関連付けを複数経由する構造のデータベースシステム環境においては、等比級数的にレコード数が増加する。そのような大福帳においては、レコード毎に条件を判定しながら絞込みを行う場合に時間を要する。
１対Ｎの関連付け関係で結ばれているテーブル群では、関連付けを経る毎にレコード数が等比級数的に増加する。
１対Ｎの関連付けを複数経由するような結合を行い、大福帳を作成すると、関連付けの最初に近い項目に対して、同一の値が多数重複して現れる。例えば、大福帳に対して、あるレコードのみを対象に集計を行う場合、大福帳の各レコードに対して条件との一致を確認し、集計対象とすべきレコードかどうかを走査する必要が有る。このような走査を集計の度に行うことは時間がかかりロスが大きい。
本発明の目的は、キー項目に対応された順序値に基づいて関連付けられる複数の関連データベースについて、複数の関連データベースのうちの所定の関連データベースが有する所定の項目の値を、上記キー項目のキー値ごとに容易に集計することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る集計装置は、
種類が異なるキー項目を含む複数の項目を有する複数の関連データベースであって、上記種類が異なるキー項目を所定の順序で関連付ける順序値で関連付けられる複数の関連データベースを記憶するデータベース群記憶部と、
上記データベース群記憶部に記憶された複数の関連データベースの各関連データベースを表す関連データベース名と当該関連データベースが有するキー項目に対応する順序値とを有する複数の関連モデル情報を記憶し、複数の関連モデル情報のうち最も大きい順序値を有する関連モデル情報には、当該関連モデル情報が有する関連データベース名が表す関連データベースが有する複数の項目の中で集計する項目を表す集計項目名を有する関連モデル情報を記憶する関連モデル群記憶部と、
上記関連モデル群記憶部に記憶された複数の関連モデル情報を上記順序値の逆順に走査し、最後尾に関連付けられた最も大きい順序値を有する関連モデル情報を後段モデルとして入力し、上記後段モデルの１つ前に関連付けられた関連モデル情報を前段モデルとして入力する関連モデル逆走査部と、
上記データベース群記憶部が記憶した複数の関連データベースから、上記関連モデル逆走査部が入力した後段モデルが有する関連データベース名が表す関連データベースを後段データベースとして取得するとともに、上記前段モデルが有する関連データベース名が表す関連データベースを前段データベースとして取得し、取得した前段データベースが有するキー項目のキー値毎に上記後段データベースが有する複数の項目のうち上記後段モデルが有する集計項目名が表す項目の値を集計し、上記キー値と集計した集計値と上記前段モデルとを有する要約情報を生成する要約情報算出部と、
上記要約情報算出部が生成した要約情報を記憶する要約情報群記憶部と
を備え、
上記関連モデル逆走査部は、上記前段モデルを新たな後段モデルとし、上記関連モデル群記憶部が記憶した複数の関連モデルから上記新たな後段モデルの１つ前に関連付けられた関連モデル情報を新たな前段モデルとして入力し、
上記要約情報算出部は、上記データベース群記憶部が記憶した複数の関連データベースから、上記新たな後段モデルが有する関連データベース名が表す後段データベースと、上記新たな前段モデルが有する関連データベース名が表す前段データベースとを取得し、上記要約情報群記憶部から、上記関連モデル逆走査部が上記新たな後段モデルとした前段モデルを有する要約情報を取得し、上記新たな前段データベースが有するキー項目のキー値毎に、上記新たな後段データベースが有するキー項目のキー値に基づいて上記要約情報が有する集計値を集計し、上記キー値と集計した集計値と上記新たな前段モデルとを有する要約情報を生成し、生成した要約情報を上記要約情報群記憶部に記憶する
ことを特徴とする。
【発明の効果】
【０００６】
この発明によれば、関連モデル群記憶部と、関連モデル逆走査部と、要約情報算出部とを備えることにより、キー項目に対応された順序値に基づいて関連付けられる複数の関連データベースについて、複数の関連データベースのうちの所定の関連データベースが有する所定の項目の値を、上記キー項目のキー値ごとに容易に集計することができる。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１における集計装置の一例を説明する構成図。
【図２】実施の形態１のデータベース群記憶部が記憶した各データベースが記憶するデータの一例と、関連付けを説明する図。
【図３】実施の形態１における集計装置の外観の一例を示す図。
【図４】実施の形態１における集計装置１００のハードウェア資源の一例を示す図。
【図５】実施の形態１の各テーブル１１〜１４が記憶するキー値と項目の値との一例を示す図である。
【図６】実施の形態の各テーブル１３，テーブル１５が記憶するキー値と項目の値との一例を示す図。
【図７】実施の形態１の集計装置が生成する関連モデル情報を説明する図。
【図８】図５及び図６のテーブル１５を除く各テーブルを繋げた大福帳を示す図。
【図９】図５及び図６のテーブル１４を除く各テーブルを繋げた大福帳を示す図。
【図１０】実施の形態１の集計装置の動作を説明するフローチャート図。
【図１１】データ管理部１０３が入力する関連付け情報１０２の一例を示す図。
【図１２】機械コードの値ごとに作業時間を加算した集計値を有する要約情報の例を示す図。
【図１３】機械コードの値ごとに修理コストの平均値を有する要約情報の例を示す図。
【図１４】図１２、図１３から生成した２次元頻度分布表の一例を示す図。
【図１５】実施の形態１の各関連モデル情報に対応する要約情報のレコード数を説明する図。
【図１６】局所要約情報算出部が生成した、順序値２を有する関連モデル情報を有する要約情報の一例を示す図。
【図１７】局所要約情報算出部が生成した、順序値１を有する関連モデル情報を有する要約情報の一例を示す図。
【図１８】実施の形態２の集計装置１００の構成を示すブロック図。
【図１９】実施の形態２の集計装置１００の動作を示すフローチャート図。
【図２０】実施の形態２の要約情報統合近似集計部１０９が生成した２次元頻度分布表の一例を示す図。
【図２１】実施の形態２の近似相関係数を出力する関数の疑似コードの一例を示す図。
【図２２】実施の形態２の重心を算出する関数の疑似コードの一例を示す図。
【図２３】実施の形態２の各セルに設定された集計値と重心との距離が近い状態を説明する図。
【図２４】実施の形態２の各セルに設定された集計値と重心との距離が遠い状態を説明する図。
【図２５】実施の形態２の重心に近い場合の相関係数を算出する関数の疑似コードの一例を示す図。
【図２６】実施の形態２の重心に遠い場合の相関係数を算出する関数の疑似コードの一例を示す図。
【図２７】実施の形態３のデータベース群記憶部が記憶した各データベースが記憶するデータの一例と、関連付けを説明する図。
【図２８】実施の形態３の１次元頻度分布表の一例を示す図。
【発明を実施するための形態】
【０００８】
実施の形態１．
この実施の形態では、関連モデルの生成、要約情報の生成について図を用いて説明する。特に、関連付けられた複数の関連モデルのうち、最後尾に関連付けられる関連モデルが２つである場合を説明する。
図１は、本実施の形態における集計装置の一例を説明する構成図である。
図１において、集計装置１００は、データベース群記憶部１０１と、データ管理部１０３（関連データ入力部の一例）と、関連モデル群記憶部１０４と、関連モデル逆走査部１０５と、局所要約情報算出部１０６（要約情報算出部の一例）と、要約情報群記憶部１０７とを備える。
【０００９】
データベース群記憶部１０１は、データベース１（ＤＢ１）、データベース２（ＤＢ２）、データベースｎ（ＤＢｎ）とのｎ（ｎ＞１の整数）個のデータベースを記憶する。データベース群記憶部１０１が記憶するＤＢ１，ＤＢ２，ＤＢｎの各データベースはそれぞれ、キー項目により関連付けられる。ここで、データベースの関連付けについて一例を説明する。図２は、この実施の形態のデータベース群記憶部１０１が記憶した各データベースが記憶するデータの一例と、関連付けを説明する図である。
データベース群記憶部１０１は、ＤＢ１とのデータベース識別情報により識別されるテーブル１１と、ＤＢ２とのデータベース識別情報により識別されるテーブル１２と、ＤＢ３とのデータベース識別情報により識別されるテーブル１３と、ＤＢ４とのデータベース識別情報により識別されるテーブル１４と、ＤＢ５とのデータベース識別情報により識別されるテーブル１５とを記憶する。データベース識別情報は、関連データベース名の一例であり、ここでは、ＤＢ１，ＤＢ２などの英文字と数字とを組み合わせたものを使用する。関連データベース名は、「担当者」「担当現場」などのデータベースに記憶された情報を表す文字列群を使用してもかまわない。なお、テーブルとは、関連データベースのことである。以下、関連データベースをテーブルとも呼ぶ。
【００１０】
図２において、項目名の下の下線は、キー項目であることを示す。各テーブルは、異なる種類のキー項目を有する。テーブル１１は、キー項目１１ａとして担当者（キー項目名）を有し、キー項目１１ａに設定された値ごとに（担当者の値）項目１１ｂとして所属を記憶する。テーブル１２は、キー項目１２ａとして現場コード（キー項目名）を有し、キー項目に設定された値ごとに（現場コードの値）項目１２ｂとして担当者とサービス種別を記憶する。テーブル１２が記憶する担当者は、テーブル１１のキー項目である。テーブル１１とテーブル１２とは担当者のキー項目によって１対Ｎ（Ｎは１より大きい整数）の関係で関連付けられる。具体例として図５を参照すると、テーブル１１は、担当者「α」を記憶するレコードを１つ記憶し、テーブル１２は、担当者「α」を記憶するレコードを３つ記憶する。すなわち、テーブル１１とテーブル１２とは担当者「α」を記憶するレコードにおいて１対３の関係を有する。
テーブル１３は、キー項目１３ａとして機械コード（キー項目名）を有し、キー項目１３ａの値ごとに（機械コードの値）項目１３ｂとして現場コードと機種とを記憶する。テーブル１３が記憶する現場コードは、テーブル１２のキー項目である。テーブル１２とテーブル１３とは現場コードのキー項目によって１対Ｎ（Ｎは１より大きい整数）の関係で関連付けられる。具体例として図５を参照すると、テーブル１２は、現場コード「Ａ００１」を記憶するレコードを１つ記憶し、テーブル１３は、現場コード「Ａ００１」を記憶するレコードを４つ記憶する。すなわち、テーブル１２とテーブル１３とは現場コード「Ａ００１」を記憶するレコードにおいて１対４の関係を有する。
テーブル１４は、キー項目１４ａとして点検コード（キー項目名）を有し、キー項目１４ａの値ごとに（点検コードの値）項目１４ｂとして機械コードと部品コードと点検日と作業時間とを記憶する。項目１４ｂのうち作業時間は、後述する要約情報を作成する際に集計項目として指定される集計対象項目１４ｃである。テーブル１４が記憶する機械コードは、テーブル１３のキー項目である。テーブル１３とテーブル１４とは機械コードのキー項目によって１対Ｎ（Ｎは１より大きい整数）の関係で関連付けられる。具体例として図５を参照すると、テーブル１３は、現場コード「２０１Ｂ」を記憶するレコードを１つ記憶し、テーブル１４は、機械コード「２０１Ｂ」を記憶するレコードを１２個記憶する。すなわち、テーブル１３とテーブル１４とは機械コード「２０１Ｂ」を記憶するレコードにおいて１対１２の関係を有する。
テーブル１５は、キー項目１５ａとして故障コード（キー項目名）を有し、キー項目１５ａの値ごとに（故障コードの値）項目１５ｂとして機械コードと部品コードと修理日と修理コストとを記憶する。項目１５ｂのうち修理コストは、後述する要約情報を作成する際に集計項目として指定される集計対象項目１５ｃである。テーブル１５が記憶する機械コードは、テーブル１３のキー項目である。テーブル１３とテーブル１５とは機械コードのキー項目によって１対Ｎ（Ｎは１より大きい整数）の関係で関連付けられる。具体例として図６を参照すると、テーブル１３は、現場コード「２０１Ｂ」を記憶するレコードを１つ記憶し、テーブル１４は、機械コード「２０１Ｂ」を記憶するレコードを３つ記憶する。すなわち、テーブル１３とテーブル１５とは機械コード「２０１Ｂ」を記憶するレコードにおいて１対３の関係を有する。
【００１１】
上記したように、データベース群記憶部１０１に記憶されたｎ個のテーブルの各テーブルは、異なるキー項目を有する。異なるキー項目は、前段、後段の関係を有する。ユーザにより前段、後段の関連付けの順序を表す順序値が、各キー項目に対応して決められている。図２の例では、キー項目１１ａに対応された順序値は１、キー項目１２ａに対応された順序値は２、キー項目１３ａに対応された順序値は３、キー項目１４ａ及びキー項目１５ａに対応された順序値は４とする。各キー項目に対応された順序値に基づいて、前段から、キー項目１１ａ、キー項目１２ａ、キー項目１３ａ、キー項目１４ａ、キー項目１５ａの順に関連付けされる。キー項目１４ａとキー項目１５ａとは、ともに同じ順序値（４）が対応されているため、キー項目１３ａの後段に２つのキー項目が関連付けされる。キー項目間を関連付けることにより、各キー項目を有するテーブル間を関連付ける。図２では、各テーブル間を結合する矢印線によって、関連付けを表す。各テーブル間の関係は、前段のテーブルが記憶する１つのレコードと、この前段のテーブルのすぐあとに関連付けられた後段のテーブルが記憶するＮ（Ｎは１以上の整数）個のレコードとが対応する関係である。すなわち、キー項目は、前段のテーブルが記憶するレコードと後段のテーブルが記憶するレコードとを１対Ｎの関係で関連付ける。
データベース群記憶部１０１は、後で説明する集計装置１００を構成するコンピュータが備えるＲＡＭ、磁気ディスク装置等の記憶装置に記憶される。
【００１２】
図１の説明に戻る。
データ管理部１０３（関連データ入力部の一例）は、関連付け情報１０２を入力する。関連付け情報１０２は、第１の関連付け情報と第２の関連付け情報とを有する。第１の関連付け情報は、関連付ける各関連データベースの関連データベース識別情報（関連データベース名、テーブル名）と、各関連データベースを他の関連データベースと関連付ける際の順序を表す順序値とを有する。第２の関連付け情報は、最後尾に関連付ける関連データベースを識別する関連データベース識別情報（関連データベース名、テーブル名）と、上記順序値と、当該関連データベースが有する複数の項目のうち集計する集計対象項目を表す集計項目名とを有する。順序値は、キー項目に対応された順序値である。関連付け情報１０２は、後で説明する集計装置１００を構成するコンピュータが備えるマウスやキーボード等の入力装置を用いて入力される。また、関連付け情報１０２は、磁気ディスク装置、フレキシブルディスク等の記憶装置に記憶され、コンピュータが有する処理装置により入力される。
データ管理部１０３は、関連付け情報１０２を入力し、入力した関連付け情報１０２を用いて処理装置により関連モデル情報を複数生成する。データ管理部１０３は、生成した各関連モデル情報を順序値の順に関連付けて、関連モデル群記憶部１０４に記憶する。関連付けの方向は、上述した１対Ｎの関係における１からＮの方向とする。データ管理部１０３は、順序値が小さい関連モデルから順序値の大きい関連モデルの順に、関連モデルを順に関連付ける。
【００１３】
関連モデル群記憶部１０４は、データ管理部１０３が生成した複数の関連モデル情報を記憶する。各関連モデル情報は、関連付け情報１０２により指定された順序値の順に関連付けされて記憶される。例えば、関連モデル群記憶部１０４は、先頭のレコードから順に順序値が小さい関連モデル情報を記憶する。
【００１４】
関連モデル逆走査部１０５は、関連モデル群記憶部１０４が記憶する複数の関連モデル情報を順序値の大きい順に走査し、順序値の大きい関連モデル情報から先に入力する。すなわち、関連モデル逆走査部１０５は、関連付けられた各関連モデル情報の方向付けの逆順に関連モデル情報を入力する。
【００１５】
局所要約情報算出部１０６（要約情報算出部の一例）は、データベース群記憶部１０１が記憶した複数の関連データベース（テーブル）から、関連モデル逆走査部１０５が入力した関連モデル情報に基づいて当該モデルに対応する要約情報の算出に使用する関連データベース（テーブル）を入力する。局所要約情報算出部１０６は、入力した関連データベース（テーブル）が有するキー項目の値毎に、集計項目の値を集計し、キー項目と集計した集計値と当該関連モデル情報とを有する要約情報を生成する。局所要約情報算出部１０６は、生成した要約情報を要約情報群記憶部１０７に記憶する。
【００１６】
要約情報群記憶部１０７は、局所要約情報算出部１０６が生成した要約情報を記憶する。例えば、要約情報１０７ａは、ＤＢ１に対応する要約情報であり、要約情報１０７ｂは、ＤＢ２に対応する要約情報であり、要約情報１０７ｃは、ＤＢｎに対応する要約情報である。
【００１７】
次に、集計装置１００のシステム構成を説明する。
図３は、この実施の形態における集計装置の外観の一例を示す図である。
図３において、集計装置１００は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。
【００１８】
図４は、この実施の形態における集計装置１００のハードウェア資源の一例を示す図である。
図４において、集計装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１９】
通信ボード９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信ボード９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４、データベース群記憶部１０１、関連モデル群記憶部１０４、要約情報群記憶部１０７が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００２０】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・走査などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出・走査のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００２１】
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００２２】
次に、複数の関連データベースの各関連のデータベースに記憶されたレコードを、各関連データベース間で１対Ｎの関係で関連付けるキー項目について説明する。
【００２３】
図５は、この実施の形態の各テーブル１１〜１４が記憶するキー値と項目の値との一例を示す図である。図６は、この実施の形態の各テーブル１３，テーブル１５が記憶するキー値と項目の値との一例を示す図である。図５と図６とのテーブル１３は、同じである。図２で説明したように、各テーブルは、テーブル１１からテーブル１５の順に各テーブルが有するキー項目のキー値によって関連付けられる。テーブル１４とテーブル１５とはそれぞれ、テーブル１３のキー項目１３ａである機械コードによって、関連付けられる。例えば、テーブル１３のキー項目１３ａである機械コードの値が「２０１Ｂ」であるレコードは、テーブル１４の項目１４ｂの１つである機械コードの値が「２０１Ｂ」である１２個のレコードと関連付けられる。また、テーブル１３のキー項目１３ａである機械コードの値が「２０１Ｂ」であるレコードは、テーブル１５の項目１５ｂの１つである機械コードの値が「２０１Ｂ」である３個のレコードと関連付けられる。他のテーブルでは、例えば、テーブル１１のキー項目１１ａである担当者の値が「α」であるレコードは、テーブル１２の項目１２ｂの１つである担当者の値が「α」である３個のレコードと関連付けられる。
【００２４】
図７は、この実施の形態の集計装置が生成する関連モデル情報を説明する図である。関連モデル群記憶部１０４は、図７に示す順序値１０４ａ、テーブル名１０４ｂ（関連データベース名）、集計項目名１０４ｃ、集計方法１０４ｄを有する関連モデル情報を複数記憶する。図７に示した複数の関連モデル情報のうち、順序値１０４ａが４であるレコードが２つ記憶されているが、これは、テーブル名１０４ｂがＤＢ３であるテーブル１３に対して、テーブル名１０４ｂがＤＢ４であるテーブル１４と、テーブル名１０４ｂがＤＢ５であるテーブル１５との２つのテーブルが関連付けられるためである。関連モデル群記憶部１０４には、図７に記載した順に関連モデル情報を記憶したレコードが記憶されているものとする。ただし、ＤＢ４を記憶したレコードとＤＢ５を記憶したレコードとは、順序値１０４ａが同じであるため、逆の順に生成されてもかまわない。
【００２５】
ここで、複数の関連データベースを関連付けるために従来から用いられている大福帳について説明する。
図８は、図５及び図６のテーブルのうちテーブル１５を除く各テーブルを繋げた大福帳を示す図である。図９は、図５及び図６のテーブルのうちテーブル１４を除く各テーブルを繋げた大福帳を示す図である。図８に示す大福帳２１のレコードの数は、テーブル１４のレコード数と同じ数のレコードを有する。また、図９に示す大福帳２１のレコードの数は、テーブル１５のレコード数と同じ数のレコードを有する。１対Ｎの関連付けを複数経由するような結合を行い、図８、図９の大福帳を作成すると、関連付けの最初に近い項目に対して、同一の値が多数重複して現れる。例えば、図８の大福帳２１は、担当者の値が「α」であるレコードが多数連続する。担当者が「α」であるレコードのみを対象に集計を行う場合、大福帳２１の各レコードに対して集計の条件と一致するか否かを確認し、集計の対象とすべきレコードかどうかを走査する必要がある。このような走査を集計の度に行うことは処理時間のロスが大きい。また、集計を行う際に使用する計算機のリソースが無駄に使用される問題がある。
【００２６】
この実施の形態の集計装置１００は、１対Ｎの関係で関連付けられるレコードの数が増加する先（後段に関連付けられるテーブル）の値の要約情報を、増加する前（前段の関連付けられるテーブル）のレコード毎に保持しておく。例えば、図５の例では、テーブル１１からテーブル１４に向けて前段から後段へ関連付けられるレコードの数が増加している。集計装置１００は、テーブル１３の後段であるテーブル１４が有する作業時間について、作業時間の値をテーブル１３のキー項目１３ａのキー値ごとに集計して要約情報を生成する。生成した要約情報は記憶部（要約情報群記憶部１０７）に保持する。要約情報を記憶部に保持することにより、要約情報として集計した結果を使用して、ユーザから指定された条件でさらに集計することができる。条件を指定されても、生のレコードを走査せずに要約情報のみを参照すればいいので、指定された条件で高速に集計を行う。高速に集計することにより、集計を行う際に使用する計算機のリソースを効率よく使用できる。
【００２７】
以下に、集計装置１００の要約情報を作成する動作を説明する。
図１０は、この実施の形態の集計装置の動作を説明するフローチャート図である。
図１０のフローチャートに従い、要約情報を生成する集計装置１００の動作を説明する。
なお、この実施の形態では、データベース群記憶部１０１は、図２の各テーブルを記憶し、集計装置１００は、テーブル１４の作業時間の合計値、テーブル１５の修理コストの合計値とを、テーブル１１，テーブル１２，テーブル１３の各キー項目（担当者、現場コード、機械コード）のキー値毎に算出する。すなわち、集計項目を、テーブル１４の作業時間とテーブル１５の修理コストとする。
【００２８】
（Ｓ１０、関連データ入力処理、関連データ入力工程）
Ｓ１０において、データ管理部１０３は、関連付け情報１０２をキーボード９０２、マウス９０３などの入力装置によって入力する。
具体例を説明する。
図１１は、データ管理部１０３が入力する関連付け情報１０２の一例を示す図である。図１１おいて、関連付け情報１０２は、関連付け情報１０２ａ（第１の関連付け情報の一例）と関連付け情報１０２ｂ（第２の関連付け情報の一例）との２種類の関連付け情報を有する。関連付け情報１０２ａ及び関連付け情報１０２ｂの最左端に記載した数値（例えば、１，２等）は、順序値である。関連付け情報１０２ａ及び関連付け情報１０２ｂの順序値の右側に記載した文字列（例えば、ＤＢ１，ＤＢ２等）は、テーブル名（関連データベース名の一例）である。関連付け情報１０２ｂのテーブル名の右側に記載した文字列は、集計項目名（例えば、作業時間、修理コスト）である。関連付け情報１０２ｂの集計項目名の右側に記載した文字列は、集計方法（例えば、加算、平均）である。ここでは、２つの集計項目名を指定し、各集計項目名の値を以下に説明する要約情報を作成する際に集計する。２つの集計項目名のうち１つは、テーブル名がＤＢ４である関連データベースが有する項目の１つである。残りの集計項目名は、テーブル名がＤＢ５である関連データベースが有する項目の１つである。集計方法は、集計項目名として指定した項目の値を集計する方法を指定するものである。加算は、集計する項目の値をキー毎に合計することを指定する。平均は、集計項目情報により指定した項目の値の平均値を算出することを指定する。他の集計方法として、例えば、最大値を取得、最小値を取得等がある。最大値を取得は、集計項目名として指定した項目の値のうち最大の値を取得することを指定する。最小値を取得は、集計項目名として指定した項目の値のうち最小の値を取得することを指定する。関連付け情報１０２ａ，１０２ｂはそれぞれ、［］とカンマ（、）との記号を用いてそれぞれの関連付け情報を区別する。
【００２９】
Ｓ１０の後、Ｓ１１に進む。
（Ｓ１１，関連モデル記憶処理）
データ管理部１０３は、入力した関連付け情報１０２ａ、関連付け情報１０２ｂとの各関連付け情報から例えば図７に示す関連モデル情報を生成する。関連モデル情報は、順序値１０４ａ、テーブル名１０４ｂ（関連データベースの一例）、集計項目名１０４ｃ、集計方法１０４ｄを有する。データ管理部１０３は、生成した各関連モデル情報を、順序値の小さい関連モデル情報から順に関連モデル群記憶部１０４に記憶する。関連モデル群記憶部１０４が記憶する関連モデル情報は、関連付けを表す矢印を実際には記憶していない。しかし、矢印の代わりとして順序値を記憶し、順序値が小さい関連モデル情報を関連元（前段）とし、順序値が大きい関連モデル情報を関連先（後段）とする。例えば、ＤＢ１とＤＢ２との関連付けでは、ＤＢ１は関連元、ＤＢ２は関連先となる。ＤＢ２とＤＢ３との関連付けにおいては、ＤＢ２は関連元、ＤＢ３は関連先となる。
テーブル間の関連付けのイメージとしては、図２に示した通りである。関連モデル情報が有するテーブル名と順序値とに従い、関連付けるテーブル間を関連元から関連先へ向かう矢印線で繋げる。関連元のテーブルと関連先のテーブルとは、各テーブルに記憶されたレコードが１対Ｎの関係を有する。
図１１の関連付け情報１０２の例では、データベース群記憶部１０１に記憶されたすべてのテーブルについて関連付けを行うための指定をしていた。しかし、データベース群記憶部１０１に記憶された複数のテーブルのうち、一部のテーブルを関連付ける関連付け情報１０２を指定しても構わない。ユーザは、関連付け情報１０２として、関連付けるテーブル名ごとに、順序値、テーブル名、集計項目名、集計方法を指定すればよい。このとき、ユーザは、各テーブルが有すキー項目を確認し、テーブル間の関連付けが可能か否か判断し、可能と判断した複数のテーブルについて関連付けの順序値を決定する。テーブル間の関連付けが可能な場合とは、例えば、前段とするテーブルが有するキー項目の各キー値に、後段とするテーブルが有するキー項目の複数のキー値が対応されている場合とする。図６を例に説明すると、テーブル１５のキー項目１５ａのキー値「２３０１」「２３０２」「２３０３」は、項目１５ｂの１つである機械コード「２０１Ｂ」と対応する。機械コードをキー項目とするのは、テーブル１３である。テーブル１３とテーブル１５とは、キー値「２０１Ｂ」により１対Ｎの関係で関連付けが可能である。このため、ユーザは、テーブル１３を前段とし、テーブル１５を後段として２つのテーブルを関連付けることが可能であると判断する。ユーザは、関連付けが可能であることを判断した複数のテーブルについて、関連付け情報１０２を生成する。データ管理部１０３は、ユーザが生成した関連付け情報１０２を、入力装置を用いて入力する。
【００３０】
関連モデル情報の生成について具体例を説明する。
データ管理部１０３は、関連付け情報１０２ａを入力し、関連付け情報１０２ａから、関連モデル情報を生成する。また、関連付け情報１０２ｂを入力し、関連付け情報１０２ｂから、関連モデル情報を生成する。
【００３１】
図１０の説明に戻る。
（Ｓ１２，Ｓ１３，関連モデル逆走査処理、関連モデル逆走査工程）
関連モデル逆走査部１０５は、Ｓ１１で関連モデル群記憶部１０４に記憶された関連モデル群のうち、集計項目名を有する関連モデル情報を走査の現在位置に設定する（Ｓ１２）。
具体的には、集計項目名を有する関連モデル情報は、最も大きい順序値を有するので、関連モデル逆走査部１０５は、最も大きい順序値を有する関連モデル情報を走査の現在位置に設定する。図７の複数の関連モデル情報のうち、最も大きい順序値４を有する関連モデル情報は２つある。このため、関連モデル逆走査部１０５は、２つの関連モデル情報を現在位置に設定する。
関連モデル逆走査部１０５は、現在位置に設定した関連モデルから順序値の逆順に関連モデル群記憶部１０４が記憶した関連モデル情報を走査する。例えば、図７の関連モデル群記憶部１０４が記憶する関連モデル情報から、最も大きい順序値を有する関連モデル情報をＤＢｇ（後段モデルの一例）とし、ＤＢｇとした関連モデル情報の１つ前に関連付けられた関連モデル情報をＤＢｓ（前段モデルの一例）として入力する（Ｓ１３）。「ＤＢｇとした関連モデル情報の１つ前に関連付けられた関連モデル情報をＤＢｓとする」とは、ＤＢｇとした関連モデル情報が有する順序値から１を減算した値を求め、求めた値を順序値として有する関連モデル情報をＤＢｓ（前段モデルの一例）とすることを表す。
【００３２】
Ｓ１３の後、Ｓ１４へ進む。
（Ｓ１４からＳ１７，要約情報算出処理、要約情報算出工程）
Ｓ１４において、局所要約情報算出部１０６は、関連モデル逆走査部１０５がＤＢｇとした関連モデル情報について、要約情報が算出済みか否かを判定する（Ｓ１４）。
ＤＢｇとした関連モデル情報について要約情報が生成されているか否かの判定は、以下にように行う。ＤＢｇとした関連モデル情報について要約情報が生成されている場合は、要約情報群記憶部１０７に、ＤＢｇとして設定されている関連モデル情報を有する要約情報が記憶されている。このため、局所要約情報算出部１０６は、要約情報群記憶部１０７を検索して、ＤＢｇとして設定された関連モデル情報と一致する関連モデル情報を有する要約情報が記憶されているか否かを判定する。局所要約情報算出部１０６は、ＤＢｇとして設定された関連モデル情報と一致する関連モデル情報を有する要約情報が記憶されていないと判定した場合（Ｓ１５，ＮＯ）、Ｓ１６へ進む。局所要約情報算出部１０６は、ＤＢｇとして設定された関連モデル情報と一致する関連モデル情報を有する要約情報が記憶されていると判定した場合（Ｓ１５，ＹＥＳ）、Ｓ１７へ進む。
【００３３】
Ｓ１６において、局所要約情報算出部１０６は、ＤＢｓとした関連モデル情報が有するテーブル名１０４ｂのテーブル（前段テーブル）に記憶されたキー項目のキー値毎に、ＤＢｇとした関連モデル情報が有するテーブル名１０４ｂのテーブル（後段テーブル）に記憶されたレコードを走査し、キー項目値によって関連付けられるレコードを後段テーブルから取得する。そして、局所要約情報算出部１０６は、取得したレコードが有する集計項目の値をキー値毎に集計方法に従い集計し、集計値を算出する。局所要約情報算出部１０６は、算出した集計値とＤＢｓとした関連モデルと当該キー値とを有するレコードを生成し、生成したレコードを要約情報として要約情報群記憶部１０７に記憶する。この結果、関連モデル情報は同じで、キー値と集計値とが異なる要約情報が複数、局所要約情報算出部１０６により生成され、要約情報群記憶部１０７に記憶される。
Ｓ１６の後、Ｓ１８へ進む。
【００３４】
Ｓ１８において、関連モデル逆走査部１０５は、現在のＤＢｓとした関連モデル情報が有する順序値よりも１つ小さい順序値を有する新たな関連モデルが、関連モデル群記憶部１０４に記憶されているか否か判定する（Ｓ１８）。判定した結果、記憶されていれば、関連モデル逆走査部１０５は、Ｓ１３から処理を繰り返す（Ｓ１８，ＹＥＳ）。記憶されていなければ、関連モデル逆走査部１０５は、処理を終了する（Ｓ１８，ＮＯ）。現在のＤＢｓとした関連モデル情報が有する順序値が２以上であれば、新たな関連モデルはあると判定するが、現在のＤＢｓとした関連モデル情報が有する順序値が１であると、関連モデル逆走査部１０５による判定結果は、新たな関連モデルはないとの判定結果になる。
Ｓ１３を繰り返す場合、関連モデル逆走査部１０５は、現在のＤＢｓとした関連モデル情報を新たなＤＢｇとする。さらに、関連モデル逆走査部１０５は、新たなＤＢｓとする関連モデル情報を関連モデル群記憶部１０４から入力する。新たなＤＢｓとする関連モデル情報は、現在のＤＢｓとした関連モデル情報が有する順序値より１つ小さい順序値を有する関連モデル情報である。例えば、現在のＤＢｓとした関連モデル情報が図７に示した順序値３である関連モデル情報であると、関連モデル逆走査部１０５は、順序値３から１を減算し、順序値２を有する関連モデル情報を入力する。
【００３５】
次に、Ｓ１７を説明する。
既にＳ１６が実行されている場合は、要約情報群記憶部１０７に現在のＤＢｇとした関連モデル情報を有する要約情報が記憶されている。
Ｓ１７において、局所要約情報算出部１０６は、要約情報群記憶部１０７から、ＤＢｇとした関連モデル情報を有する要約情報を取得する。そして、局所要約情報算出部１０６は、ＤＢｓとした関連モデル情報が有するテーブル名１０４ｂが表す関連データベースを、前段テーブルとして関連データベース群記憶部１０１から入力する。さらに、局所要約情報算出部１０６は、ＤＢｓとした関連モデル情報が有するテーブル名１０４ｂが表す関連データベースを、後段テーブルとして、関連データベース群記憶部１０１から入力する。局所要約情報算出部１０６は、前段テーブルが有するキー項目のキー値（前段キー値）ごとに、後段テーブルから当該キー値に対応する後段テーブルが有するキー項目のキー値（後段キー値）を取得する。局所要約情報算出部１０６は、入力した要約情報から、後段キー値を有するレコードを取得する。局所要約情報算出部１０６は、要約情報から取得したレコードが有する集計値を集計方法に従い集計し、集計した集計値と前段キー値と、ＤＢｓとした関連モデル情報とを有する新たなレコードを生成し、生成したレコードを要約情報として要約情報群記憶部１０７に記憶する。
例えば、前段テーブルが図５のテーブル１２であり、後段テーブルが図５のテーブル１３であり、要約情報群記憶部１０７には、テーブル１３のキー項目である機械コードの値ごとに作業時間が合計されたレコードが要約情報として記憶されているとし、Ｓ１７の処理を簡単に説明する。
図５より、前段テーブルであるテーブル１２のキー項目１２ａ（前段キー項目）は、現場コードである。後段テーブルであるテーブル１３のキー項目１３ａ（後段キー項目）は、機械コードである。現場コードＡ００１に対応する機械コードは、２０１Ｂ、２０２Ｂ、２０３Ｂ、２０４Ｂである。局所要約情報算出部１０６は、現場コードＡ００１に対応する機械コードの値として、２０１Ｂ、２０２Ｂ、２０３Ｂ、２０４Ｂを、テーブル１３（後段テーブル）から取得する。そして、局所要約情報算出部１０６は、機械コードの値ごとの作業時間の集計値を記憶した要約情報から、機械コードの値が、２０１Ｂ、２０２Ｂ、２０３Ｂ、２０４Ｂであるレコードを取得し、取得したレコードの集計値をさらに集計方法に従い集計する。集計した結果の集計値は、現場コードＡ００１に対応する作業時間の集計値となる。局所要約情報算出部１０６は、現場コードＡ００１、集計値、ＤＢｓとした関連モデル情報を有するレコードを生成し、要約情報として要約情報群記憶部１０７に記憶する。
【００３６】
Ｓ１７の処理の後、Ｓ１８へ進む。Ｓ１８の処理は、既に説明した通りである。
図１０のフローチャートの説明はここまでである。
【００３７】
以下に、図７のＳ１２〜Ｓ１８の動作を、具体例を用いて説明する。
先に説明したＳ１２では、図７の関連モデル情報を例とするため、２つの関連モデル情報を現在位置とした。この結果、Ｓ１３では、一方の関連モデル情報をＤＢｇとした場合のＤＢｇとＤＢｓとの組Ａと、他方の関連モデル情報をＤＢｇとした場合のＤＢｇとＤＢｓとの組Ｂとの、２つの組が発生する。２つの組の各組について、Ｓ１３からＳ１７をそれぞれ２回実行する。例えば、図７の関連モデル情報における関連付けをイメージした図２では、テーブル３とテーブル４とを関連付ける組Ａと、テーブル３とテーブル５とを関連付ける組Ｂとの２つの組がある。すなわち、テーブル３からは矢印線が２つ出ている。集計装置１００は、関連モデルにおいて一つのテーブルから複数の矢印が出ているとき、現在処理中のテーブル（ＤＢｓ）から出ている複数の矢印の先のテーブル（ＤＢｇ）を全て探索してから、処理対象を他の矢印で関連付けられる組について探索する、幅優先探索を行う。
１回目のＳ１３では、関連モデル逆走査部１０５は、テーブル名１０４ｂとしてＤＢ４を有する関連モデル情報をＤＢｇとし、テーブル名１０４ｂとしてＤＢ３を有する関連モデル情報をＤＢｓとする、組Ａを、関連モデル群記憶部１０４を逆走査して入力する。
【００３８】
Ｓ１４では、局所要約情報算出部１０６は、組Ａについて、ＤＢｇとした関連モデル情報を有する要約情報が要約情報群記憶部１０７に記憶されているか否かを判定する。判定の結果、記憶されていないで、局所要約情報算出部１０６は、Ｓ１６へ進む。
【００３９】
Ｓ１６では、局所要約情報算出部１０６は、ＤＢｇとした関連モデル情報が有するテーブル名１０４ｂにより、テーブル１４をデータベース群記憶部１０１から入力する。さらに、局所要約情報算出部１０６は、ＤＢｓとした関連モデル情報が有するテーブル名１０４ｂにより、テーブル１３をデータベース群記憶部１０１から入力する。テーブル１３のキー項目は、図２より機械コードである。また、ＤＢｇとした関連モデル情報が有する集計項目名１０４ｃは作業時間である。局所要約情報算出部１０６は、テーブル１３に記憶された機械コードの値ごとに、テーブル１４に記憶された当該機械コードの値に対応する作業時間を集計する。集計する際、集計方法１０４ｄは加算であるので、局所要約情報算出部１０６は、機械コードの値ごとに作業時間の値を加算する。
【００４０】
図１２は、機械コードの値ごとに作業時間を加算した集計値を有する要約情報の例を示す図である。すなわち、図１２は、組Ａに対応する要約情報の一例である。図１３は、機械コードの値ごとに修理コストの平均値を有する要約情報の例を示す図である。すなわち、図１３は、組Ｂに対応する要約情報の一例である。局所要約情報算出部１０６は、要約情報がどのテーブルに記憶されたキー項目のキー値ごとの要約情報であるのかを示すため、ＤＢｓとした関連モデル情報を有する要約情報１６（図１２）、要約情報１７（図１３）を生成する。図１２、図１３の例では、複数の機械コードの値が１つの表に含まれているが、機械コード値ごとの要約情報を生成する。例えば、１つの要約情報には、機械コードが２０１Ｂ、部品コード値がＡ、作業時間の総和が１２４であるレコードと、機械コードが２０１Ｂ、部品コード値がＢ、作業時間の総和が１０４であるレコードと、機械コードが２０１Ｂ、部品コード値がＣ、作業時間の総和が３０３であるレコードとの３つのレコードが含まれる。
図１２の例では、機械コードと、作業時間の他に、部品コードを有する要約情報１６を示す。図１３の例では、機械コードと、修理コストの他に、部品コードを有する要約情報１７を示す。部品コードは、要約情報として２次元頻度分布表を生成する際に使用する情報である。２次元頻度分布情報を生成しない場合、すなわち、集計項目名として指定された集計項目の値を、関連モデル情報によって関連付けられるテーブル間の関連付けに基づいて、キー値ごとに集計するだけならば、局所要約情報算出部１０６は、要約情報には部品コードを含めない。局所要約情報算出部１０６は、要約情報として２次元頻度分布表を生成する場合、図１２，図１３に示したキー値ごとの集計値を有する要約情報１６、要約情報１７から、図１４に示す２次元頻度分布表作成用テーブル１８を生成し、２次元頻度分布表作成用テーブル１８から要約情報１９を生成する。この場合、局所要約情報算出部１０６は、要約情報１６，要約情報１７は、２次元頻度分布表を生成するために使用する作業用の要約情報として使用する。
局所要約情報算出部１０６は、図１２、図１３に示すような、キー値ごとの集計値を有する要約情報１６、要約情報１７を生成する。あるいは、局所要約情報算出部１０６は、図１４に示すような、２次元頻度分布表の要約情報１９を生成する。あるいは、局所要約情報算出部１０６は、要約情報１６、要約情報１７、要約情報１９を生成する。
要約情報１９を生成する場合、局所要約情報算出部１０６は、要約情報１６と要約情報１７とを用いる。このため、局所要約情報算出部１０６は、組ＡについてＳ１７を実行した後、Ｓ１３で生成したすべての組についてＳ１７を実行したか否かを判定し、実行していない場合は、残りの組についてＳ１４からＳ１７を実行する。なお、組ＡについてＳ１６を実行しても、組ＢのＤＢｇとしたＤＢ５であるテーブル１５については、まだ要約情報を生成していないので、Ｓ１５の判定は、ＮＯと判定され、Ｓ１６が実行される。局所要約情報算出部１０６は、組Ｂについて、組Ａと同様に、Ｓ１４からＳ１６を実行する。組ＢについてＳ１６を実行すると、要約情報１７が生成される。Ｓ１６において、局所要約情報算出部１０６は、Ｓ１３で生成したすべての組について要約情報の生成を終了したことを判定すると、要約情報１６と要約情報１７から、図１４に示すような２次元頻度分布表作成用テーブル１８を生成する。そして、局所要約情報算出部１０６は、２次元頻度分布表作成用テーブル１８から要約情報１９を生成する。局所要約情報算出部１０６は、要約情報１９を、ＤＢｓとしたＤＢ３であるテーブル１３のキー項目である機械コードの値ごとに生成する。局所要約情報算出部１０６は、２次元頻度分布表の要約情報１９を生成する場合、前準備として２次元頻度分布表作成用テーブル１８を生成する。２次元頻度分布表作成用テーブル１８には、部品コードが含まれている。局所要約情報算出部１０６は、組ＡのＤＢｇとしたＤＢ４と、組ＢのＤＢｇとしたＤＢ５との関連データベースを参照し、２つの関連データベースにおいて共通して有する項目を判定する。共通して有する項目は、図５、図６より「機械コード」「部品コード」である。機械コードは、ＤＢｓとしたＤＢ３のキー項目であるため、当該項目を除く残りの「部品コード」によって、ＤＢ４の作業時間とＤＢ５の修理コストとを関連付ける。機械コードが「２０１Ｂ」である作業時間と修理コストとを部品コードによって関連付けた結果の例が、図１４の２次元頻度分布表作成用テーブル１８である。
【００４１】
図１４は、２次元頻度分布表作成用テーブル１８を元に生成した、機械コードが２０１Ｂに対応する要約情報１９を示す。要約情報１９は、横軸は作業時間に対応する第１区間を有し、縦軸は修理コストに対応する第２区間を有する。第１区間、第２区間ともに、区間は複数ある。第１区間は、作業時間が取り得る値の範囲を複数に分割した区間を複数有する。第２区間は、縦軸の修理時間が取り得る値の範囲を複数に分割した区間を複数有する。第１区間と第２区間とはあらかじめ項目名に対応されて、集計装置１００のファイル群９２４に記憶される。局所要約情報算出部１０６は、作業時間との項目名に対応された第１区間を、ファイル群９２４から読みだして、横軸を生成する。同じく、局所要約情報算出部１０６は、修理コストとの項目名に対応された第２区間を、ファイル群９２４から読みだして、縦軸を生成する。横軸の１つの区間と縦軸の１つの区間とから特定される枠をセルとする。要約情報１９は、１０×１０の１００個のセルを有する。局所要約情報算出部１０６は、２次元頻度分布表作成用テーブル１８から、部品コードＡに対応する作業時間と修理コストを取得し、作業時間と修理コストとを含むセルを決定する。局所要約情報算出部１０６は、各セルにはあらかじめ初期値０を設定し、決定されたセルに１を加算する。要約情報１９は、各キー項目値における作業時間と修理コストとを組み合わせた結果のばらつきを（分布）を表す。
以上の処理により、局所要約情報算出部１０６は、組Ａと組Ｂとに対する要約情報を生成し、生成した要約情報を要約情報群記憶部１０７に記憶する。要約情報１９は、局所要約情報算出部１０６が生成した要約情報の一部であり、要約情報１０７ｃの一部として要約情報群記憶部１０７に記憶される。記憶した後、Ｓ１８へ進む。
【００４２】
組Ａ、組Ｂについての処理を終了した時点では、組Ａ、組ＢともにＤＢｓとしてＤＢ３とのテーブル名を有する関連モデル情報が設定され、当該関連モデル情報の順序値は３（図７参照）であった。局所要約情報算出部１０６は、順序値３より１を減算し、減算した結果が０以上であるため、新たな関連モデルの逆走査が可能であることを判定し（Ｓ１８，ＹＥＳ）、Ｓ１３へ戻る。
【００４３】
Ｓ１３へ戻り、２回目のＳ１３の処理の具体例を説明する。関連モデル逆走査部１０５は、新たなＤＢｇとして、現在のＤＢｓとした関連モデル情報を設定する。現在のＤＢｓには、順序値３を有する関連モデル情報が設定されていた。このため、関連モデル逆走査部１０５は、順序値３を有する関連モデル情報を新たなＤＢｇとして設定する。続いて、関連モデル逆走査部１０５は、現在のＤＢｓとして設定された関連モデル情報が有する順序値３から１を減算し、減算結果２を算出する。関連モデル逆走査部１０５は、減算結果２を順序値として、順序値２を有する関連モデル情報を新たなＤＢｓとする。図７より、新たなＤＢｓは、順序値２、関連データベース名ＤＢ２を有する関連モデル情報である。
【００４４】
Ｓ１４へ進む。局所要約情報算出部１０６は、ＤＢｇとした関連モデル情報に対応する要約情報が要約情報群記憶部１０７にあるか否かを判定する。ＤＢｇとした関連モデル情報は、順序値３を有する関連モデル情報であり、当該関連モデル情報を有する要約情報は、１回目のＳ１６の処理で生成済みである。このため、局所要約情報算出部１０６は、要約情報群記憶部１０７にＤＢｇとした関連モデル情報に対応する要約情報があると判定し、Ｓ１７へ進む。
【００４５】
Ｓ１７において、局所要約情報算出部１０６は、ＤＢｇとした関連モデル情報が有するテーブル名ＤＢ３により識別される関連データベース（テーブル１３）を、データベース群記憶部１０１から取得する。さらに、ＤＢｓとした関連モデル情報が有するテーブル名ＤＢ２により識別される関連データベース（テーブル１２）を、データベース群記憶部１０１から取得する。テーブル１３のキー項目は、前述したように機械コードである（図２参照）。また、テーブル１２のキー項目は、現場コードである（図２参照）。局所要約情報算出部１０６は、テーブル１２に記憶された現場コードの値ごとに、テーブル１３に記憶された機械コード値を取得する。そして、取得した機械コード値に対応する集計値を要約情報１９から取得する。要約情報１９は、２次元頻度分布表であるため、局所要約情報算出部１０６は、取得した集計値をセルごとに加算する。図１６は、局所要約情報算出部が生成した、順序値２を有する関連モデル情報を有する要約情報の一例を示す図である。例えば、図５のテーブル１２の現場コード値Ａ００１に対応するテーブル１３の機械コード値は、２０１Ｂ、２０２Ｂ、２０３Ｂ、２０４Ｂである。局所要約情報算出部１０６は、これらの機械コード値２０１Ｂ、２０２Ｂ、２０３Ｂ、２０４Ｂにそれぞれ対応する集計値を有する要約情報を要約情報群記憶部１０７から取得する。そして、局所要約情報算出部１０６は、取得した各要約情報が有するセルごとの集計値を加算して新たな集計値を算出する。算出した集計値は、現場コード値Ａ００１に対応する集計値となる。局所要約情報算出部１０６は、集計値と、ＤＢｓとした関連モデル情報とを有する要約情報を生成し、要約情報１０７ｂとして要約情報群記憶部１０７に記憶する。図１６の上段の要約情報３４が、現場コード値Ａ００１に対応する。局所要約情報算出部１０６は、同じように、現場コード値Ａ００２、Ａ００３についても、対応する機械コード値をテーブル１３から取得し、図１６の中段に示した要約情報３４、下段に示した要約情報３４をそれぞれ生成し、生成した各要約情報３４を要約情報１０７ｂとして要約情報群記憶部１０７に記憶する。
【００４６】
各要約情報を記憶した後、Ｓ１８へ進む。現在のＤＢｓとした関連モデル情報が有する順序値は２であるため、関連モデル逆走査部１０５は、順序値２から１を減算する。減算した結果は１であり、０より大きいので、すなわち、局所要約情報算出部１０６は、関連モデル情報を逆走査可能であると判定し（Ｓ１８，ＹＥＳ）、Ｓ１３へ戻る。
【００４７】
Ｓ１３の３回目の処理では、関連モデル逆走査部１０５は、ＤＢｇに現在のＤＢｓとした順序値が２である関連モデル情報を設定する。関連モデル逆走査部１０５は、ＤＢｓに順序値が１である関連モデル情報を設定する（図７参照）。Ｓ１３の後、局所要約情報算出部１０６は、２回目のＳ１４、Ｓ１５、Ｓ１７と同じように、新たなＤＢｇ、ＤＢｓについてＳ１４、Ｓ１５、Ｓ１７を行う。図１７は、局所要約情報算出部が生成した、順序値１を有する関連モデル情報を有する要約情報の一例を示す図。Ｓ１７により、局所要約情報算出部１０６は、図１７に示した担当者の値ごとの要約情報３４を生成し、要約情報１０７ａとして要約情報群記憶部１０７に記憶する。記憶した後、Ｓ１８へ進む。
【００４８】
Ｓ１８では、局所要約情報算出部１０６は、ＤＢｓとした現在の関連モデル情報が有する順序値１から１を減算し、減算した結果が０であるので、関連モデル情報の逆走査ができないと判定し（Ｓ１８，ＮＯ）、図１０の処理を終了する。
【００４９】
上記した具体例により、局所要約情報算出部１０６は、前段の関連モデル情報により特定される関連データベースが有するキー項目のキー値ごとに、最後段に関連付けられた関連モデル情報により特定される関連データベースが有する集計項目の値の集計値を集計した要約情報を生成する。このため、図８、図９に示した大福帳の形式で保持することと比較して、集計値を保持する記憶領域を節約できる。図１５は、各関連モデル情報に対応する要約情報のレコード数を説明する図である。図１５において、テーブル１１からテーブル１５の各テーブルを関連モデル情報が有するテーブル名１０４ｂにより表されるテーブルとして考えると、テーブル１３には、機械コードの値ごとの要約情報が対応する。例えば、機械コードの値がＮ３（Ｎ３は０より大きい整数）種類あると、テーブル１３に対応する要約情報のレコード数はＮ３個となる。また、テーブル１２に、現場コードの値がＮ２（Ｎ２は０より大きい整数）種類あると、テーブル１２に対応する要約情報のレコード数はＮ２個となる。また、テーブル１に、担当者の値がＮ１（Ｎ１は０より大きい整数）種類あると、テーブル１１に対応する要約情報のレコード数はＮ１個となる。各要約情報のレコード数を加算すると、Ｎ３＋Ｎ２＋Ｎ１となる。
一方、大福帳の形式で各テーブルを繋げると、複数のテーブルのうち最大レコード数と同じレコード数を有する大福帳を生成することになる。図８，図９は、図５，図６の各テーブルを繋げた大福帳を示す。図８に示すように、大福帳２１のレコードの数は、ＤＢ４であるテーブル１４のレコード数と同じ数のレコードを有する（Ｎ３よりも多いレコード数を有する）。同様に、図９に示すように、大福帳２１のレコードの数は、ＤＢ５であるテーブル１５のレコード数と同じ数のレコードを有する（Ｎ３よりも多いレコード数を有する）。大福帳２１のレコード数と、要約情報として集計値を保持する場合のレコード数とを比べると、要約情報はキー項目のキー値ごとに値を集計するので、要約情報として保持する場合のほうがレコード数を少なくできる。要約情報として保持する方が、大福帳として保持するよりも、記憶領域のサイズを小さくできる。記憶領域のサイズを小さくできるということは、記憶領域に記憶されたレコードを検索する際の検索時間を少なくでき、検索に使用する処理装置（コンピュータシステムのリソースの一例）を効率よく使用できる。
【００５０】
実施の形態２．
この実施の形態では、要約情報群記憶部１０７に記憶された要約情報から、指定された条件に当てはまる要約情報を選択して集計結果を生成する集計装置について、実施の形態１との差異を説明する。
図１８は、この実施の形態の集計装置１００の構成を示すブロック図である。
図１８に示した要素のうち、要約情報走査部１０８（要約情報選択部の一例）、要約情報統合近似集計部１０９（近似集計部の一例）、要約情報誤差評価部１１０、誤差評価結果１１１、近似集計結果１１２が、図１の集計装置１００に対して追加となった。
要約情報走査部１０８（要約情報選択部の一例）は、マウス９０３やキーボード９０２等の入力装置を用いて、絞込み対象とする項目、項目値の条件を表す絞込み情報を入力し、入力した絞込み情報に基づいて要約情報群記憶部１０７、データベース群記憶部１０１から絞込み情報に当てはまる要約情報、関連データベースを入力する。
要約情報統合近似集計部１０９（近似集計部の一例）は、要約情報走査部１０８が入力した要約情報と関連データベースが記憶するレコードとから、絞込み情報が表す項目の項目値のうち項目値の条件を満足する項目値を有する要約情報とレコードを取得し、取得した要約情報とレコードとを用いて近似集計値を算出する。要約情報統合近似集計部１０９は、算出した近似集計値を近似集計結果１１２として、ＣＲＴ９０１、プリンタ９０６等の出力装置に表示や印刷等の出力を行う。
要約情報誤差評価部１１０（誤差評価値部の一例）は、要約情報統合近似集計部１０９が算出した近似集計値を評価する誤差量を、要約情報統合近似集計部１０９が算出した近似集計値を用いて算出する。要約情報誤差評価部１１０は、算出した誤差量を誤差評価結果１１１として、ＣＲＴ９０１、プリンタ９０６等の出力装置に表示や印刷等の出力を行う。
【００５１】
図１９は、この実施の形態の集計装置１００の動作を示すフローチャートである。
図１９に従い、この実施の形態の集計装置１００の動作を説明する。
図１９のＳ１０からＳ１８は、実施の形態１で説明した図１０のＳ１０からＳ１８と同じである。このため、要約情報群記憶部１０７には、すでに、局所要約情報算出部１０６により生成された要約情報が記憶されているものとし、Ｓ２０から動作を説明する。
【００５２】
Ｓ２０において、要約情報走査部１０８は、マウス９０３やキーボード９０２等の入力装置を用いて、絞込み対象とする絞込み項目名、絞込み項目名の絞込み値とを有する絞込み情報を入力する。絞込み項目名とは、複数の要約情報から特定の要約情報を絞込むために使用する項目であって、各関連データベースが有する複数の項目のうちある項目の項目名を指定する。絞込み値とは、指定した絞込み項目名の項目値であり、特定の要約情報を絞込むために使用する値である。要約情報走査部１０８は、絞込み項目名と絞込み値とを絞込み情報として入力する。
例えば、要約情報走査部１０８は、ＤＢ２に存在する項目「サービス種類」を絞込み項目名として入力し、「Ａコース」との値を絞込み値として入力する（図５，図１６参照）。
Ｓ２１において、要約情報走査部１０８は、絞込み項目名として指定された項目名を有する関連データベースを、関連データベース群記憶部１０１に記憶された複数の関連データベースから取得する。要約情報走査部１０８は、取得した関連データベースのテーブル名を取得する。さらに、要約情報走査部１０８は、取得した関連データベースから、絞り項目名の項目の項目値が、絞込み値であるキー項目値を取得する。
上記した絞込み情報の例では、要約情報走査部１０８は、絞込み項目名「サービス種類」の項目値が「Ａコース」である、キー項目値を取得する。図５の例では、テーブル名として、ＤＢ２（テーブル１２）を取得し、キー項目値として、現場コードＡ００１，Ａ００２，Ａ１２４を取得する。さらに、テーブル名１０４ｂとしてＤＢ２を有する関連モデル情報を、関連モデル群記憶部１０４に記憶された複数の関連モデル情報から取得する。図７の例では、順序値１０４ａが２である関連モデル情報を取得する。
Ｓ２２において、要約情報走査部１０８は、要約情報群記憶部１０７に記憶された複数の要約情報の中から、Ｓ２１で取得した関連モデル情報を有する要約情報を取得する。
ここでは、要約情報走査部１０８は、順序値２を有する関連モデル情報を有する要約情報を取得する。そして、さらに、要約情報走査部１０８は、取得した要約情報の中から、Ｓ２１で取得したキー項目値を有する要約情報を取得する。
上記した例では、、現場コードＡ００１，Ａ００２，Ａ１２４である要約情報を抽出する。
順序値２を有する関連モデル情報を有する要約情報は、図１６に示した。要約情報走査部１０８は、図１６に示した要約情報のうち、上段、中段の要約情報３４を取得する。下段の要約情報３４は、サービス種類が「Ａコース」でないため（「Ｂコース」である）、要約情報走査部１０８は、下段の要約情報３４を抽出しない（図１６には、Ａ１２４に対応する要約情報は図示していないが、要約情報走査部１０８は、Ａ１２４に対応する要約情報を抽出するものとする。）。
要約情報走査部１０８は、抽出した複数の要約情報３４を、要約情報統合近似集計部１０９に出力する。
【００５３】
Ｓ２３において、要約情報統合近似集計部１０９が、要約情報走査部１０８により出力された複数の要約情報を統合する。統合とは、各セルに設定されている値を加算して、加算した値を設定した複数のセルを有する新たな２次元頻度分布表を生成することである。例えば、要約情報をｉ行ｊ列の行列と考えた場合、Ｓ［ｉ，ｊ］＝Ｐ［ｉ，ｊ］＋Ｑ［ｉ，ｊ］＋Ｒ［ｉ，ｊ］により新たな２次元頻度分布表を生成する。Ｓ［ｉ，ｊ］は新たな２次元頻度分布表を表す。Ｐ［ｉ，ｊ］は、現場コードＡ００１に対応する要約情報である。Ｑ［ｉ，ｊ］はＡ００２に対応する要約情報である。Ｒ［ｉ，ｊ］はＡ１２４に対応する要約情報である。ｉは統合対象の横軸を表し、ｊは統合対象の縦軸を表す。図１６の例では、ｉは作業時間（横軸）を表し、ｊは修理コスト（縦軸）を表す。要約情報統合近似集計部１０９は、新たな２次元頻度分布表をＣＲＴ９０１、プリンタ９０６等の出力装置に出力して、表示や印刷等を行う。要約情報統合近似集計部１０９は、さらに、関数を用いて、新たに生成した２次元頻度分布表から近似相関係数を算出する。要約情報統合近似集計部１０９は、関数を用いて算出した近似相関係数を近似集計結果１１２としてＣＲＴ９０１、プリンタ９０６等の出力装置に出力して、表示や印刷等を行う。
図２０は、この実施の形態の要約情報統合近似集計部１０９が生成した新たな２次元頻度分布表の一例を示す図である。
Ｓ２２で抽出された複数の要約情報３４の各セルの値を加算した結果が、図２０に示した２次元頻度分布表である。
【００５４】
新たな２次元頻度分布表を生成した後、要約情報統合近似集計部１０９は、生成した２次元頻度分布表を、あらかじめ集計装置１００のファイル群９２４記憶された関数（疑似コード）の引数として渡し、関数の実行結果として近似相関係数を受取る。
近似相関係数を求める関数は、２次元頻度分布表（２次元ヒストグラム）が有する各セルの値、セルの数に基づいて、近似相関係数を算出する。
図２１は、近似相関係数を出力する関数の疑似コードの一例を示す図である。
図２１に示した関数（第１の関数の一例）は、ファイル群９２４（関数記憶部の一例）に記憶された第１の関数ファイルに記憶されている。
図２１の関数は、「ｉ＿２Ｄｈｉｓｔ」「ｎ＿ｒ」「ｎ＿ｃ」を入力する。「ｉ＿２Ｄｈｉｓｔ」は、２次元頻度分布表が有する各セルに設定された値である。「ｎ＿ｒ」は、２次元ヒストグラムの行方向の分割数であり、「ｎ＿ｃ」は、２次元ヒストグラムの列方向の分割数である。図２１の関数の出力は、「ｒｅｓｕｌｔ＿ｒ」である。「ｒｅｓｕｌｔ＿ｒ」は、近似相関係数である。図２２は、重心を算出する関数の疑似コードの一例を示す図である。図２２の関数は、「ｉ＿２Ｄｈｉｓｔ」「ｎ＿ｒ」「ｎ＿ｃ」を入力する。「ｉ＿２Ｄｈｉｓｔ」は、２次元頻度分布表が有する各セルに設定された値である。「ｎ＿ｒ」は、２次元ヒストグラムの行方向の分割数であり、「ｎ＿ｃ」は、２次元ヒストグラムの列方向の分割数である。  図２２に示した関数（第１の重心算出関数の一例）は、ファイル群９２４（関数記憶部の一例）に記憶された第１の重心算出関数ファイルに記憶されている。図２２の関数は、各セルに設定された値が、当該セルの中心の座標に値があるものとして重心を算出する。例えば、左下のセルは値は１であるが、この値１は、作業時間が０〜１０の範囲であり、かつ、修理コストが０〜１０の範囲であるとの条件に一致するものの個数を表す。しかし、横軸、縦軸の正確な座標は分からない。このため、作業時間は０〜１０の真ん中の５、修理コストは０〜１０の真ん中の５との座標であるものとして、２次元頻度分布表の重心を算出する。図２２の関数の出力は、「ｃｏｌ＿ｃｅｎｔｅｒ」「ｒｏｗ＿ｃｅｎｔｅｒ」である。「ｃｏｌ＿ｃｅｎｔｅｒ」は列方向（横軸）の集計値の重心である。「ｒｏｗ＿ｃｅｎｔｅｒ」は、行方向（縦軸）の集計値の重心である。
図２１の関数は、図２２の関数により算出された「ｃｏｌ＿ｃｅｎｔｅｒ」「ｒｏｗ＿ｃｅｎｔｅｒ」を入力して近似相関係数の算出に使用する。
図２０に示す２次元頻度分布表を使用して図２０、図２１により近似相関係数を算出すると、０．６９１が図２０の関数より出力される。要約情報統合近似集計部１０９は、図２０の関数より出力された近似相関係数０．６９１を近似集計結果１１２として出力する。
【００５５】
次に、要約情報統合近似集計部１０９は、近似集計結果１１２の確からしさを評価する。
Ｓ２４において、要約情報統合近似集計部１０９は、近似集計結果１１２を要約情報誤差評価部１１０に出力する。
【００５６】
２次元頻度分布表の情報からは、セルごとに集計された値がそれぞれどの座標に分布するかは分からない。例えば、作業時間が９で、かつ、修理コストが２であるセルは図２０の左下のセルに対応する。しかし、図２０の左下のセルは、作業時間が０〜１０であり、かつ、修理コストが０〜１０であるため、当該セルとしての値（個数）は１であるが、作業時間と修理コストとの各値が当該セルの右上、右下、真ん中、左上、左下のいずれの座標に分布するのか不明である。このため、相関係数の厳密値は見つからない。そのような中で、相関係数が取り得る範囲を求めるために、各セルに属する値が全て、セルの範囲内で重心との距離が最小、または、最大になるように分布することを仮定し、重心との距離が近い状態を相関係数の上限、重心からの距離が遠い状態での相関係数を相関係数の下限として、相関係数が取り得る範囲を算出する。
Ｓ２４では、さらに、要約情報誤差評価部１１０が、近似集計結果から誤差量を見積もる誤差評価を行い、誤差評価を行った結果を誤差評価結果１１１として出力する。
誤差評価は、重心に近い側に全ての要素が集中している場合の相関係数と、重心から遠い側に全ての要素が集中している場合の相関係数とにより、誤差範囲を評価する。
【００５７】
図２３は、各セルに設定された集計値と重心との距離が近い状態を説明する図である。図２４は、各セルに設定された集計値と重心との距離が遠い状態を説明する図である。
図２３、図２４の丸付の数値は、各セル（格子で区切られた四角のエリア）の中で、重心に近いまたは重心に遠いと判定する場合に、各セルの値を代表させる値を示す。丸はそのセルに属する値全てが存在すると仮定する座標、丸の中の数字は値の個数（セルに設定された集計値）である。例えば、図２０の作業時間３０〜４０、修理コスト２０〜３０の場合の２次元頻度分布表のセルの値は５である。しかし、図２３に示す「重心に近い場合」は、上記した作業時間３０〜４０、修理コスト２０〜３０のセルの値５つが全て作業時間＝３０、修理コスト＝２０の値を取るものと仮定する。図２４に示す「重心から遠い場合」は、上記した作業時間３０〜４０、修理コスト２０〜３０のセルの値５つが全て作業時間＝４０、修理コスト＝３０の値を取るものと仮定する。
図２５は、重心に近い場合の相関係数を算出する関数の疑似コードの一例を示す図である。図２６は、重心に遠い場合の相関係数を算出する関数の疑似コードの一例を示す図である。図２５の関数は、「ｉ＿２Ｄｈｉｓｔ」「ｎ＿ｒ」「ｎ＿ｃ」を入力する。「ｉ＿２Ｄｈｉｓｔ」は、２次元頻度分布表が有する各セルに設定された値である。「ｎ＿ｒ」は、２次元ヒストグラムの行方向の分割数であり、「ｎ＿ｃ」は、２次元ヒストグラムの列方向の分割数である。  図２５の関数の出力は、「ｒｅｓｕｌｔ＿ｎｅａｒ＿ｒ」である。「ｒｅｓｕｌｔ＿ｎｅａｒ＿ｒ」は、重心が近い場合の近似相関係数である。図２６の関数は、「ｉ＿２Ｄｈｉｓｔ」「ｎ＿ｒ」「ｎ＿ｃ」を入力する。「ｉ＿２Ｄｈｉｓｔ」は、２次元頻度分布表が有する各セルに設定された値である。「ｎ＿ｒ」は、２次元ヒストグラムの行方向の分割数であり、「ｎ＿ｃ」は、２次元ヒストグラムの列方向の分割数である。  図２６の関数の出力は、「ｒｅｓｕｌｔ＿ｆａｒ＿ｒ」である。ｒｅｓｕｌｔ＿ｆａｒ＿ｒ」は、重心が遠い場合の近似相関係数である。
例えば、近似集計結果が図２０に示す２次元頻度分布表であった場合、図２５、図２６に示す関数を用いて図２０の２次元頻度分布表の評価を行う。図２５に示した関数（第２の関数の一例）は、ファイル群９２４（関数記憶部の一例）に記憶された第２の関数ファイルに記憶されている。図２６に示した関数（第３の関数の一例）は、ファイル群９２４（関数記憶部の一例）に記憶された第３の関数ファイルに記憶されている。重心に近い側に全ての要素が集中している場合の相関係数が、図２５の関数により０．７０４と算出されて、出力される。重心から遠い側に全ての要素が集中している場合の相関係数が、図２６の関数により０．５９１と算出されて、出力される。要約情報誤差評価部１１０は、それぞれの関数から出力された相関係数０．７０４と０．５９１とを入力する。そして、要約情報誤差評価部１１０は、相関係数０．７０４と相関係数０．５９１とから比率１．１９１を算出し（０．７０４／０．５９１＝１．１９１）、算出した比率１．１９１と１．０との差１９．１％（（１．１９１−１．０）×１００＝１９．１％）を誤差量として算出する。
要約情報誤差評価部１１０は、算出した誤差量１９．１％を誤差評価結果１１１としてＣＲＴ９０１、プリンタ９０６等の出力装置に出力して、表示や印刷等を行う。出力を実行後、要約情報誤差評価部１１０は、処理を完了する。
【００５８】
この実施の形態２の集計装置１００は、上記したように近似相関係数とともに、誤差評価結果を出力する。ユーザは出力された近似集計結果が信頼できるかどうかを、誤差評価結果から判断する。誤差評価結果が充分に想定される値である場合には、近似集計結果を信頼して採用する。近似集計結果が、ユーザが良否を判定する閾値に近い値であり、誤差評価結果を考慮すると良否の両方があり得る場合には、厳密解を求めるなどの対処を行う。例えば、近似相関係数０．６９１がユーザが良否を判定する閾値に近い値である場合、誤差評価結果１９．１％が充分に想定される値であれば、ユーザは近似集計結果０．６９１を信頼する。誤差評価結果１９．１％が充分に想定される値でなければ、ユーザは近似集計結果０．６９１を信頼せず、厳密解を求める。
【００５９】
また、図８、図９に示した大福帳に対する条件絞込では、統合される最大のテーブルのレコード数が走査対象となるため、走査時間がかかる。これに対し、実施の形態２の集計装置１００では、絞り込み条件に当てはまるレコード数のみ走査対象となることで、走査・条件比較に要する処理時間を軽減することができる。
【００６０】
実施の形態３．
実施の形態１では、最も大きい順序値を有する関連モデル情報として、２つの関連モデル情報を有する例を説明した。この実施の形態では、最も大きい順序値を有する関連モデル情報として、１つの関連モデル情報を有する例を説明する。
図２７は、実施の形態３のデータベース群記憶部が記憶した各データベースが記憶するデータの一例と、関連付けを説明する図。
図２７は、テーブル１３に関連付けられるテーブルが、テーブル１４のみであることが、図２と異なる。その他は、図２と同じである。局所要約情報算出部１０６は、テーブル１３に関連付けられたテーブルがテーブル１４の１つであるため、テーブル１３のキー項目である機械コードの値ごとに、作業時間を集計した１次元頻度分布表を要約情報として生成する。集計装置１００は、１次元頻度分布表を、図１０のフローチャートのＳ１０からＳ１８により生成する。
図２８は、１次元頻度分布表の一例を示す図。局所要約情報算出部１０６は、図２８の例のように、機械コードの値２０１Ｂに対応する要約情報として、最初に作成用テーブル１８をＳ１６で生成する。図２８の作成用テーブル１８は、作業時間を集計する点が、図１４と異なる。局所要約情報算出部１０６は、作成用テーブル１８から、作業時間を横軸とする要約情報１９を生成する。図２８の要約情報は、横軸に作業時間を有し、縦軸には何も要素を有しない点が、図１４の要約情報と異なる。
【００６１】
集計装置１００は、最も大きい順序値を有する関連モデル情報が１つであっても、要約情報を生成することができる。
【符号の説明】
【００６２】
１１，１２，１３，１４，１５  テーブル、１１ａ，１２ａ，１３ａ，１４ａ，１５ａ  キー項目、１１ｂ，１２ｂ，１３ｂ，１４ｂ，１５ｂ  項目、１４ｃ，１５ｃ  集計対象項目、１６，１７  要約情報、１８  作成用テーブル、１９  要約情報、２１  大福帳、３４  要約情報、１００  集計装置、１０１  データベース群記憶部、１０２，１０２ａ，１０２ｂ  関連付け情報、１０３  データ管理部、１０４  関連モデル群記憶部、１０４ａ  順序値、１０４ｂ  テーブル名、１０４ｃ  集計項目名、１０４ｄ  集計方法、１０５  関連モデル逆走査部、１０６  局所要約情報算出部、１０７  要約情報群記憶部、１０７ａ，１０７ｂ，１０７ｃ  要約情報、１０８  要約情報走査部、１０９  要約情報統合近似集計部、１１０  要約情報誤差評価部、１１１  誤差評価結果、１１２  近似集計結果、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2012252628.tif 000003
【図２】
2012252628.tif 000004
【図３】
2012252628.tif 000005
【図４】
2012252628.tif 000006
【図５】
2012252628.tif 000007
【図６】
2012252628.tif 000008
【図７】
2012252628.tif 000009
【図８】
2012252628.tif 000010
【図９】
2012252628.tif 000011
【図１０】
2012252628.tif 000012
【図１１】
2012252628.tif 000013
【図１２】
2012252628.tif 000014
【図１３】
2012252628.tif 000015
【図１４】
2012252628.tif 000016
【図１５】
2012252628.tif 000017
【図１６】
2012252628.tif 000018
【図１７】
2012252628.tif 000019
【図１８】
2012252628.tif 000020
【図１９】
2012252628.tif 000021
【図２０】
2012252628.tif 000022
【図２１】
2012252628.tif 000023
【図２２】
2012252628.tif 000024
【図２３】
2012252628.tif 000025
【図２４】
2012252628.tif 000026
【図２５】
2012252628.tif 000027
【図２６】
2012252628.tif 000028
【図２７】
2012252628.tif 000029
【図２８】
2012252628.tif 000030