(57)【要約】      （修正有）【課題】効率的な集計処理を実現する集計プログラム、集計装置および集計方法を提供する。【解決手段】ＴＲＩＥ構造の統計ヒドラを用いて複数のアプリケーションによって蓄積されたファイルを、境界値に関する節と、境界値間を補間して得た値に関する節と、で構成し、集計処理を行う。まず、境界値情報を第１の分割した範囲情報と補間値情報を記憶する第１の記憶手段を用意する。同様に、第２、第３の範囲情報、補間値情報を記憶させた第２、第３の記憶手段を用意して集計処理を実行する。【選択図】図３
2010108093.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
所望の範囲を特定する境界値情報であって前記所望の範囲に属する境界値情報を第１の分割位置で分割した第１の分割情報と前記境界値情報以外の前記所望の範囲の値を補完して得る補間値情報を前記第１の分割位置で分割した第１の補間値分割情報とを記憶する第１の記憶手段と、前記境界値情報を前記第１の分割位置と一定方向に隣接する第２の分割位置で分割した第２の分割情報と前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報とを記憶する第２の記憶手段と、前記境界値情報が属する範囲についての集計情報を記憶する集計情報記憶手段に関する情報を記憶する第３の記憶手段と、を備え、前記第１の記憶手段は、前記第１の分割情報と前記第２の記憶手段との関連付け情報と、前記第１の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有し、前記第２の記憶手段は、前記第２の分割情報と前記第３の記憶手段との関連付け情報と、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有する集計用記憶手段における前記第１の記憶手段を参照し、集計対象である集計対象情報を前記第１の分割位置で分割した第１の集計分割情報と一致する前記第１の分割情報と関連付けられた前記第２の記憶手段、または前記第１の集計分割情報と一致する前記第１の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第１の特定処理と、
前記第２の記憶手段を参照し、前記集計対象情報を前記第２の分割位置で分割した第２の集計分割情報と一致する前記第２の分割情報と関連付けられた前記第３の記憶手段、または前記第２の集計分割情報と一致する前記第２の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第２の特定処理と、
前記第１または第２の特定処理により特定された第３の記憶手段が記憶する情報から集計情報記憶手段を特定し、該集計情報記憶手段に前記集計対象情報に関する集計情報を記憶する集計処理と、
を実行させるためのプログラム。
【請求項２】
前記第１の記憶手段は、連続する第１の配列を複数備え、該第１の配列の配列番号が前記第１の分割情報または第１の補間値分割情報を表し、
前記第２の記憶手段は、連続する第２の配列を複数備え、該第２の配列の配列番号が前記第２の分割情報または第２の補間値分割情報を表す、
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記第１の記憶手段は、連続する第１の配列を複数備え、前記第１の分割情報または前記第１の補間値分割情報と一致する配列番号を持つ前記第１の配列に、前記第１の分割情報と前記第２の記憶手段との関連付け情報、または、前記第１の補間分割情報と前記第２の記憶手段との関連付け情報を記憶し、
前記第２の記憶手段は、連続する第２の配列を複数備え、前記第２の分割情報または前記第２の補間値分割情報と一致する配列番号を持つ前記第２の配列に、前記第２の分割情報と前記第３の記憶手段との関連付け情報、または、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報を記憶する、
ことを特徴とする請求項１に記載のプログラム。
【請求項４】
所望の範囲を特定する境界値情報であって前記所望の範囲に属する境界値情報を第１の分割位置で分割した第１の分割情報と、前記境界値情報以外の前記所望の範囲の値を補完して得る補間値情報を前記第１の分割位置で分割した第１の補間値分割情報と、を記憶する第１の記憶手段と、前記境界値情報を前記第１の分割位置と一定方向に隣接する第２の分割位置で分割した第２の分割情報と、前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報と、を記憶する第２の記憶手段と、前記境界値情報が属する範囲についての集計情報を記憶する集計情報記憶手段に関する情報を記憶する第３の記憶手段と
、を備え、前記第１の記憶手段は、前記第１の分割情報と前記第２の記憶手段との関連付け情報と、前記第１の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有し、前記第２の記憶手段は、前記第２の分割情報と前記第３の記憶手段との関連付け情報と、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有する集計用記憶手段における前記第１の記憶手段を参照し、集計対象である集計対象情報を前記第１の分割位置で分割した第１の集計分割情報と一致する前記第１の分割情報と関連付けられた前記第２の記憶手段、または前記第１の集計分割情報と一致する前記第１の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第１の特定手段と、
前記第２の記憶手段を参照し、前記集計対象情報を前記第２の分割位置で分割した第２の集計分割情報と一致する前記第２の分割情報と関連付けられた前記第３の記憶手段、または前記第２の集計分割情報と一致する前記第２の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第２の特定手段と、
前記第１または第２の特定処理により特定された第３の記憶手段が記憶する情報から集計情報記憶手段を特定し、該集計情報記憶手段に前記集計対象情報に関する集計情報を記憶する集計手段と、
を備える集計装置。
【請求項５】
所望の範囲を特定する境界値情報であって前記所望の範囲に属する境界値情報を第１の分割位置で分割した第１の分割情報と、前記境界値情報以外の前記所望の範囲の値を補完して得る補間値情報を前記第１の分割位置で分割した第１の補間値分割情報と、を記憶する第１の記憶手段と、前記境界値情報を前記第１の分割位置と一定方向に隣接する第２の分割位置で分割した第２の分割情報と、前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報と、を記憶する第２の記憶手段と、前記境界値情報が属する範囲についての集計情報を記憶する集計情報記憶手段に関する情報を記憶する第３の記憶手段と、を備え、前記第１の記憶手段は、前記第１の分割情報と前記第２の記憶手段との関連付け情報と、前記第１の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有し、前記第２の記憶手段は、前記第２の分割情報と前記第３の記憶手段との関連付け情報と、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有する集計用記憶手段における前記第１の記憶手段を参照し、集計対象である集計対象情報を前記第１の分割位置で分割した第１の集計分割情報と一致する前記第１の分割情報と関連付けられた前記第２の記憶手段、または前記第１の集計分割情報と一致する前記第１の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第１の特定処理と、
前記第２の記憶手段を参照し、前記集計対象情報を前記第２の分割位置で分割した第２の集計分割情報と一致する前記第２の分割情報と関連付けられた前記第３の記憶手段、または前記第２の集計分割情報と一致する前記第２の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第２の特定処理と、
前記第１または第２の特定処理により特定された第３の記憶手段が記憶する情報から集計情報記憶手段を特定し、該集計情報記憶手段に前記集計対象情報に関する集計情報を記憶する集計処理と、
を行う集計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ集計などのデータ操作に使用するプログラム、装置および方法に関する。
【背景技術】
【０００２】
基幹業務を行う基幹業務システムなどのシステムでは、生成・蓄積されるデータの規模が大きいため、データの集計、プロファイリング、クレンジング、名寄せなどの処理の効率化が求められる。
【０００３】
上記技術に関連して、ＴＲＩＥ構造の統計ヒドラを用いて、複数のアプリケーションにより蓄積されたファイル（データ）から必要なデータを自動的に取得するための技術が知られている。
【０００４】
なお、ここで述べる「統計ヒドラ」は、発明を実施するための最良の形態として後述する「統計ヒドラ」とは異なる従来技術を示すものである。
例えば、図１２に示す試験結果データ１２００を、図１３に示す評価表１３００にしたがって「優」、「良」、「可」、「不可」に分類し、その分布や平均を求める場合、以下の様な処理を行う必要がある。
【０００５】
（１）試験結果データ１２００から図１４に示す統計ヒドラ１４００を生成し、得点毎に１次集計を実施する。その結果、「得点」毎の集計結果１４０１を得る。
【０００６】
（２）集計結果１４０１のデータを、例えば、以下の検索式を使用して、評価表１３００の「得点範囲」毎に分類する。その結果、図１５に示すように、評価表１３００の「得点範囲」毎の集計結果１５０１、１５０２、１５０３、１５０４を得る。
「優」  の集計データ群検索式：  得点  ≧  ４５  ＡＮＤ  得点  ≦  ５０
「良」  の集計データ群検索式：  得点  ≧  ４０  ＡＮＤ  得点  ＜  ４５
「可」  の集計データ群検索式：  得点  ≧  ３０  ＡＮＤ  得点  ＜  ４０
「不可」の集計データ群検索式：  得点  ≧    ０  ＡＮＤ  得点  ＜  ３０
【０００７】
（３）集計結果１５０３および１５０４は、複数の集計結果が得られたので、「得点範囲」毎の集計結果を得るために、２次集計を実施する。その結果、図１６に示す所望の集計結果１６００を得る。
【特許文献１】特開２００６−１７１８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上述した集計処理では、所望の集計結果を得るために、１次集計に加えて２次集計も行わなければならないため、処理時間がかかるという問題があった。
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、効率的な集計処理を実現する集計プログラム、集計装置および集計方法を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本集計プログラムは、コンピュータに、所望の範囲を特定する境界値情報であって前記所望の範囲に属する境界値情報を第１の分割位置で分割した第１の分割情報と前記境界値情報以外の前記所望の範囲の値を補完して得る補間値情報を前記第１の分割位置で分割した第１の補間値分割情報とを記憶する第１の記憶手段と、前
記境界値情報を前記第１の分割位置と一定方向に隣接する第２の分割位置で分割した第２の分割情報と前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報とを記憶する第２の記憶手段と、前記境界値情報が属する範囲についての集計情報を記憶する集計情報記憶手段に関する情報を記憶する第３の記憶手段と、を備え、前記第１の記憶手段は、前記第１の分割情報と前記第２の記憶手段との関連付け情報と、前記第１の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有し、前記第２の記憶手段は、前記第２の分割情報と前記第３の記憶手段との関連付け情報と、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有する集計用記憶手段における前記第１の記憶手段を参照し、集計対象である集計対象情報を前記第１の分割位置で分割した第１の集計分割情報と一致する前記第１の分割情報と関連付けられた前記第２の記憶手段、または前記第１の集計分割情報と一致する前記第１の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第１の特定処理と、前記第２の記憶手段を参照し、前記集計対象情報を前記第２の分割位置で分割した第２の集計分割情報と一致する前記第２の分割情報と関連付けられた前記第３の記憶手段、または前記第２の集計分割情報と一致する前記第２の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第２の特定処理と、前記第１または第２の特定処理により特定された第３の記憶手段が記憶する情報から集計情報記憶手段を特定し、該集計情報記憶手段に前記集計対象情報に関する集計情報を記憶する集計処理と、を実行させる。
【００１０】
本集計プログラムによると、集計対象である集計対象情報について、第１の集計分割情報と一致する第１の分割情報と関連付けられた第２の記憶手段、または第１の集計分割情報と一致する第１の補間値分割情報と関連付けられた第３の記憶手段を特定する。
【００１１】
そして、第２の集計分割情報と一致する第２の分割情報と関連付けられた第３の記憶手段、または第２の集計分割情報と一致する第２の補間値分割情報と関連付けられた第３の記憶手段を特定する。
【００１２】
さらに、特定した第３の記憶手段が記憶する情報から集計情報記憶手段を特定し、集計情報記憶手段に集計対象情報に関する集計情報を記憶する。
したがって、所望の集計結果を得るために、上述した一連の１次集計処理以外の処理、例えば、２次集計処理を行うことなる、所望の集計結果を得ることが可能となる。
【発明の効果】
【００１３】
以上に説明したように、本集計プログラムによると、効率的な集計処理を実現する集計プログラム、集計装置および集計方法を提供することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本実施形態について、図１〜図１１に基づいて説明する。なお、以下の説明では、図１２に示した試験結果データ１２００を、図１３に示す評価表１３００にしたがって「優」、「良」、「可」、「不可」に分類し、その分布や平均を求める場合について説明する。
【００１５】
図１は、集計装置１００の処理の概要を示すフローチャートである。
ステップＳ１０１において、集計装置１００は、評価表１３００から得点範囲の境界値情報２０１を取得し、境界値情報２０１についての基本統計ヒドラ２００を集計装置１００に備わるメモリ１１０２上に生成する。
【００１６】
本実施例では、基本統計ヒドラ２００、後述する統計ヒドラ３００を、メモリ１１０２上生成する場合について説明するが、仮想メモリ上に基本統計ヒドラ２００および統計ヒドラ３００を生成してもよい。
【００１７】
以下、このステップで生成される統計ヒドラ２００を、後述する統計ヒドラ３００と区別するために、「基本統計ヒドラ２００」という。
ステップＳ１０２において、集計装置１００は、ステップＳ１０１で生成した基本統計ヒドラ２００について、境界値情報２０１以外の部分を補間する。以下、補間処理が施された基本統計ヒドラ２００を「統計ヒドラ３００」という。
【００１８】
ステップＳ１０３において、集計装置１００は、ステップＳ１０２で生成した統計ヒドラ３００にしたがって、試験結果データ１２００の集計処理を行う。集計結果は、後述する集計情報記憶領域に記憶される。
【００１９】
ステップＳ１０４において、集計装置１００は、ステップＳ１０３で行った集計の結果をメモリ１１０２、外部記憶装置１１０５、可搬記憶媒体１１０７、ネットワークなどに出力する。
また、必要があれば、集計結果から得られる所望の情報、例えば、平均得点などを算出してメモリ１１０２等に出力する。
【００２０】
図２は、ステップＳ１０１の処理で生成される基本統計ヒドラ２００の概要を説明する図である。
図２に示す基本統計ヒドラ２００は、境界値に関する節ａ〜ｊで構成される。そして、基本統計ヒドラ２００は、階層構造を有する。
「境界値に関する節」は、境界値の一部の情報と、同じ境界値の他の部分の情報を有する節または同じ境界値に関する葉と関連付けるための情報と、を備える。「葉」は、関連付けられた一連の節によって構成される値に関する集計情報である。本実施例に係る葉は、例えば、人数や合計得点などが記憶される集計情報記憶領域のアドレス情報などで構成される。
【００２１】
以下、基本統計ヒドラ２００の起点となる節ａを「先頭節」という。また、他の節と関連付けられた節を「中間節」といい、葉と関連付けられた節を「最終節」という。したがって、節ａは先頭節である。節ｂ、ｃ、ｄおよびｅは中間節である。また、節ｆ、ｇ、ｈ、ｉおよびｊは最終節である。そして、ｋ、ｌ、ｍおよびｎは葉である。
【００２２】
図２に示す中間節は、境界値情報２０１の境界値の十の位の値と、同じ境界値の一の位の値を有する節が記憶される記憶領域のアドレス情報と、を備える。また、図２に示す最終節は、境界値情報２０１の境界値の一の位の値と、関連付けられた一連の節によって構成される境界値に関する集計情報が記憶される集計情報記憶領域のアドレス情報を有する葉が記憶される記憶領域のアドレス情報と、を備える。
【００２３】
例えば、境界値「３０」に関し、中間節ｃは、境界値「３０」の十の位の値「３」と、境界値「３０」の一の位の値「０」を有する最終節ｇが記憶されている記憶領域のアドレス情報を備える。
【００２４】
同様に、境界値「３０」に関し、最終節ｇは、境界値「３０」の一の位の値「０」と、関連付けられた一連の節（中間節ｃと最終節ｇ）が有する値によって構成される境界値「３０」に関する集計情報（人数、合計得点）を記憶する集計情報記憶領域のアドレス情報を有する葉が記憶される記憶領域のアドレス情報と、を備える。
【００２５】
図２では、中間節からなる層と最終節からなる層との２層構造の場合を示したが、これに限定する趣旨ではない。境界値の分割する数に応じて階層の数が決まることは当然であ
る。
【００２６】
図３は、ステップＳ１０２の処理で生成される統計ヒドラ３００の概要を説明する図である。
図３に示す統計ヒドラ３００は、境界値に関する節と、境界値間を補完して得た値に関する節と、で構成される。以下、境界値間を補完して得た値を「補間値」という。そして、基本統計ヒドラ２００と同様に、統計ヒドラ３００も、階層構造を有する。
【００２７】
「補間値に関する節」は、境界値以外の値を補完して得た値の一部または全部の情報と、同じ補間値に関する葉と関連付けるための情報と、を備える。
以下、補間値に関する節を「補間節」という。図３に示す節ａ’、ｆ’、ｆ’’、ｇ’、ｈ’、ｉ’、ｊ’、ｊ’’は補間節である。
【００２８】
例えば、補間節ｆ’、ｆ’’は、境界値「００」と「３０」の間の値を補完して得た値に関する補間節である。
補間節ｆ’は、中間節ｂに続く最終節なので、「００」以上「１０」未満の一の位の値「０」〜「９」と、関連付けられた一連の節（中間節ｂと補間節ｆ’）が有する各値によって構成される値「００」〜「０９」に関する集計情報（人数、合計得点）を記憶する集計情報記憶領域のアドレス情報を有する葉ｋが記憶される記憶領域のアドレス情報と、を備える。
【００２９】
補間節ｆ’’は、先頭節に続く中間節なので、「１０」以上「３０」未満の十の位の値「１」〜「２」を備える。同時に、補間節ｆ’’は、最終節でもあるので、「１０」以上「３０」未満の値に関する集計情報（人数、合計得点）を記憶する集計情報記憶領域のアドレス情報を有する葉ｋが記憶される記憶領域のアドレス情報と、を備える。
【００３０】
葉ｋが指し示す集計情報には、「００」以上「３０」未満の集計情報が格納される。
図４は、節および葉の具体的な構成の例を示す図である。
本実施例で使用する節は、関連付けたい次の節が記憶されている記憶領域のアドレス情報を記憶する節用記憶領域と、関連付けたい葉が記憶されている記憶領域のアドレス情報を記憶する葉用記憶領域と、を備える。
【００３１】
中間節の場合、節用記憶領域のみが使用される。節用記憶領域は、０ｘＦＦ個の連続した配列（アドレス［０ｘ００］〜アドレス［０ｘＦＦ］）で構成される。以下、この配列を「節用配列」という。そして、節用配列の配列番号と、後述するステップＳ５０５の処理によってコード化された分割境界値と、を対応させる。
【００３２】
以下、後述するステップＳ５０５の処理によってコード化された分割境界値を「分割境界値コード」という。
集計装置１００は、分割境界値コードの値と一致する配列番号の節用配列に、関連付けたい次の節または葉が記憶されている記憶領域のアドレスを記憶する。例えば、分割境界値コードが０ｘ３０の場合、集計装置１００は、節用配列のアドレス［０ｘ３０］に、関連付けたい次の節または葉が記憶されている記憶領域のアドレスを記憶する。
【００３３】
最終節の場合、葉用記憶領域のみが使用される。集計装置１００は、葉用記憶領域に、葉が記憶されている記憶領域のアドレスを記憶する。
補間節の場合、必要に応じて、節用記憶領域と葉用記憶領域が使用される。したがって、補間節は、中間節と同じ構成の場合と、最終節と同じ構成の場合と、が存在することになる。
【００３４】
本実施例で使用する葉は、集計情報を管理する管理領域と、集計情報が記憶されている集計情報記憶領域のアドレスを記憶する集計情報用記憶領域と、を備える。
集計情報用記憶領域は、必要に応じて、複数の連続した配列（情報［０ｘ００］、情報［０ｘ０１］、・・・）で構成される。また、管理用域は、配列が指し示す領域の集計情報の種類などが記憶される。集計情報の種類とは、例えば、後述するＣＯＵＮＴ情報、ＳＵＭ情報などである。
【００３５】
図５は、基本統計ヒドラ２００を生成する処理（ステップＳ１０１）の具体的な処理を示すフローチャートである。
ステップＳ５０１において、集計装置１００は、メモリ１１０２等に記憶されている境界値情報２０１を参照する。そして、集計装置１００は、未処理の境界値があるか否かを確認する。
【００３６】
未処理の境界値がある場合、集計装置１００は、処理をステップＳ５０２に移行する（ステップＳ５０１  ＹＥＳ）。また、未処理の境界値がない場合、集計装置１００は、ステップＳ５１２に移行し（ステップＳ５０１  ＮＯ）、基本統計ヒドラ２００の生成処理を終了する。
【００３７】
ステップＳ５０２において、集計装置１００は、境界値情報２０１から境界値を取得する。なお、取得した境界値は、文字列として扱われるデータとする。そして、集計装置１００は、境界値を構成する文字列から、未処理の文字のうち最も位の大きい値を表す文字を１つ取り出す。以下、取り出した未処理の文字を「分割境界値」という。
【００３８】
ステップＳ５０３において、未処理の分割境界値が存在する場合、集計装置１００は、処理をステップＳ５０４に移行する（ステップＳ５０３  ＹＥＳ）。
ステップＳ５０４において、分割境界値が境界値の最初の値の場合、集計装置１００は、先頭節を参照先の節に設定する。以下、参照先の節を「参照節」という。なお、分割境界値が境界値の最初の値でない場合、集計装置１００は、何も行わない。
【００３９】
ここで、最初の値とは、境界値を構成する文字列を１文字毎に分割して得る分割境界値のうち、境界値の最上位の値のことをいう。例えば、境界値が「１２３」の場合、最上位の値を表す文字「１」が最初の値となる。
【００４０】
ステップＳ５０５において、集計装置１００は、分割境界値を所定の規則にしたがってコード化して分割境界値コードを生成する。本実施例では、分割境界値をＡＳＣＩＩ（Ａｍｅｒｉｃａｎ  Ｓｔａｎｄａｒｄ  Ｃｏｄｅ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｒｃｈａｎｇｅ）コード表にしたがって１バイトの１６進コードに変換する。
【００４１】
例えば、集計装置１００は、分割境界値「０」を分割境界値コード「０ｘ３０」に変換する。
ステップＳ５０６において、集計装置１００は、参照節において、分割境界値コードと一致する配列番号の節用配列に、節が記憶されている記憶領域のアドレスが既に設定されているか否かを判断する。
【００４２】
分割境界値コードと一致する配列番号の節用配列に、節が記憶されている記憶領域のアドレスが既に設定されている場合、集計装置１００は、処理をステップＳ５０９に移行する（ステップＳ５０６  ＹＥＳ）。
【００４３】
分割境界値コードと一致する配列番号の節用配列に、節が記憶されている記憶領域のアドレスが設定されていない場合、集計装置１００は、処理をステップＳ５０７に移行する
（ステップＳ５０６  ＮＯ）。
【００４４】
ステップＳ５０７において、集計装置１００は、新たな節をメモリ１１０２上に生成する。
ステップＳ５０８において、集計装置１００は、分割境界値コードと一致する配列番号の節用配列に、ステップＳ５０７で生成した新たな節が記憶されている記憶領域のアドレスを設定する。
【００４５】
ステップＳ５０９において、集計装置１００は、ステップＳ５０７で生成した新たな節を参照節に設定する。設定が完了すると、集計装置１００は、処理をステップＳ５０２に移行する。そして、集計装置１００は、ステップＳ５０２〜Ｓ５９の処理を行う。
【００４６】
一方、ステップＳ５０３において、未処理の分割境界値が存在しない場合、集計装置１００は処理をステップＳ５１０に移行する（ステップＳ５０３  ＮＯ）。
ステップＳ５１０において、集計装置１００は、葉をメモリ１１０２上に生成する。
【００４７】
ステップＳ５１１において、集計装置１００は、参照節の葉用記憶領域に、ステップＳ５１０で生成した新たな葉が記憶されている記憶領域のアドレスを設定する。
ステップＳ５１２において、集計装置１００は、集計する内容に応じて、ＣＯＵＮＴ情報やＳＵＭ情報などを記憶する１または２以上の集計用領域を集計情報記憶領域に生成する。本実施例では、集計した人数を記憶するＣＯＵＮＴ用領域と合計得点を記憶するＳＵＭ用領域を集計情報記憶領域に生成する。
【００４８】
また、集計装置１００は、生成した集計用領域が記憶されている集計情報記憶領域のアドレスを、ステップＳ５１０で生成した新たな葉に設定する。そして、集計装置１００は、処理をステップＳ５０１に移行する。
【００４９】
なお、本実施例では、ステップＳ５０５において、分割境界値をＡＳＣＩＩコードに変換したが、ＡＳＣＩＩコードに変換する場合に限定する趣旨ではない。例えば、Ｓｈｉｆｔ＿ＪＩＳ（Ｊａｐａｎｅｓｅ  Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄｓ）コードやＥＵＣ（Ｅｘｔｅｎｄｅｄ  Ｕｎｉｘ  Ｃｏｄｅ）など必要に応じて他の文字コードに変換してもよい。また、分割境界値コードは、１バイトで表される文字コードである必要もない。
【００５０】
図６は、基本統計ヒドラ２００を具体的に説明する図である。なお、図６に示す基本統計ヒドラ２００は、図５に示したフローチャートにしたがって生成した評価表１３００についての基本統計ヒドラを示している。
【００５１】
境界値情報２０１は、１６進のＡＳＣＩＩコード表にしたがって変換される。図６に示すように、境界値「００」、「３０」、「４０」、「４５」、「５０」は、「０ｘ３０３０」、「０ｘ３３３０」、「０ｘ３４３０」、「０ｘ３４３５」、「０ｘ３５３０」となる。
【００５２】
図６に示す基本統計ヒドラ２００は、先頭節６１０と、中間節６２０〜６２３と、最終節６３０〜６３３と、を備える。
先頭節６１０、中間節６２０〜６２３および最終節６３０〜６３３は、それぞれ配列番号０ｘ００〜０ｘＦＦの連続した配列で構成される節用記憶領域と、葉用記憶領域と、を備える。
【００５３】
先頭節６１０は、境界値の十の位の値の分割境界値コードに関する節である。先頭節６
１０の配列番号は、境界値の十の位の分割境界値コードと対応する。そして、節用記憶領域の各配列には、配列番号と一致する分割境界値コードが表す境界値の十の位の値に続く一の位の値の分割境界値コードに関する節が記憶されている記憶領域の先頭アドレスが記憶される。
【００５４】
これにより、先頭節６１０の配列番号と中間節６２０〜６２３とが関連付けられる。
中間節６２０〜６２３は、境界値の一の位の値の分割境界値コードに関する節である。中間節６２０〜６２３の配列番号は、境界値の一の位の分割境界値コードと対応する。そして、節用記憶領域の各配列には、最終節６３０〜６３３を記憶する記憶領域のアドレスが記憶される。
【００５５】
これにより、中間節６２０〜５２３の配列番号と最終節６３０〜６３３とが関連付けられる。
最終節６３０〜６３３の葉用記憶領域には、自身に関連付けられた境界値が属する範囲の集計情報、すなわち、最終節と関連付ける中間節の配列の配列番号とその中間節と関連付ける先頭節の配列の配列番号とで構成されるコードで表される境界値が属する範囲の集計情報を記憶する葉が記憶されている記憶領域のアドレスが記憶される。
【００５６】
例えば、最終節６３１に関し、最終節６３１と関連付ける中間節６２１の配列の配列番号０ｘ３０と、その中間節６２１と関連付ける先頭節６１０の配列の配列番号０ｘ３３とで構成されるコード０ｘ３３３０で表される境界値３０が属する範囲３０以上４０未満の集計情報を記憶する葉６４１が記憶されている記憶領域のアドレスが記憶される。
【００５７】
葉６４０〜６４３の集計情報用記憶領域には、集計情報６５０〜６５３を記憶する集計情報記憶領域のアドレスが記憶される。集計情報６５０〜６５３は、人数の集計情報であるＣＯＵＮＴ情報と、合計得点の集計情報であるＳＵＭ情報と、で構成されている。
【００５８】
なお、必要に応じて、ＣＯＵＮＴ情報、ＳＵＭ情報、得点の平均値に関する情報であるＡＶＧ情報、得点の最大値に関する情報であるＭＡＸ情報、得点の最小値に関する情報であるＭＩＮ情報などの１または２以上の情報で構成すればよい。
【００５９】
例えば、先頭節６１０の配列番号０ｘ３３は、境界値３０の十の位の値の分割境界値コード０ｘ３３と対応している。そして、配列番号０ｘ３３の配列には、配列番号０ｘ３３と一致する分割境界値コードが表す境界値の十の位の値３に続く一の位の値０の分割境界値コードに関する中間節６２１が記憶されている記憶領域の先頭アドレスが記憶されている。
【００６０】
中間節６２１の配列番号０ｘ３０は、境界値３０の一の位の値の分割境界値コード０ｘ３０と対応している。そして、配列番号０ｘ３０の配列には、最終節６３１を記憶する記憶領域の先頭アドレスが記憶されている。
【００６１】
最終節６３１の葉用記憶領域には、最終節と関連づけられた中間節の配列番号０ｘ３０と、その中間節と関連付けられた先頭節の配列番号０ｘ３３と、で構成されるコード０ｘ３３３０で表される境界値３０についての集計情報を記憶する葉６３１が記憶されている記憶領域の先頭アドレスが記憶されている。
葉６４０〜６４３と集計情報記憶領域については、図４で説明したので具体的な説明は省略する。
【００６２】
図７は、統計ヒドラ３００を生成する処理（ステップＳ１０２）の具体的な処理を示すフローチャートである。
ステップＳ７０１において、集計装置１００は、節を記憶する記憶領域のアドレスを一時的に記憶する変数を、例えば値０で初期化する。以下、節を記憶する記憶領域のアドレスを一時的に記憶する変数を「節ポインタ」という。
【００６３】
なお、節ポインタに値０が設定されている場合、集計装置１００は、節ポインタが設定されていないと判断する。
ステップＳ７０２において、集計装置１００は、対象外データが集計対象か否かを判断する。「対象外データ」とは、集計対象となる範囲以外のデータのことをいう。例えば、範囲評価表１３００の範囲外の得点が対象外データである。
【００６４】
なお、対象外データを集計対象とするか否かは、集計装置１００の利用者によってあらかじめ設定される。その設定は、集計装置１００が備える外部記憶装置１１０５の所定の記憶領域に保持される。したがって、集計装置１００は、その記憶領域を参照して対象外データが集計対象か否かを判断する。
【００６５】
対象外データが集計対象であると判断した場合、集計装置１００は、処理をステップＳ７０３に移行する（ステップＳ７０２  ＹＥＳ）。また、対象外データが集計対象でないと判断した場合、集計装置１００は、処理をステップＳ７０５に移行する（ステップＳ７０２  ＮＯ）。
【００６６】
ステップＳ７０３において、集計装置１００は、対象外データに関する補間節と、その補間節の葉と、をメモリ１１０２上に生成する。
そして、集計装置１００は、先頭節８１０の配列番号のうち集計範囲外の配列番号の配列に、本ステップで生成した補間節を記憶する記憶領域の先頭アドレスを記憶する。さらに、集計装置１００は、補間節の葉用記憶領域に、本ステップで生成した葉を記憶する記憶領域の先頭アドレスを記憶する。そして、集計装置１００は、節ポインタに、補間節を設定する。
【００６７】
ステップＳ７０４において、集計装置１００は、ステップＳ７０３で生成した対象外データに関する補間節を、ポインタ節に設定する。そして、集計装置１００は、処理をステップＳ７０５に移行する。
【００６８】
ステップＳ７０５において、集計装置１００は、参照節を先頭節に設定する。そして、先頭節の０番目の配列を参照する。以下、集計装置１００が参照している配列を「参照配列」という。
【００６９】
ステップＳ７０６において、集計装置１００は、ステップＳ７０５で参照した参照配列に、次の節が記憶されている記憶領域のアドレスが設定済みか否かを判断する。
アドレスが設定済みでないと判断した場合、集計装置１００は、処理をステップＳ７０６に移行する（ステップＳ７０６  ＮＯ）。
【００７０】
ステップＳ７０７において、集計装置１００は、節ポインタに設定されているアドレスを、参照配列に設定する。なお、節ポインタに節が記憶されているアドレスが設定されていない場合、集計装置１００は、本ステップの処理を行わない。
【００７１】
ステップＳ７０８において、集計装置１００は、次の配列を参照する。すなわち、集計装置１００は、参照配列の配列番号を１だけインクリメントし、その１だけインクリメントした配列番号の配列を参照する。以下、この参照する配列を新たな「参照配列」とする。
【００７２】
ステップＳ７０９において、集計装置１００は、参照配列の配列番号と値「０ｘＦＦ」とを比較する。そして、参照配列の配列番号が０ｘＦＦ以下である場合、集計装置１００は、処理をステップＳ７０６に移行する（ステップＳ７０９  ＮＯ）。
【００７３】
また、ステップＳ７０９において、参照配列の配列番号が０ｘＦＦより大きい場合、集計装置１００は、処理をステップＳ７１０に移行する（ステップＳ７０９  ＹＥＳ）。
ステップＳ７１０において、集計装置１００は、参照節を１個前の節に戻す。なお、１個前の節とは、現在の参照節の１つ前に参照節であった節である。
【００７４】
ステップＳ７１１において、集計装置１００は、参照節が先頭節であるか否かを判断する。参照節が先頭節である場合、集計装置１００は、ステップＳ７１７に移行し（ステップＳ７１１  ＹＥＳ）、統計ヒドラ３００の生成処理を終了する。
【００７５】
また、ステップＳ７１１において、参照節が先頭節でない場合、集計装置１００は、ステップＳ７０６に移行する（ステップＳ７１１  ＮＯ）。
一方、ステップＳ７０６において、アドレスが設定済みと判断した場合、集計装置１００は、ステップＳ７１２に処理を移行する（ステップＳ７０６  ＹＥＳ）。
【００７６】
ステップＳ７１２において、集計装置１００は、参照節を次の節に移動する。なお、次の節とは、参照配列に記憶されているアドレスの節のことである。
ステップＳ７１３において、集計装置１００は、参照節が最終節か否かを判断する。参照節が最終節でない場合、集計装置１００は、処理をステップＳ７０６に移行する（ステップＳ７１３  ＮＯ）。参照節が最終節である場合、集計装置１００は、処理をステップＳ７１４に移行する（ステップＳ７１３  ＹＥＳ）。
【００７７】
ステップＳ７１４において、集計装置１００は、参照節が最後の境界値についての節か否かを判断する。
参照節が最後の境界値についての節か否かは、参照節と関連付けられた節で構成される境界値が最後の境界値であるか否かにより判断する。また、最後の境界値とは、境界値のうち最大値のものをいう。
【００７８】
例えば、最終節６３３と関連付けられた先頭節８１０と中間節６２３とで構成される境界値は、先頭節８１０の配列番号と中間節６２３の配列番号とで構成される値「０ｘ３５３０」をデコードした値、すなわち、５０となる。
【００７９】
境界値情報２０１を参照すると、境界値５０は境界値情報２０１に含まれる境界値のうち最大のものなので、集計装置１００は、最後の境界値と判断する。
ステップＳ７１４において、参照節が最後の境界値についての節であると判断した場合、集計装置１００は、処理をステップＳ７１５に移行する（ステップＳ７１４  ＹＥＳ）。
【００８０】
ステップＳ７１５において、集計装置１００は、ステップＳ７０３で生成した対象外データに関する補間節を、ポインタ節に設定する。ただし、ステップＳ７０２において、対象外データが集計対象でない判断した場合は、本ステップの処理を行わない。
【００８１】
一方、ステップＳ７１４において、参照節が最後の境界値についての節でないと判断した場合、集計装置１００は、処理をステップＳ７１６に移行する（ステップＳ７１４  ＮＯ）。
【００８２】
ステップＳ７１６において、集計装置１００は、節ポインタに参照節を設定する。すなわち、集計装置１００は、節ポインタに参照節が記憶されている記憶領域のアドレスを設定する。
ステップＳ７１５またはＳ７１６の処理が完了すると、集計装置１００は、処理をステップＳ７１０に移行する。
【００８３】
図８は、統計ヒドラ３００を具体的に説明する図である。なお、図８に示す統計ヒドラ３００は、図６に示した基本統計ヒドラ２００について、図７に示したフローチャートにしたがって補間を行うことにより生成した統計ヒドラ３００を示している。
【００８４】
図８に示す統計ヒドラ３００は、先頭節８１０と、中間節８２０〜８２３と、最終節８３０〜８３３と、を備える。
先頭節８１０、中間節８２０〜８２３および最終節８３０〜８３３は、それぞれ配列番号０ｘ００〜０ｘＦＦの連続した配列で構成される節用記憶領域と、葉用記憶領域と、を備える。
【００８５】
先頭節８１０は、境界値の十の位の値の分割境界値コードと、境界値間を補間して得た補間値の十の位の値の分割境界値コードと、に関する節である。
先頭節８１０の配列番号は、境界値または補間値の十の位の分割境界値コードと対応する。
【００８６】
節用記憶領域の各配列には、配列番号と一致する分割境界値コードが表す境界値の十の位の値に続く一の位の値の分割境界値コードに関する中間節、または、補間値が属する境界値に関する最終節、が記憶されている記憶領域の先頭アドレスが記憶される。
【００８７】
ここで、「補間値が属する境界値」とは、補間値が属する範囲を特定する２つ境界値のうち、その範囲に属する方の境界値のことをいう。補間値が属する範囲を特定する２つ境界値が何れもその範囲に属する場合には、いずれの境界値を「補間値が属する境界値」とするかあらかじめ決めておけばよい。
【００８８】
例えば、境界値００から３０の間を補完して得る補間値１０は、境界値００以上かつ境界値３０未満の範囲に属する。この範囲に属する境界値は００である。したがって、この場合の補間値が属する境界値は００となり、補間値１０が属する境界値に関する最終節は、最終節８３０となる。
【００８９】
同様に、補間値１１〜１９および２０〜２９が属する境界値に関する最終節は、最終節８３０となる。
したがって、先頭節８１０の配列番号０ｘ３１の配列には、補間値１０〜１９に属する境界値に関する最終節８３０が記憶されている記憶領域の先頭アドレスが記憶される。同様に、先頭節８１０の配列番号０ｘ３２の配列には、補間値２０〜２９に属する境界値に関する最終節８３０が記憶されている記憶領域の先頭アドレスが記憶される。
【００９０】
これにより、先頭節８１０の配列番号と、中間節８２０〜８２３または最終節８３０〜８３３と、が関連付けられる。
中間節８２０〜８２３は、境界値の一の位の値の分割境界値コードと、境界値間を補完して得た補間値の一の位の値の分割境界値コードと、に関する補間節である。
【００９１】
中間節８２０〜８２３の配列番号は、境界値または補間値の一の位の分割境界値コードと対応する。
節用記憶領域の各配列には、配列番号と一致する分割境界値コードが表す境界値の一の
位の値とその配列の属する中間節に関連付けられた先頭節８１０の配列番号が表す境界値の十の位の値とで構成される境界値が属する範囲の集計情報に関する最終節が記憶される記憶領域の先頭アドレスが記憶される。
【００９２】
例えば、中間節８２１の配列番号０ｘ３１と一致する分割境界値コードが表す一の位の値１と、その配列の属する中間節８２１に関連付けられた先頭節８１０の配列番号０ｘ３３が表す境界値の十の位の値３と、で構成される境界値は、３１となる。
【００９３】
そして、中間節８２１の配列番号０ｘ３１の配列には、境界値３１が属する範囲の集計情報に関する最終節８３１が記憶されている記憶領域の先頭アドレスが記憶される。
最終節８３０〜８３３については、図６に示した最終節６３０〜６３３と同様なので説明を省略する。
【００９４】
図９は、統計ヒドラ３００を用いた集計処理（ステップＳ１０３）を示すフローチャートである。
利用者が、集計装置１００に備わる入力装置１１０３を用いて、試験結果データ１２００を指定し、かつ集計処理の開始を指示すると、集計装置１００は、集計処理を開始する（ステップＳ９００）。なお、参照節は、先頭節に初期化されているものとする。
【００９５】
ステップＳ９０１において、集計装置１００は、試験結果データ１２００から１レコードを取得する。なお、本実施例では、試験結果データ１２００に登録されている「名前」と「得点」の組み合わせから成る１つのデータを「レコード」という。
【００９６】
ステップＳ９０２において、集計装置１００は、試験結果データ１２００に登録されている全てのレコードについて、集計処理を実施したか否かを判断する。
試験結果データ１２００に登録されている全てのレコードについて、集計処理を実施したと判断した場合、集計装置１００は、ステップＳ９１７に移行して集計処理を終了する（ステップＳ９０２  ＹＥＳ）。図１６に示した集計結果１６００が得られる。
【００９７】
試験結果データ１２００に登録されているレコードに、集計処理を実施していないレコードがあると判断した場合、集計装置１００は、処理をステップＳ９０３に移行する（ステップＳ９０２  ＮＯ）。
【００９８】
ステップＳ９０３において、集計装置１００は、ステップＳ９０１で取得したレコードの得点を、ＡＳＣＩＩコード表にしたがって１６進のコードに変換する。以下、このコードを「得点コード」という。
【００９９】
ステップＳ９０４において、集計装置１００は、得点コードから１バイト分のコードを取得する。なお、ステップＳ９０４では、上位から下位の順に１バイト分のコードを取得する。したがって、次回本ステップを実行する場合は、今回本ステップで取得したコードの次に上位の１バイト分のコードを取得する。以下、このコードを「得点分割コード」という。
【０１００】
ステップＳ９０５において、集計装置１００は、得点分割コードが、得点コードから取得される最後の得点分割コード、すなわち最下位バイトの得点分割コードであるか否かを判断する。
【０１０１】
得点分割コードが得点コードから取得される最後の得点分割コードであると判断した場合、集計装置１００は、処理をステップＳ９０８に移行する（ステップＳ９０５  ＹＥＳ）。
【０１０２】
得点分割コードが得点コードから取得される最後の得点分割コードでないと判断した場合、集計装置１００は、処理をステップＳ９０６に移行する（ステップＳ９０５  ＮＯ）。
【０１０３】
ステップＳ９０６において、集計装置１００は、参照節として設定されている統計ヒドラ３００の節を参照し、得点分割コードと一致する配列を特定する。なお、得点分割コードが得点コードの最上位バイトのコードである場合、集計装置１００は、統計ヒドラ３００の先頭節を参照する。
【０１０４】
ステップＳ９０７において、集計装置１００は、ステップＳ９０６で特定した配列にＮＵＬＬが設定されているか否かを判断する。
ステップＳ９０６で特定した配列にＮＵＬＬが設定されている場合、集計装置１００は、処理をステップＳ９０１に移行する。そして、集計装置１００は、次のレコードを試験結果データ１２００から取得する（ステップＳ９０７  ＹＥＳ）。
【０１０５】
ステップＳ９０６で特定した配列にＮＵＬＬが設定されていない場合、集計装置１００は、ステップＳ９０６で特定した配列に設定されているアドレスの節を参照節に設定し、処理をステップＳ９０４する。そして、集計装置１００は、分割境界値コードの次に下位の１バイト分のコードを取得し、この取得したコードを新たな得点分割コードとする（ステップＳ９０７  ＮＯ）。
【０１０６】
一方、ステップＳ９０８において、集計装置１００は、参照節の葉用記憶領域から、葉のアドレスを取得する。そして、集計装置１００は、葉を参照する。
ステップＳ９０９において、集計装置１００は、葉の集計情報用記憶領域に記憶されているアドレスに記憶されている集計情報がＣＯＵＮＴ情報であるか否かを判断する。なお、本実施例では、葉の管理領域に集計情報の種類を特定する情報が設定されているものとする。したがって、集計装置１００は、葉の管理領域に設定されている情報から集計情報の種類を判別する。ステップＳ９１１、Ｓ９１３およびＳ９１５についても同様である。
【０１０７】
集計情報がＣＯＵＮＴ情報であると判断した場合、集計装置１００は、処理をステップＳ９１０に移行する（ステップＳ９０９  ＹＥＳ）。そして、集計装置１００は、集計値を１だけカウントアップする。
【０１０８】
また、集計情報がＣＯＵＮＴ情報でないと判断した場合、集計装置１００は、処理をステップＳ９１１に移行する（ステップＳ９０９  ＮＯ）。
ステップＳ９１１において、集計装置１００は、葉の集計情報用記憶領域に記憶されているアドレスに記憶されている集計情報がＳＵＭ情報であるか否かを判断する。
【０１０９】
集計情報がＳＵＭ情報であると判断した場合、集計装置１００は、処理をステップＳ９１２に移行する（ステップＳ９１１  ＹＥＳ）。そして、集計装置１００は、ステップＳ９０１で取得したレコードの得点を、ＳＵＭ情報に加算する。
【０１１０】
また、集計情報がＳＵＭ情報でないと判断した場合、集計装置１００は、処理をステップＳ９１３に移行する（ステップＳ９１１  ＮＯ）。
ステップＳ９１３において、集計装置１００は、葉の集計情報用記憶領域に記憶されているアドレスに記憶されている集計情報がＭＡＸ情報であるか否かを判断する。
【０１１１】
集計情報がＭＡＸ情報であると判断した場合、集計装置１００は、処理をステップＳ９１４に移行する（ステップＳ９１３  ＹＥＳ）。そして、集計装置１００は、ステップＳ９０１で取得した得点と、ＭＡＸ情報とを比較する。そして、ステップＳ９０１で取得した得点がＭＡＸ情報より大きい場合、ステップＳ９０１で取得した得点を新たにＭＡＸ情報として記憶する。
【０１１２】
また、集計情報がＭＡＸ情報でないと判断した場合、集計装置１００は、処理をステップＳ９１５に移行する（ステップＳ９１３  ＮＯ）。
ステップＳ９１５において、集計装置１００は、葉の集計情報用記憶領域に記憶されているアドレスに記憶されている集計情報がＭＩＮ情報であるか否かを判断する。
【０１１３】
集計情報がＭＩＮ情報であると判断した場合、集計装置１００は、処理をステップＳ９１６に移行する（ステップＳ９１５  ＹＥＳ）。そして、集計装置１００は、ステップＳ９０１で取得した得点と、ＭＩＮ情報とを比較する。そして、ステップＳ９０１で取得した得点がＭＩＮ情報より小さい場合、ステップＳ９０１で取得した得点を新たにＭＩＮ情報として記憶する。
また、集計情報がＭＩＮ情報でないと判断した場合、集計装置１００は、処理をステップＳ９０１に移行する（ステップＳ９１５  ＮＯ）。
【０１１４】
図１０は、集計結果の出力処理（ステップＳ１０４）を示すフローチャートである。
図９に示した集計処理が完了すると、集計装置１００は、集計結果の出力処理を開始する（ステップＳ１０００）。
ステップＳ１００１において、集計装置１００は、境界値情報２０１から境界値を１つ取得する。なお、ステップＳ１００１では、小さい順に境界値情報２０１から境界値を取得する。したがって、次回本ステップを実行する場合は、今回本ステップで取得した境界値の次に小さい境界値を取得する。
【０１１５】
ステップＳ１００２において、集計装置１００は、ステップＳ１００１で取得した境界値が最後の境界値か否かを判断する。なお、最後の境界値とは、ステップＳ１００１で取得するべき境界値のうち最後に取得するもの、すなわち、境界値情報２０１の中で最も大きい境界値である。
【０１１６】
最後の境界値であると判断した場合、集計装置１００は、ステップＳ１０１１に移行して集計結果出力処理を終了する（ステップＳ１００２  ＹＥＳ）。
最後の境界値でないと判断した場合、集計装置１００は、処理をステップＳ１００３に移行する（ステップＳ１００２  ＮＯ）。
【０１１７】
ステップＳ１００３において、集計装置１００は、ステップＳ１００１で取得した境界値を、ＡＳＣＩＩコード表にしたがって１６進のコードに変換する。以下、このコードを「境界値コード」という。
【０１１８】
ステップＳ１００４において、集計装置１００は、境界値コードから１バイト分のコード、すなわち、分割境界値コードを取得する。なお、ステップＳ１００４では、上位から下位の順に１バイト分のコードを取得する。したがって、次回本ステップを実行する場合は、今回本ステップで取得したコードの次に上位の１バイト分のコードを取得する。
【０１１９】
ステップＳ１００５において、集計装置１００は、参照節として設定されている統計ヒドラ３００の節を参照し、分割境界値コードと一致する配列を特定する。そして、特定した配列に設定されているアドレスの節を参照節に設定する。
【０１２０】
なお、分割境界値コードが境界値コードの最上位バイトのコードである場合、集計装置
１００は、統計ヒドラ３００の先頭節を参照する。
ステップＳ１００６において、集計装置１００は、分割境界値コードが境界値コードの最後のコード、すなわち、最下位バイトのコードであるか否かを判断する。
【０１２１】
分割境界値コードが最後のコードでないと判断した場合、集計装置１００は、処理をステップＳ１００４に移行する（ステップＳ１００６  ＮＯ）。そして、ステップＳ１００４〜Ｓ１００６の処理が行われる。
【０１２２】
分割境界値コードが最後のコードであると判断した場合、集計装置１００は、処理をステップＳ１００７に移行する（ステップＳ１００６  ＹＥＳ）。
ステップＳ１００７において、集計装置１００は、参照節の葉用記憶領域に設定されているアドレスの葉を参照する。そして、葉の集計情報用記憶領域から集計情報が記憶されている１または２以上の領域のアドレスを取得する。
【０１２３】
ステップＳ１００８において、集計装置１００は、ステップＳ１００７で取得したアドレスの領域から、例えば、ＣＯＵＮＴ情報、ＳＵＭ情報、ＭＡＸ情報、ＭＩＮ情報を取得する。
【０１２４】
ステップＳ１００９において、集計装置１００は、ステップＳ１００８で取得したＳＵＭ情報とＣＯＵＮＴ情報とから平均得点（ＡＶＧ情報＝ＳＵＭ情報／ＣＯＵＮＴ情報）を算出する。
【０１２５】
ステップＳ１０１０において、集計装置１００は、ステップＳ１００８、Ｓ１００９で取得・算出した情報を表示装置、データファイル、記憶装置などに出力する。そして、集計装置１００は、処理をステップＳ１００１に移行する。
【０１２６】
なお、ステップＳ１００１では、大きい境界値から順に取得しているが、これに限定するものではない。例えば、小さい境界値から順に取得してもよい。この場合、ステップＳ１００２で判断する最後の境界値は、最も大きい境界値となる。
【０１２７】
図１１は、集計装置１００の構成例を示す図である。
図１１に示す集計装置１００は、周辺機器や各種ソフトウェアを実行する他に集計処理を実現するプログラムを実行するＣＰＵ１１０１と、プログラムを実行するために使用される揮発性のメモリ１１０２（例えば、ＲＡＭ）と、外部からのデータ入力手段である入力装置１１０３（例えば、キーボードやマウス）と、データ等を表示する出力装置１１０４と、集計装置１００が動作するために必要なプログラムやデータの他に集計処理を実現するプログラムを記録する外部記録装置１１０５と、メモリ１１０２や外部記録装置１１０５のデータを可搬記録媒体１１０７（例えば、フロッピイディスク、ＭＯディスク、ＣＤ−Ｒ、ＤＶＤ−Ｒなど）に出力し、あるいは可搬記録媒体１１０７からプログラムやデータ等を読み出す媒体駆動装置１１０６と、を有し、これらの装置がバス１１００に接続されて相互にデータの受け渡しが行える構成となっている。
【０１２８】
また、集計装置１００は、ネットワークに接続するネットワーク接続装置１１０８を備え、ネットワークを介して他の情報処理装置や外部記憶装置に集計結果を出力するようにしてもよい。
【０１２９】
以上の説明において、実装を簡単にするために、基本統計ヒドラ２００および統計ヒドラ３００において、節用記憶領域を、配列番号０ｘ００〜０ｘＦＦの連続した配列で構成しているが、これに限定する趣旨ではない。
【０１３０】
例えば、配列番号０ｘ００〜０ｘ４０の連続した配列で節用記憶領域を構成してもよいし、配列番号０ｘ００〜０ｘ０９の連続した配列で節用記憶領域を構成して配列番号と分割境界値と対応させてもよい。
【０１３１】
また、基本統計ヒドラ２００の構成に、葉６４０〜６４３および集計情報６５０〜６５１を含めてもよい。同様に、統計ヒドラ３００の構成に、葉８４０〜８４３および集計情報６５０〜６５１を含めてもよい。
【０１３２】
また、先頭節６１０および中間節６２０〜６２３は、葉用記憶領域は使用しない。したがって、先頭節６１０および中間節６２０〜６２３として使用する節の場合、葉用記憶領域を確保しなくてもよい。先頭節８１０および中間節８２０〜８２３についても同様である。
【０１３３】
また、最終節６３０〜６３３は、節用記憶領域を使用しない。したがって、最終節６３０〜６３３として使用する節の場合、節用記憶領域を確保しなくてもよい。最終節８３０〜８３３についても同様である。
【０１３４】
また、基本統計ヒドラ２００および統計ヒドラ３００が階層構造を有するとは、概念的な意味において階層構造を有するということであって、物理的に階層構造を有しなければならないという趣旨ではない。例えば、メモリ１１０２上に配した基本統計ヒドラ２００が階層構造を成さねばならないという趣旨ではない。
【０１３５】
以上に説明したように、統計ヒドラ３００を用いて集計処理を行うと、図９などに示した１次集計処理以外の処理、例えば、２次集計処理などを行うことなく所望の集計結果を得ることが可能となる。
【０１３６】
その結果、効率的に集計処理が行われるので、処理時間を短縮することが可能となる。
また、１次集計処理以外の処理が必要ないので、例えば、２次集計処理に必要とされるメモリ容量など無駄なメモリ消費を抑えることが可能となる。同様の理由から、ワーク領域として使用するメモリや外部記憶装置の消費を抑えることが可能となる。
【０１３７】
同様に、１次集計処理以外の処理が必要ないので、２次集計処理などを行うためのバッチファイルやアプリケーションの作成が不要になるので、従来の集計処理を実施するのと比較して、コストを抑えることが可能となる。
【０１３８】
図６や図８に示したように、基本統計ヒドラ２００や統計ヒドラ３００を用いて集計することにより、例えば評価表１３００などのように所望の分類範囲毎に集計・検索を行うことが可能となる。
【０１３９】
以上の実施例１〜ｎを含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
コンピュータに、
所望の範囲を特定する境界値情報であって前記所望の範囲に属する境界値情報を第１の分割位置で分割した第１の分割情報と前記境界値情報以外の前記所望の範囲の値を補完して得る補間値情報を前記第１の分割位置で分割した第１の補間値分割情報とを記憶する第１の記憶手段と、前記境界値情報を前記第１の分割位置と一定方向に隣接する第２の分割位置で分割した第２の分割情報と前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報とを記憶する第２の記憶手段と、前記境界値情報が属する範囲についての集計情報を記憶する集計情報記憶手段に関する情報を記憶する第３の記憶手段と、を備え、前記第１の記憶手段は、前記第１の分割情報と前記第２の記憶手段との関連付け情報と、前記第１の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有し、前記第２の記憶手段は、前記第２の分割情報と前記第３の記憶手段との関連付け情報と、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有する集計用記憶手段における前記第１の記憶手段を参照し、集計対象である集計対象情報を前記第１の分割位置で分割した第１の集計分割情報と一致する前記第１の分割情報と関連付けられた前記第２の記憶手段、または前記第１の集計分割情報と一致する前記第１の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第１の特定処理と、
前記第２の記憶手段を参照し、前記集計対象情報を前記第２の分割位置で分割した第２の集計分割情報と一致する前記第２の分割情報と関連付けられた前記第３の記憶手段、または前記第２の集計分割情報と一致する前記第２の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第２の特定処理と、
前記第１または第２の特定処理により特定された第３の記憶手段が記憶する情報から集計情報記憶手段を特定し、該集計情報記憶手段に前記集計対象情報に関する集計情報を記憶する集計処理と、
を実行させるためのプログラム。
（付記２）
前記第１の分割情報および前記第１の補間値分割情報は、それぞれ前記境界値情報および前記補間値情報を第１の分割位置で分割した情報を１６進コードに変換した値であり、
前記第２の分割情報および前記第２の補間値分割情報は、それぞれ前記境界値情報および前記補間値情報を第２の分割位置で分割した情報を１６進コードに変換した値である、
ことを特徴とする請求項１に記載のプログラム。
（付記３）
前記第１の分割情報および前記第２の分割情報は、前記境界値情報を所定のサイズで分割した情報であり、
前記第１の補間値分割情報および前記第２の補間値分割情報は、前記補間値を所定のサイズで分割した情報である、
ことを特徴とする請求項１に記載のプログラム。
（付記４）
前記第１の記憶手段は、連続する第１の配列を複数備え、該第１の配列の配列番号が前記第１の分割情報または第１の補間値分割情報を表し、
前記第２の記憶手段は、連続する第２の配列を複数備え、該第２の配列の配列番号が前記第２の分割情報または第２の補間値分割情報を表す、
ことを特徴とする請求項１に記載のプログラム。
（付記５）
前記第１の記憶手段は、連続する第１の配列を複数備え、前記第１の分割情報または前記第１の補間値分割情報と一致する配列番号を持つ前記第１の配列に、前記第１の分割情報と前記第２の記憶手段との関連付け情報、または、前記第１の補間分割情報と前記第２の記憶手段との関連付け情報を記憶し、
前記第２の記憶手段は、連続する第２の配列を複数備え、前記第２の分割情報または前記第２の補間値分割情報と一致する配列番号を持つ前記第２の配列に、前記第２の分割情報と前記第３の記憶手段との関連付け情報、または、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報を記憶する、
ことを特徴とする請求項１に記載のプログラム。
（付記６）
所望の範囲を特定する境界値情報であって前記所望の範囲に属する境界値情報を第１の分割位置で分割した第１の分割情報と、前記境界値情報以外の前記所望の範囲の値を補完して得る補間値情報を前記第１の分割位置で分割した第１の補間値分割情報と、を記憶する第１の記憶手段と、前記境界値情報を前記第１の分割位置と一定方向に隣接する第２の分割位置で分割した第２の分割情報と、前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報と、を記憶する第２の記憶手段と、前記境界値情報が属する範囲に
ついての集計情報を記憶する集計情報記憶手段に関する情報を記憶する第３の記憶手段と、を備え、前記第１の記憶手段は、前記第１の分割情報と前記第２の記憶手段との関連付け情報と、前記第１の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有し、前記第２の記憶手段は、前記第２の分割情報と前記第３の記憶手段との関連付け情報と、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有する集計用記憶手段における前記第１の記憶手段を参照し、集計対象である集計対象情報を前記第１の分割位置で分割した第１の集計分割情報と一致する前記第１の分割情報と関連付けられた前記第２の記憶手段、または前記第１の集計分割情報と一致する前記第１の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第１の特定手段と、
前記第２の記憶手段を参照し、前記集計対象情報を前記第２の分割位置で分割した第２の集計分割情報と一致する前記第２の分割情報と関連付けられた前記第３の記憶手段、または前記第２の集計分割情報と一致する前記第２の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第２の特定手段と、
前記第１または第２の特定処理により特定された第３の記憶手段が記憶する情報から集計情報記憶手段を特定し、該集計情報記憶手段に前記集計対象情報に関する集計情報を記憶する集計手段と、
を備える集計装置。
（付記７）
所望の範囲を特定する境界値情報であって前記所望の範囲に属する境界値情報を第１の分割位置で分割した第１の分割情報と、前記境界値情報以外の前記所望の範囲の値を補完して得る補間値情報を前記第１の分割位置で分割した第１の補間値分割情報と、を記憶する第１の記憶手段と、前記境界値情報を前記第１の分割位置と一定方向に隣接する第２の分割位置で分割した第２の分割情報と、前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報と、を記憶する第２の記憶手段と、前記境界値情報が属する範囲についての集計情報を記憶する集計情報記憶手段に関する情報を記憶する第３の記憶手段と、を備え、前記第１の記憶手段は、前記第１の分割情報と前記第２の記憶手段との関連付け情報と、前記第１の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有し、前記第２の記憶手段は、前記第２の分割情報と前記第３の記憶手段との関連付け情報と、前記第２の補間値分割情報と前記第３の記憶手段との関連付け情報と、を有する集計用記憶手段における前記第１の記憶手段を参照し、集計対象である集計対象情報を前記第１の分割位置で分割した第１の集計分割情報と一致する前記第１の分割情報と関連付けられた前記第２の記憶手段、または前記第１の集計分割情報と一致する前記第１の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第１の特定処理と、
前記第２の記憶手段を参照し、前記集計対象情報を前記第２の分割位置で分割した第２の集計分割情報と一致する前記第２の分割情報と関連付けられた前記第３の記憶手段、または前記第２の集計分割情報と一致する前記第２の補間値分割情報と関連付けられた前記第３の記憶手段を特定する第２の特定処理と、
前記第１または第２の特定処理により特定された第３の記憶手段が記憶する情報から集計情報記憶手段を特定し、該集計情報記憶手段に前記集計対象情報に関する集計情報を記憶する集計処理と、
を行う集計方法。
（付記８）
所望の範囲を特定する境界値情報であって前記所望の範囲に属する境界値情報を第１の分割位置で分割した第１の分割情報を記憶する第１の記憶手段と、
前記境界値情報を前記第１の分割位置と一定方向に隣接する第２の分割位置で分割した第２の分割情報を記憶する第２の記憶手段と、
前記境界値情報が属する範囲についての集計情報を記憶する集計情報記憶手段に関する情報を記憶する第３の記憶手段と、
を備え、
前記第１の記憶手段は、前記第１の分割情報と前記第２の記憶手段との関連付け情報
を有し、
前記第２の記憶手段は、前記第２の分割情報と前記第３の記憶手段との関連付け情報を有する、
ことを特徴とするコンピュータに読み取り可能な記憶媒体。
（付記９）
前記第１の記憶手段は、前記境界値情報以外の前記所望の範囲の値を補完した補間値情報を前記第１の分割位置で分割した第１の補間値分割情報を記憶し、該第１の補間値分割情報と前記第３の記憶手段との関連付け情報を有し、
前記第２の記憶手段は、前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報を記憶し、該第２の補間値分割情報と前記第３の記憶手段との関連付け情報を有する、
ことを特徴とする請求項６に記載の記憶媒体。
（付記１０）
前記第１の記憶手段は、前記境界値情報以外の前記所望の範囲の値を補完した補間値情報を前記第１の分割位置で分割した第１の補間値分割情報を記憶し、該第１の補間値分割情報と前記第３の記憶手段との関連付け情報を有する、
ことを特徴とする請求項６に記載の記憶媒体。
（付記１１）
前記第２の記憶手段は、前記補間値情報を前記第２の分割位置で分割した第２の補間値分割情報を記憶し、該第２の補間値分割情報と前記第３の記憶手段との関連付け情報を有する、
ことを特徴とする請求項６に記載の記憶媒体。
【図面の簡単な説明】
【０１４０】
【図１】本実施例に係る集計装置の処理の概要を示すフローチャートである。
【図２】ステップＳ１０１の処理で生成される基本統計ヒドラの概要を説明する図である。
【図３】ステップＳ１０２の処理で生成される統計ヒドラの概要を説明する図である。
【図４】節および葉の具体的な構成の例を示す図である。
【図５】基本統計ヒドラを生成する処理（ステップＳ１０１）の具体的な処理を示すフローチャートである。
【図６】基本統計ヒドラを具体的に説明する図である。
【図７】統計ヒドラを生成する処理（ステップＳ１０２）の具体的な処理を示すフローチャートである。
【図８】統計ヒドラを具体的に説明する図である。
【図９】統計ヒドラを用いた集計処理（ステップＳ１０３）を示すフローチャートである。
【図１０】集計結果の出力処理（ステップＳ１０４）を示すフローチャートである。
【図１１】集計装置１００の構成例を示す図である。
【図１２】試験結果データの例を示す図である。
【図１３】評価表の例を示す図である。
【図１４】従来の統計ヒドラを説明する図である。
【図１５】２次集計を説明する図である。
【図１６】集計結果の例を示す図である。
【符号の説明】
【０１４１】
１００      集計装置
２００      基本統計ヒドラ
２０１      境界値情報
６１０      先頭節
６２０〜６２３      中間節
６３０〜６３３      最終節
６４０〜６４３      葉
３００      統計ヒドラ
８１０      先頭節
８２０〜８２３      中間節
８３０〜８３３      最終節
８４０〜８４３      葉
【図１】
2010108093.tif 000003
【図２】
2010108093.tif 000004
【図４】
2010108093.tif 000005
【図５】
2010108093.tif 000006
【図６】
2010108093.tif 000007
【図７】
2010108093.tif 000008
【図８】
2010108093.tif 000009
【図９】
2010108093.tif 000010
【図１０】
2010108093.tif 000011
【図１１】
2010108093.tif 000012
【図１２】
2010108093.tif 000013
【図１３】
2010108093.tif 000014
【図１４】
2010108093.tif 000015
【図１５】
2010108093.tif 000016
【図１６】
2010108093.tif 000017
【図３】
2010108093.tif 000018