【手続補正書】
【提出日】平成19年2月6日(2007.2.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  各々が、項目とこれに含まれる項目値とを含むレコードの配列として表わされる表形式データに集計処理を施すデータ集計方法であって、
前記表形式データを、項目毎に当該項目に属する項目値に対応した項目値番号の順に当該項目値が格納されている値リストと、一意的なレコード番号の順に、当該項目値番号を指示するためのポインタ値が格納されたポインタ配列とからなる情報ブロックに分割するように構成するステップと、
前記情報ブロック中に、相等しい項目値番号を備えたレコードの数を示す存在数を、前記値リスト中の値と対応させて配置した存在数配列を設けるステップと、
当該存在数配列において存在数が０であるような項目値を見出すステップと、
前記見出された項目値を除去した状態で、前記項目中の項目値と対応する存在数からなる集計表を作成するステップとを備えたことを特徴とするデータ集計方法。
【請求項２】  各々が、項目とこれに含まれる項目値とを含むレコードの配列として表される表形式データに、複数の項目に関する集計処理を施すデータ集計方法であって、
集計に利用される複数の各々の項目について、当該項目に属する項目値に対応した項目値番号の順に当該項目値が格納されている値リストと、一意的なレコード番号の順に、当該項目値番号を指示するためのポインタ値が格納されたポインタ配列とからなる情報ブロックに分割するように構成するステップと、
前記各々の項目について、相等しい項目値番号を備えたレコードの数を示す存在数を、前記値リスト中の値と対応させて配置した存在数配列を設けるステップと、
前記存在数配列の各々において当該存在数が０であるような項目値を見出すステップと、
前記複数の項目からなる多次元の集計表の各要素の存在数をメモリの一次元のアドレスに対応させる前記各要素の多次元的な位置から一次元の位置への射影を定めるステップと、
前記存在数配列の各々において、当該存在数が０でない要素に対応し、前記射影に基づいてオフセット値となる要素を含むオフセット配列を生成するステップと、
集計の対象たり得るレコード番号に基づき、前記各々の項目に関して、前記ポインタ配列中の対応するポインタ値を参照することにより、対応するオフセット配列中のオフセット値を特定するステップと、
前記集計の対象たり得るレコード番号毎に、前記各々の項目に関して得られたオフセット値を加算して、加算オフセット値を算出するステップと、
前記集計の対象たり得るレコード番号毎に、加算オフセットを前記射影と対応させることにより、アドレスを算出するステップと、
前記集計の対象たり得るレコード番号毎に、得られたアドレスによって示される位置の値をカウントアップするステップとを備えることを特徴とするデータ集計方法。
【請求項３】  各項目の項目値の数が、Ｎｉ（０≦ｉ≦Ｉ−１：Ｉは、集計にかかる項目の総数）で表され、かつ、各項目の存在数配列において値が０であった要素の数がｎｉ（（０≦ｉ≦Ｉ−１）で表されるときに、
各項目のオフセット配列のオフセット値Ｐｉｍ（ただし、０≦ｍ≦Ｎｉ−ｎｉ）が、
Ｐｉ０＝０
Ｐｉ（ｍ＋１）−Ｐｉｍ＝Π（Ｎｋ−ｎｋ）  （０≦ｋ≦ｍ−１）
により表されることを特徴とする請求項２に記載のデータ集計方法。
【請求項４】  前記存在数配列を設けるのに先立ち、前記レコード番号のうち、集計の対象たり得るレコード番号を選択するステップと、
当該選択されたレコード番号を、所定の順序で配置したレコード番号集合を生成するステップと、
前記レコード番号集合に含まれるレコード番号に基づき、前記ポインタ配列中の対応するポインタ値を参照することにより、前記存在数配列を生成するステップとを備えたことを特徴とする請求項１ないし３の何れか一項に記載のデータ集計方法。
【請求項５】  各々が、項目とこれに含まれる項目値とを含むレコードの配列として表わされる表形式データに集計処理を施すデータ集計方法を実現するプログラムを記憶したコンピュータにより読み取り可能な記憶媒体であって、
前記表形式データを、項目毎に当該項目に属する項目値に対応した項目値番号の順に当該項目値が格納されている値リストと、一意的なレコード番号の順に、当該項目値番号を指示するためのポインタ値が格納されたポインタ配列とからなる情報ブロックに分割するように構成するステップと、
前記情報ブロック中に、相等しい項目値番号を備えたレコードの数を示す存在数を、前記値リスト中の値と対応させて配置した存在数配列を設けるステップと、
当該存在数配列において存在数が０であるような項目値を見出すステップと、
前記見出された項目値を除去した状態で、前記項目中の項目値と対応する存在数からなる集計表を作成するステップとを備えたプログラムを記憶した記憶媒体。
【請求項６】  各々が、項目とこれに含まれる項目値とを含むレコードの配列として表される表形式データに、複数の項目に関する集計処理を施すデータ集計方法を実現するプログラムを記憶したコンピュータにより読み取り可能な記憶媒体であって、
集計に利用される複数の各々の項目について、当該項目に属する項目値に対応した項目値番号の順に当該項目値が格納されている値リストと、一意的なレコード番号の順に、当該項目値番号を指示するためのポインタ値が格納されたポインタ配列とからなる情報ブロックに分割するように構成するステップと、
前記各々の項目について、相等しい項目値番号を備えたレコードの数を示す存在数を、前記値リスト中の値と対応させて配置した存在数配列を設けるステップと、
前記存在数配列の各々において当該存在数が０であるような項目値を見出すステップと、
前記複数の項目からなる多次元の集計表の各要素の存在数をメモリの一次元のアドレスに対応させる前記各要素の多次元的な位置から一次元の位置への射影を定めるステップと、
前記存在数配列の各々において、当該存在数が０でない要素に対応し、前記射影に基づいてオフセット値となる要素を含むオフセット配列を生成するステップと、
集計の対象たり得るレコード番号に基づき、前記各々の項目に関して、前記ポインタ配列中の対応するポインタ値を参照することにより、対応するオフセット配列中のオフセット値を特定するステップと、
前記集計の対象たり得るレコード番号毎に、前記各々の項目に関して得られたオフセット値を加算して、加算オフセット値を算出するステップと、
前記集計の対象たり得るレコード番号毎に、加算オフセットを前記射影と対応させることにより、アドレスを算出するステップと、
前記集計の対象たり得るレコード番号毎に、得られたアドレスによって示された位置の値をカウントアップするステップとを備えたプログラムを記憶した記憶媒体。
【請求項７】  各項目の項目値の数が、Ｎｉ（０≦ｉ≦Ｉ−１：Ｉは、集計にかかる項目の総数）で表され、かつ、各項目の存在数配列において値が０であった要素の数がｎｉ（（０≦ｉ≦Ｉ−１）で表されるときに、
各項目のオフセット配列のオフセット値Ｐｉｍ（ただし、０≦ｍ≦Ｎｉ−ｎｉ）が、
Ｐｉ０＝０
Ｐｉ（ｍ＋１）−Ｐｉｍ＝Π（Ｎｋ−ｎｋ）  （０≦ｋ≦ｍ−１）
により表されることを特徴とする請求項６に記載のプログラムを記憶した記憶媒体。
【請求項８】  前記存在数配列を設けるのに先立ち、前記レコード番号のうち、集計の対象たり得るレコード番号を選択するステップと、
当該選択されたレコード番号を、所定の順序で配置したレコード番号集合を生成するステップと、
前記レコード番号集合に含まれるレコード番号に基づき、前記ポインタ配列中の対応するポインタ値を参照することにより、前記存在数配列を生成するステップとを備えたことを特徴とするプログラムを記憶した、請求項６ないし８の何れか一項に記載の記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
まず、「性別」に関する項目の情報ブロック用の領域が、たとえば、ＲＡＭ１４中に確保される（ステップ６０２）。次いで、この確保された領域中に、値管理テーブルが生成される。より詳細には、まず、値管理テーブルが初期化される。次いで、原データのうち、「性別」に関するデータを先頭から末尾まで走査することにより、どのような項目名が、それぞれいくつ存在するかが見出される。本例では、「女性」および「男性」という項目名が、それぞれ、３６７４３６個および６３２５６４個だけあることが見出される。これにより、値リストに、「女性」および「男性」という項目値がセットされ、また、存在数配列にも所定の数がセットされる。その後に、項目値が所定の基準にしたがってソートされる。ソートの際には、項目数の並び替えにしたがって存在数も並びかえられる。次いで、開始位置配列の値が決定される。これは、ソートにより自己より上位に位置する存在数を累算することにより求められる。また、開始位置配列の値を、対応する分類番号配列の値に割り当てる。この値は次のステップにて用いられる。このようにして値管理テーブルが生成された後に、レコードへのポインタ配列が生成される。このポインタ配列の領域の大きさは、存在数の総和に対応する。
このようにして、所定の項目に関する情報ブロックを作り出すことが可能となる。この情報ブロックの生成を予め行っておき、生成された情報ブロックを用いて検索、集計などの処理が実行される。