JPH07295776A - データ配置構造変換方法およびそのシステム並びにクライアントサーバシステム - Google Patents
データ配置構造変換方法およびそのシステム並びにクライアントサーバシステムInfo
- Publication number
- JPH07295776A JPH07295776A JP6082860A JP8286094A JPH07295776A JP H07295776 A JPH07295776 A JP H07295776A JP 6082860 A JP6082860 A JP 6082860A JP 8286094 A JP8286094 A JP 8286094A JP H07295776 A JPH07295776 A JP H07295776A
- Authority
- JP
- Japan
- Prior art keywords
- data
- item
- items
- conversion
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Digital Computer Display Output (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
(57)【要約】 (修正有)
【目的】データ配置構造の変換処理のパラメータを、使
い勝手に優れたGUI(Graphic User I
nterface)を用いて指定することによってデー
タ配置構造の変換処理を、ユーザがいちいちプログラム
を作成することなく行うことを可能にする。 【構成】0次表13の表のデータを、ユーザ表22の表
形式へと変換するために、複数行を1行にまとめる整列
化変換処理を含むブロック化変換処理と、1行を複数行
に分配する分配化処理変換を組み合わせる。前記処理の
パラメータを指定するために、対応付けパラメータ入力
処理部16は、前記0次表13と前記ユーザ表22を同
一画面に表示する。ここで、ユーザは、0次表13の該
当する項目を、ユーザ表22の該当する座標にドラッグ
&ドロップすることにより、該パラメータ指定を行う。
い勝手に優れたGUI(Graphic User I
nterface)を用いて指定することによってデー
タ配置構造の変換処理を、ユーザがいちいちプログラム
を作成することなく行うことを可能にする。 【構成】0次表13の表のデータを、ユーザ表22の表
形式へと変換するために、複数行を1行にまとめる整列
化変換処理を含むブロック化変換処理と、1行を複数行
に分配する分配化処理変換を組み合わせる。前記処理の
パラメータを指定するために、対応付けパラメータ入力
処理部16は、前記0次表13と前記ユーザ表22を同
一画面に表示する。ここで、ユーザは、0次表13の該
当する項目を、ユーザ表22の該当する座標にドラッグ
&ドロップすることにより、該パラメータ指定を行う。
Description
【0001】
【産業上の利用分野】本発明は、表形式データのデータ
配置構造を変換するデータ配置構造変換方法およびその
システム並びにクライアントサーバシステムに関する。
配置構造を変換するデータ配置構造変換方法およびその
システム並びにクライアントサーバシステムに関する。
【0002】
【従来の技術】近年、コンピュータのダウンサイジング
化、ネットワークオペレーティングシステムの発達など
の影響を受けて、パーソナルコンピュータ等の情報処理
装置をLAN(Local Area Networ
k)等のネットワークで接続したシステムが増加してい
る。これらのシステムは、サーバと呼ばれる高性能な情
報処理装置と、クライアントと呼ばれる複数の情報処理
装置から構成されることが多く、クライアントサーバシ
ステムと呼ばれる。クライアントサーバシステムでは、
各クライアント毎に独自の処理を実施することができる
が、処理の際は、必要に応じてサーバが管理する資源
(例えば、ハードディスク、プリンタ等)にアクセスす
ることができるという利点がある。サーバの資源は、複
数のクライアントで共有することも可能である。
化、ネットワークオペレーティングシステムの発達など
の影響を受けて、パーソナルコンピュータ等の情報処理
装置をLAN(Local Area Networ
k)等のネットワークで接続したシステムが増加してい
る。これらのシステムは、サーバと呼ばれる高性能な情
報処理装置と、クライアントと呼ばれる複数の情報処理
装置から構成されることが多く、クライアントサーバシ
ステムと呼ばれる。クライアントサーバシステムでは、
各クライアント毎に独自の処理を実施することができる
が、処理の際は、必要に応じてサーバが管理する資源
(例えば、ハードディスク、プリンタ等)にアクセスす
ることができるという利点がある。サーバの資源は、複
数のクライアントで共有することも可能である。
【0003】クライアントサーバシステムにおけるデー
タベース(以後、DBと記す)処理では、サーバ上に実
際のデータの管理をするDBエンジンを置き、クライア
ント上にDBフロントエンドと呼ばれるプログラムを置
いて処理を分散させることが広く行われている。DBエ
ンジンとしては、データを表の形式で表現するリレーシ
ョナルデータベースシステム(以後、RDBMSと記
す)が多く用いられている。DBフロントエンドは、D
Bエンジンとの通信機能の他、DBエンジンへのアクセ
ス要求を指示するためのユーザインターフェースを提供
する。DBフロントエンドを、前記複数のクライアント
で動作させることにより、複数のクライアントでDBを
共有することが可能となる。
タベース(以後、DBと記す)処理では、サーバ上に実
際のデータの管理をするDBエンジンを置き、クライア
ント上にDBフロントエンドと呼ばれるプログラムを置
いて処理を分散させることが広く行われている。DBエ
ンジンとしては、データを表の形式で表現するリレーシ
ョナルデータベースシステム(以後、RDBMSと記
す)が多く用いられている。DBフロントエンドは、D
Bエンジンとの通信機能の他、DBエンジンへのアクセ
ス要求を指示するためのユーザインターフェースを提供
する。DBフロントエンドを、前記複数のクライアント
で動作させることにより、複数のクライアントでDBを
共有することが可能となる。
【0004】このようなクライアントサーバ型のDB処
理システムが普及するにつれて、クライアントで動作す
る流通ソフトを前記DBフロントエンドとして利用した
いというニーズが高まってきている。クライアントの流
通ソフトのうち、スタンドアロン環境で広く普及してい
る、いわゆるスプレッド・シート・プログラムと呼ばれ
る表計算手段のソフトウェアは、データの加工や分析な
ど広範な利用が可能なため、利用のニーズが特に高い。
最近、このようなニーズを受けて、クライアントの表計
算手段からサーバのDBをアクセスするための製品が各
種提供されるようになってきた。これらの製品は、DB
フロントエンドツールと呼ばれている。これらのDBフ
ロントエンドツールは、DBアクセス用の標準的なイン
ターフェースであるSQL(Structured Q
uery Language)と呼ばれるコマンドをサ
ーバのデータベースエンジンに送る機能と、検索したデ
ータを表計算手段に転送する機能を持つ。
理システムが普及するにつれて、クライアントで動作す
る流通ソフトを前記DBフロントエンドとして利用した
いというニーズが高まってきている。クライアントの流
通ソフトのうち、スタンドアロン環境で広く普及してい
る、いわゆるスプレッド・シート・プログラムと呼ばれ
る表計算手段のソフトウェアは、データの加工や分析な
ど広範な利用が可能なため、利用のニーズが特に高い。
最近、このようなニーズを受けて、クライアントの表計
算手段からサーバのDBをアクセスするための製品が各
種提供されるようになってきた。これらの製品は、DB
フロントエンドツールと呼ばれている。これらのDBフ
ロントエンドツールは、DBアクセス用の標準的なイン
ターフェースであるSQL(Structured Q
uery Language)と呼ばれるコマンドをサ
ーバのデータベースエンジンに送る機能と、検索したデ
ータを表計算手段に転送する機能を持つ。
【0005】表計算手段からのDBアクセスは、表計算
手段固有のマクロと呼ばれるプログラムに、前記DBフ
ロントエンドツールを制御する内容を記述し、そのマク
ロプログラムを実行することで実現する。マクロプログ
ラムは、表計算手段での様々な作業(例えば、計算処
理、グラフ作成等)を、一括して自動的に行うためにユ
ーザが作成するものである。マクロプログラムを作成す
る際には、表計算手段で用意しているマクロコマンドや
マクロ関数を使用する。
手段固有のマクロと呼ばれるプログラムに、前記DBフ
ロントエンドツールを制御する内容を記述し、そのマク
ロプログラムを実行することで実現する。マクロプログ
ラムは、表計算手段での様々な作業(例えば、計算処
理、グラフ作成等)を、一括して自動的に行うためにユ
ーザが作成するものである。マクロプログラムを作成す
る際には、表計算手段で用意しているマクロコマンドや
マクロ関数を使用する。
【0006】表計算手段上でDBのデータを活用する例
としては、佐々原誠らによる「PC/WSソフトとのデ
ータ連携(ホストデータ)」(情報処理学会平成3年後
期全国大会論文集(1) p.1ー375)や、山田千
恵子らによる「ユーザI/FとAPI関数のチェックポ
イントと問題点を探る」((株)リックテレコム発行、
ネットワークコンピューティング1993.11 p.
41〜47)などに記載されているものがある。
としては、佐々原誠らによる「PC/WSソフトとのデ
ータ連携(ホストデータ)」(情報処理学会平成3年後
期全国大会論文集(1) p.1ー375)や、山田千
恵子らによる「ユーザI/FとAPI関数のチェックポ
イントと問題点を探る」((株)リックテレコム発行、
ネットワークコンピューティング1993.11 p.
41〜47)などに記載されているものがある。
【0007】
【発明が解決しようとする課題】表計算手段に転送され
る検索結果のデータは、RDBMSで管理する表(以後
DB表と呼ぶ)と同様のデータ配置である。すなわち、
行(レコード)と列(項目)で表現されており、項目の
内容を表す項目名が前記DB表の最上段に表示されてい
る。しかし、ユーザが必要とする表(以後ユーザ表と呼
ぶ)のデータ配置は 、DB表のデータ配置とは異なる
場合が多い。そのため、DB表からユーザ表へのデータ
配置構造の変換が必要となり、ユーザは、データ配置構
造の変換処理プログラムを作成しなければならない。し
かし、この変換処理プログラムは、表計算手段のマクロ
コマンドを用いて記述しなければならず、プログラム作
成が容易ではない。
る検索結果のデータは、RDBMSで管理する表(以後
DB表と呼ぶ)と同様のデータ配置である。すなわち、
行(レコード)と列(項目)で表現されており、項目の
内容を表す項目名が前記DB表の最上段に表示されてい
る。しかし、ユーザが必要とする表(以後ユーザ表と呼
ぶ)のデータ配置は 、DB表のデータ配置とは異なる
場合が多い。そのため、DB表からユーザ表へのデータ
配置構造の変換が必要となり、ユーザは、データ配置構
造の変換処理プログラムを作成しなければならない。し
かし、この変換処理プログラムは、表計算手段のマクロ
コマンドを用いて記述しなければならず、プログラム作
成が容易ではない。
【0008】本発明の目的は、従来技術の課題を解決す
べく、ユーザがプログラムを作成することにより行って
いたデータ配置構造の変換処理を、ユーザがいちいちプ
ログラムを作成することなく行うことを可能にしたデー
タ配置構造変換方法およびそのシステム並びにクライア
ントサーバシステムを提供することにある。
べく、ユーザがプログラムを作成することにより行って
いたデータ配置構造の変換処理を、ユーザがいちいちプ
ログラムを作成することなく行うことを可能にしたデー
タ配置構造変換方法およびそのシステム並びにクライア
ントサーバシステムを提供することにある。
【0009】また、本発明の目的は、データ配置構造の
変換処理のパラメータを、使い勝手に優れたGUI(G
raphic User Interface)を用い
て指定することによってデータ配置構造の変換処理を、
ユーザがいちいちプログラムを作成することなく行うこ
とを可能にしたデータ配置構造変換方法およびそのシス
テム並びにクライアントサーバシステムを提供すること
にある。
変換処理のパラメータを、使い勝手に優れたGUI(G
raphic User Interface)を用い
て指定することによってデータ配置構造の変換処理を、
ユーザがいちいちプログラムを作成することなく行うこ
とを可能にしたデータ配置構造変換方法およびそのシス
テム並びにクライアントサーバシステムを提供すること
にある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、行を示す項目と列を示す項目とにより定
義されるデータ配置構造を有するあらかじめ与えられた
変換元の表から、外部からの入力により定められた項目
をブロック化キー項目とし、前記変換元の表の複数行に
含まれるデータを該ブロック化キー項目が一致するデー
タを1行にまとめるブロック化データ配置構造変換を施
し、外部からの入力により定められたキー項目である整
列キー項目の順序に従って整列させる整列化データ配置
構造変換を施すことをことを特徴とするデータ配置構造
変換方法およびそのシステムである。
め、本発明は、行を示す項目と列を示す項目とにより定
義されるデータ配置構造を有するあらかじめ与えられた
変換元の表から、外部からの入力により定められた項目
をブロック化キー項目とし、前記変換元の表の複数行に
含まれるデータを該ブロック化キー項目が一致するデー
タを1行にまとめるブロック化データ配置構造変換を施
し、外部からの入力により定められたキー項目である整
列キー項目の順序に従って整列させる整列化データ配置
構造変換を施すことをことを特徴とするデータ配置構造
変換方法およびそのシステムである。
【0011】また本発明は、前記データ配置構造変換方
法において、あらかじめ与えられた表のデータを、外部
からの入力により定められた項目のデータを基にしてソ
ートしてソート済の表を作成し、該ソート済の表を前記
変換元の表としてブロック化を行うことを特徴とする。
法において、あらかじめ与えられた表のデータを、外部
からの入力により定められた項目のデータを基にしてソ
ートしてソート済の表を作成し、該ソート済の表を前記
変換元の表としてブロック化を行うことを特徴とする。
【0012】また本発明は、前記データ配置構造変換方
法におけるブロック化において、前記指定されたブロッ
ク化キー項目及び整列キー項目のデータの組み合わせ
を、前記あらかじめ与えられた表の1行に含まれるデー
タの項目の組み合わせとを照合し、前記あらかじめ与え
られた表にない組み合わせがあれば、該変換元の表に該
項目の組み合わせに対応するブランクデータを挿入して
前記変換元の表とし、前記あらかじめ与えられた表の一
つの該組み合わせに重複して対応する複数の組み合わせ
があればエラーとすることを特徴とする。
法におけるブロック化において、前記指定されたブロッ
ク化キー項目及び整列キー項目のデータの組み合わせ
を、前記あらかじめ与えられた表の1行に含まれるデー
タの項目の組み合わせとを照合し、前記あらかじめ与え
られた表にない組み合わせがあれば、該変換元の表に該
項目の組み合わせに対応するブランクデータを挿入して
前記変換元の表とし、前記あらかじめ与えられた表の一
つの該組み合わせに重複して対応する複数の組み合わせ
があればエラーとすることを特徴とする。
【0013】また本発明は、前記データ配置構造変換方
法において前記ブロック化に加えて、前記あらかじめ与
えられた表及び前記ブロック化後の表のいずれかを変換
元の表として、該変換元の前記表の1行に含まれるデー
タを、分配の仕様を定めるために外部からの入力された
分配化パラメータにより定められた数の行に分け、複数
行として分配化後の表を作成する分配化データ配置構造
変換を施すことを特徴とする。
法において前記ブロック化に加えて、前記あらかじめ与
えられた表及び前記ブロック化後の表のいずれかを変換
元の表として、該変換元の前記表の1行に含まれるデー
タを、分配の仕様を定めるために外部からの入力された
分配化パラメータにより定められた数の行に分け、複数
行として分配化後の表を作成する分配化データ配置構造
変換を施すことを特徴とする。
【0014】また本発明は、前記ブロック化データ配置
構造変換と分配化データ配置構造変換との両方を有する
データ配置構造変換方法においては、前記分配化パラメ
ータは、前記変換元の表の1行に含まれるデータのうち
前記分配化後の表の1行に配置するデータの配置の連続
する個数と、該分配化後の表における該変換元の表の1
行に含まれるデータの配置される列の数とを含むことを
特徴とする。
構造変換と分配化データ配置構造変換との両方を有する
データ配置構造変換方法においては、前記分配化パラメ
ータは、前記変換元の表の1行に含まれるデータのうち
前記分配化後の表の1行に配置するデータの配置の連続
する個数と、該分配化後の表における該変換元の表の1
行に含まれるデータの配置される列の数とを含むことを
特徴とする。
【0015】また、本発明では、前記ブロック化データ
配置構造変換と分配化データ配置構造変換との両方を有
するデータ配置構造変換方法においては、前記ブロック
化データ配置構造変換は、前記指定されたブロック化キ
ー項目及び整列キー項目のデータの組み合わせを、前記
あらかじめ与えられた表の1行に含まれるデータの項目
の組み合わせとを照合し、前記あらかじめ与えられた表
にない組み合わせがあれば、該変換元の表に該項目の組
み合わせに対応するブランクデータを挿入して前記変換
元の表とし、上記あらかじめ与えられた表の一つの該組
み合わせに重複して対応する複数の組み合わせがあれば
エラーとし、前記分配化データ配置構造変換は、前記あ
らかじめ与えられた表が、前記ブロック化後の表でない
ときは、前記あらかじめ与えられた表の1行に含まれる
データのうちの分配に供するデータの数が、前記あらか
じめ与えられた表のうちの該変換後の表における該変換
元の表の1行に配置するデータの配置の連続する個数
と、前記あらかじめ与えられた表の1行に含まれるデー
タのうちの該変換後の表における該変換元の表の1行に
含まれるデータの配置される列の数とを掛け合わせて得
られる数の整数倍であれば、前記あらかじめ与えられた
表を前記変換元の表とし、整数倍でなければエラーと
し、前記あらかじめ与えられた表が前記ブロック化後の
表のときは、該ブロック化後の表を変換元の表とするこ
とを特徴とする。 また本発明では、前記データ配置構
造を変換する方法において、前記あらかじめ与えられた
表を変換元の表として、該変換元の表の1行に含まれる
データを、分配の仕様を定めるために外部から入力され
た分配化パラメータにより定められた数の行に分け、複
数行として分配化後の表を作成する分配化データ配置構
造変換を施すことを特徴とするデータ配置構造変換方法
およびそのシステムが提供される。
配置構造変換と分配化データ配置構造変換との両方を有
するデータ配置構造変換方法においては、前記ブロック
化データ配置構造変換は、前記指定されたブロック化キ
ー項目及び整列キー項目のデータの組み合わせを、前記
あらかじめ与えられた表の1行に含まれるデータの項目
の組み合わせとを照合し、前記あらかじめ与えられた表
にない組み合わせがあれば、該変換元の表に該項目の組
み合わせに対応するブランクデータを挿入して前記変換
元の表とし、上記あらかじめ与えられた表の一つの該組
み合わせに重複して対応する複数の組み合わせがあれば
エラーとし、前記分配化データ配置構造変換は、前記あ
らかじめ与えられた表が、前記ブロック化後の表でない
ときは、前記あらかじめ与えられた表の1行に含まれる
データのうちの分配に供するデータの数が、前記あらか
じめ与えられた表のうちの該変換後の表における該変換
元の表の1行に配置するデータの配置の連続する個数
と、前記あらかじめ与えられた表の1行に含まれるデー
タのうちの該変換後の表における該変換元の表の1行に
含まれるデータの配置される列の数とを掛け合わせて得
られる数の整数倍であれば、前記あらかじめ与えられた
表を前記変換元の表とし、整数倍でなければエラーと
し、前記あらかじめ与えられた表が前記ブロック化後の
表のときは、該ブロック化後の表を変換元の表とするこ
とを特徴とする。 また本発明では、前記データ配置構
造を変換する方法において、前記あらかじめ与えられた
表を変換元の表として、該変換元の表の1行に含まれる
データを、分配の仕様を定めるために外部から入力され
た分配化パラメータにより定められた数の行に分け、複
数行として分配化後の表を作成する分配化データ配置構
造変換を施すことを特徴とするデータ配置構造変換方法
およびそのシステムが提供される。
【0016】また本発明は、分配化データ配置構造変換
を施すデータ配置構造変換方法において、あらかじめ与
えられた表のデータを、外部からの入力により定められ
た項目のデータを基にしてソートし、ソート済の表を作
成するソートステップをさらに有し、前記分配化ステッ
プは、上記ソート済の表を、前記変換元の表として分配
化を行うことを特徴とする。
を施すデータ配置構造変換方法において、あらかじめ与
えられた表のデータを、外部からの入力により定められ
た項目のデータを基にしてソートし、ソート済の表を作
成するソートステップをさらに有し、前記分配化ステッ
プは、上記ソート済の表を、前記変換元の表として分配
化を行うことを特徴とする。
【0017】また本発明は、前記分配化パラメータは、
前記変換元の表の1行に含まれるデータのうち、前記分
配化後の表の1行に配置するデータの配置の連続する個
数と、該分配化後の表における該変換元の表の1行に含
まれるデータの配置される列の数とを含むことを特徴と
する。
前記変換元の表の1行に含まれるデータのうち、前記分
配化後の表の1行に配置するデータの配置の連続する個
数と、該分配化後の表における該変換元の表の1行に含
まれるデータの配置される列の数とを含むことを特徴と
する。
【0018】さらに、本発明は、前記分配化変換におい
て、前記あらかじめ与えられた表の1行に含まれるデー
タのうち、分配に供するデータの数が、上記あらかじめ
与えられた表の1行に含まれるデータのうち前記変換後
の表の1行に配置するデータの配置の連続する個数と、
上記あらかじめ与えられた表の1行に含まれるデータの
うち該変換後の表における該変換元の表の1行に含まれ
るデータの配置される列の数とを掛け合わせて得られる
数の整数倍であれば、上記あらかじめ与えられた表を前
記変換元の表とし、整数倍でなければ、エラーとするこ
とを特徴とする。
て、前記あらかじめ与えられた表の1行に含まれるデー
タのうち、分配に供するデータの数が、上記あらかじめ
与えられた表の1行に含まれるデータのうち前記変換後
の表の1行に配置するデータの配置の連続する個数と、
上記あらかじめ与えられた表の1行に含まれるデータの
うち該変換後の表における該変換元の表の1行に含まれ
るデータの配置される列の数とを掛け合わせて得られる
数の整数倍であれば、上記あらかじめ与えられた表を前
記変換元の表とし、整数倍でなければ、エラーとするこ
とを特徴とする。
【0019】また、本発明では、記憶装置と制御装置と
を有し、該記憶装置は、変換元の表及び変換後の表の格
納領域を有し、該制御装置は、変換元の表のデータ配置
構造を変換して、該変換後の表の格納領域に格納する対
応付け実行部を有するデータ配置構造変換システムにお
いて、上記記憶装置に格納される表は、行を示す項目と
列を示す項目とにより定義されるデータ配置構造を有
し、上記対応付け実行部は、上記項目のうち、外部から
の入力により定められた項目を、ブロック化キー項目と
し、上記あらかじめ与えられた表を変換元の表として、
該変換元の表の複数行に含まれるデータを、該ブロック
化キー項目が一致するデータを1行にまとめ、整列のた
めに外部からの入力により定められたキー項目である整
列キー項目の順序に従って整列させ、ブロック化後の表
を作成するブロック化処理部と、上記あらかじめ与えら
れた表を変換元の表として、該変換元の表の1行に含ま
れるデータを、分配の仕様を定めるために外部から入力
された分配化パラメータにより定められた数の行に分
け、複数行として、分配化後の表を作成する分配化処理
部とを有することを特徴とするデータ配置構造変換シス
テムが提供される。
を有し、該記憶装置は、変換元の表及び変換後の表の格
納領域を有し、該制御装置は、変換元の表のデータ配置
構造を変換して、該変換後の表の格納領域に格納する対
応付け実行部を有するデータ配置構造変換システムにお
いて、上記記憶装置に格納される表は、行を示す項目と
列を示す項目とにより定義されるデータ配置構造を有
し、上記対応付け実行部は、上記項目のうち、外部から
の入力により定められた項目を、ブロック化キー項目と
し、上記あらかじめ与えられた表を変換元の表として、
該変換元の表の複数行に含まれるデータを、該ブロック
化キー項目が一致するデータを1行にまとめ、整列のた
めに外部からの入力により定められたキー項目である整
列キー項目の順序に従って整列させ、ブロック化後の表
を作成するブロック化処理部と、上記あらかじめ与えら
れた表を変換元の表として、該変換元の表の1行に含ま
れるデータを、分配の仕様を定めるために外部から入力
された分配化パラメータにより定められた数の行に分
け、複数行として、分配化後の表を作成する分配化処理
部とを有することを特徴とするデータ配置構造変換シス
テムが提供される。
【0020】また本発明では、記憶装置と制御装置と入
出力装置とを有し、該記憶装置は、変換元の表及び変換
後の表の格納領域を有し、該制御装置は、変換元の表の
データ配置構造を変換して、該変換後の表の格納領域に
格納する対応付け実行部と、前記データ配置構造変換処
理のパラメータ指定処理を制御する対応付け定義部を有
するデータ配置構造変換システムにおいて、上記記憶装
置に格納される表は、行を示す項目と列を示す項目とに
より定義されるデータ配置構造を有し、上記対応付け実
行部は、上記項目のうち、該入力装置からの入力により
定められた項目を、ブロック化キー項目とし、上記あら
かじめ与えられた表を変換元の表として、該変換元の表
の複数行に含まれるデータを、該ブロック化キー項目が
一致するデータを1行にまとめ、整列のために該入力装
置により定められたキー項目である整列キー項目の順序
に従って整列させ、ブロック化後の表を作成するブロッ
ク化処理部と、上記あらかじめ与えられた表を変換元の
表として、該変換元の表の1行に含まれるデータを、分
配の仕様を定めるために該入力装置から入力された分配
化パラメータにより定められた数の行に分け、複数行と
して、分配化後の表を作成する分配化処理部とを有し、
上記対応付け定義部は、上記データ配置構造変換処理に
先立ち、上記変換元の表と、前記縦見出し、あるいは横
見出しとして前記キー項目のデータ、及び前記分配の仕
様が予め与えられた変換先表を、該出力装置に同時に表
示し、上記変換元の表から、上記定義済の変換先表への
ドラッグ&ドロップにより、該パラメータを指定するこ
とを特徴とするデータ配置構造変換システム。
出力装置とを有し、該記憶装置は、変換元の表及び変換
後の表の格納領域を有し、該制御装置は、変換元の表の
データ配置構造を変換して、該変換後の表の格納領域に
格納する対応付け実行部と、前記データ配置構造変換処
理のパラメータ指定処理を制御する対応付け定義部を有
するデータ配置構造変換システムにおいて、上記記憶装
置に格納される表は、行を示す項目と列を示す項目とに
より定義されるデータ配置構造を有し、上記対応付け実
行部は、上記項目のうち、該入力装置からの入力により
定められた項目を、ブロック化キー項目とし、上記あら
かじめ与えられた表を変換元の表として、該変換元の表
の複数行に含まれるデータを、該ブロック化キー項目が
一致するデータを1行にまとめ、整列のために該入力装
置により定められたキー項目である整列キー項目の順序
に従って整列させ、ブロック化後の表を作成するブロッ
ク化処理部と、上記あらかじめ与えられた表を変換元の
表として、該変換元の表の1行に含まれるデータを、分
配の仕様を定めるために該入力装置から入力された分配
化パラメータにより定められた数の行に分け、複数行と
して、分配化後の表を作成する分配化処理部とを有し、
上記対応付け定義部は、上記データ配置構造変換処理に
先立ち、上記変換元の表と、前記縦見出し、あるいは横
見出しとして前記キー項目のデータ、及び前記分配の仕
様が予め与えられた変換先表を、該出力装置に同時に表
示し、上記変換元の表から、上記定義済の変換先表への
ドラッグ&ドロップにより、該パラメータを指定するこ
とを特徴とするデータ配置構造変換システム。
【0021】即ち、本発明は、列を示す項目と行を識別
する項目により定義され、該列を示す項目のうち行を識
別する項目(データ)を含む2つ以上の項目(キー項
目)と前記キー項目により識別される項目(数値項目)
とを有するデータ配置構造の表を変換元の表としてあら
かじめ与えられ、前記キー項目のうちブロック化キー項
目とする項目は、該変換元の表の複数行に含まれるデー
タを該項目が一致する前記数値項目のデータを1行にま
とめるために作用して変換先の表における縦の見出しと
なる項目にブロック化データ配置構造変換を施し、更に
前記キー項目のうち整列キー項目とする項目は、前記数
値項目を該項目の順序に従って整列させるために作用し
て前記変換先の表における横の見出しとなる項目に整列
データ配置構造変換を施して前記変換先の表のデータ配
置構造を得ることを特徴とするデータ配置構造変換方法
およびそのシステムである。
する項目により定義され、該列を示す項目のうち行を識
別する項目(データ)を含む2つ以上の項目(キー項
目)と前記キー項目により識別される項目(数値項目)
とを有するデータ配置構造の表を変換元の表としてあら
かじめ与えられ、前記キー項目のうちブロック化キー項
目とする項目は、該変換元の表の複数行に含まれるデー
タを該項目が一致する前記数値項目のデータを1行にま
とめるために作用して変換先の表における縦の見出しと
なる項目にブロック化データ配置構造変換を施し、更に
前記キー項目のうち整列キー項目とする項目は、前記数
値項目を該項目の順序に従って整列させるために作用し
て前記変換先の表における横の見出しとなる項目に整列
データ配置構造変換を施して前記変換先の表のデータ配
置構造を得ることを特徴とするデータ配置構造変換方法
およびそのシステムである。
【0022】また本発明は、行を示す項目と列を示す項
目とにより定義されるデータ配置構造を有する変換元の
表として記憶する記憶手段と、ブロック化キー項目と整
列キー項目とを入力する入力手段と、前記記憶手段に記
憶された変換元の表のデータ配置構造を読出して変換元
の表の複数行に含まれるデータを、前記入力装置で入力
されたブロック化キー項目が一致するデータを1行にま
とめてブロック化データ配置構造に変換し、前記入力手
段で入力された整列キー項目の順序に従って整列させる
整列化データ配置構造に変換して行を示す項目と列を示
す項目とにより定義されるデータ配置構造を有する変換
先の表を作成する表作成手段とを備えたことを特徴とす
るデータ配置構造変換システムである。
目とにより定義されるデータ配置構造を有する変換元の
表として記憶する記憶手段と、ブロック化キー項目と整
列キー項目とを入力する入力手段と、前記記憶手段に記
憶された変換元の表のデータ配置構造を読出して変換元
の表の複数行に含まれるデータを、前記入力装置で入力
されたブロック化キー項目が一致するデータを1行にま
とめてブロック化データ配置構造に変換し、前記入力手
段で入力された整列キー項目の順序に従って整列させる
整列化データ配置構造に変換して行を示す項目と列を示
す項目とにより定義されるデータ配置構造を有する変換
先の表を作成する表作成手段とを備えたことを特徴とす
るデータ配置構造変換システムである。
【0023】また本発明は、行を示す項目と列を示す項
目とにより定義されるデータ配置構造を有する変換元の
表として記憶する記憶手段と、ブロック化キー項目と整
列キー項目と分配化パラメータとを入力する入力手段
と、前記記憶手段に記憶された変換元の表のデータ配置
構造を読出して変換元の表の複数行に含まれるデータ
を、前記入力装置で入力されたブロック化キー項目が一
致するデータを1行にまとめてブロック化データ配置構
造に変換し、前記入力手段で入力された整列キー項目の
順序に従って整列させる整列化データ配置構造に変換
し、前記入力手段から入力された分配化パラメータによ
り定められた数の行に分配化して分配化データ配置構造
に変換して行を示す項目と列を示す項目とにより定義さ
れるデータ配置構造を有する変換先の表を作成する表作
成手段とを備えたことを特徴とするデータ配置構造変換
システムである。
目とにより定義されるデータ配置構造を有する変換元の
表として記憶する記憶手段と、ブロック化キー項目と整
列キー項目と分配化パラメータとを入力する入力手段
と、前記記憶手段に記憶された変換元の表のデータ配置
構造を読出して変換元の表の複数行に含まれるデータ
を、前記入力装置で入力されたブロック化キー項目が一
致するデータを1行にまとめてブロック化データ配置構
造に変換し、前記入力手段で入力された整列キー項目の
順序に従って整列させる整列化データ配置構造に変換
し、前記入力手段から入力された分配化パラメータによ
り定められた数の行に分配化して分配化データ配置構造
に変換して行を示す項目と列を示す項目とにより定義さ
れるデータ配置構造を有する変換先の表を作成する表作
成手段とを備えたことを特徴とするデータ配置構造変換
システムである。
【0024】また本発明は、前記データ配置構造変換シ
ステムの表作成手段において、前記キー項目のデータを
基にソートすることを特徴とする。
ステムの表作成手段において、前記キー項目のデータを
基にソートすることを特徴とする。
【0025】また本発明は、行を示す項目と列を示す項
目とにより定義されるデータ配置構造を有する変換元の
表として記憶する記憶手段を備えたサーバを設け、ブロ
ック化キー項目と整列キー項目とを入力する入力手段
と、前記サーバの記憶手段に記憶された変換元の表のデ
ータ配置構造を読出して変換元の表の複数行に含まれる
データを、前記入力装置で入力されたブロック化キー項
目が一致するデータを1行にまとめてブロック化データ
配置構造に変換し、前記入力手段で入力された整列キー
項目の順序に従って整列させる整列化データ配置構造に
変換して行を示す項目と列を示す項目とにより定義され
るデータ配置構造を有する変換先の表を作成する表作成
手段とを備えたクライアントを設けたことを特徴とする
クライアントサーバシステムである。
目とにより定義されるデータ配置構造を有する変換元の
表として記憶する記憶手段を備えたサーバを設け、ブロ
ック化キー項目と整列キー項目とを入力する入力手段
と、前記サーバの記憶手段に記憶された変換元の表のデ
ータ配置構造を読出して変換元の表の複数行に含まれる
データを、前記入力装置で入力されたブロック化キー項
目が一致するデータを1行にまとめてブロック化データ
配置構造に変換し、前記入力手段で入力された整列キー
項目の順序に従って整列させる整列化データ配置構造に
変換して行を示す項目と列を示す項目とにより定義され
るデータ配置構造を有する変換先の表を作成する表作成
手段とを備えたクライアントを設けたことを特徴とする
クライアントサーバシステムである。
【0026】また本発明は、行を示す項目と列を示す項
目とにより定義されるデータ配置構造を有する変換元の
表として記憶する記憶手段を備えたサーバを設け、ブロ
ック化キー項目と整列キー項目と分配化パラメータとを
入力する入力手段と、前記サーバの記憶手段に記憶され
た変換元の表のデータ配置構造を読出して変換元の表の
複数行に含まれるデータを、前記入力装置で入力された
ブロック化キー項目が一致するデータを1行にまとめて
ブロック化データ配置構造に変換し、前記入力手段で入
力された整列キー項目の順序に従って整列させる整列化
データ配置構造に変換し、前記入力手段から入力された
分配化パラメータにより定められた数の行に分配化して
分配化データ配置構造に変換して行を示す項目と列を示
す項目とにより定義されるデータ配置構造を有する変換
先の表を作成する表作成手段とを備えたクライアントを
設けたことを特徴とするクライアントサーバシステムで
ある。
目とにより定義されるデータ配置構造を有する変換元の
表として記憶する記憶手段を備えたサーバを設け、ブロ
ック化キー項目と整列キー項目と分配化パラメータとを
入力する入力手段と、前記サーバの記憶手段に記憶され
た変換元の表のデータ配置構造を読出して変換元の表の
複数行に含まれるデータを、前記入力装置で入力された
ブロック化キー項目が一致するデータを1行にまとめて
ブロック化データ配置構造に変換し、前記入力手段で入
力された整列キー項目の順序に従って整列させる整列化
データ配置構造に変換し、前記入力手段から入力された
分配化パラメータにより定められた数の行に分配化して
分配化データ配置構造に変換して行を示す項目と列を示
す項目とにより定義されるデータ配置構造を有する変換
先の表を作成する表作成手段とを備えたクライアントを
設けたことを特徴とするクライアントサーバシステムで
ある。
【0027】また本発明は、前記クライアントサーバシ
ステムの表作成手段において、前記キー項目のデータを
基にソートすることを特徴とする。
ステムの表作成手段において、前記キー項目のデータを
基にソートすることを特徴とする。
【0028】また本発明は、変換先の表を表示手段に表
示させることを特徴とするものである。
示させることを特徴とするものである。
【0029】
【作用】本発明では、DB表と同様のデータ配置構造を
有する本発明のデータ配置構造変換システムの記憶装置
内に保持された表(以後0次表と呼ぶ)からユーザ表へ
のデータの並べ換えを実行するデータ配置構造の変換処
理手段と、変換処理のためのパラメータを入力する手段
と、前記パラメータを格納する手段と、変換した表を表
計算手段に転送する手段を設けた。ユーザ表は、データ
の並べ換え処理に先立ち、表の見出しとなるデータの
他、罫線、数式等をユーザが予め入力している表であ
る。0次表は、ユーザ表において見出しとなる項目であ
るキー項目と、それ以外の項目である数値項目で構成さ
れる。
有する本発明のデータ配置構造変換システムの記憶装置
内に保持された表(以後0次表と呼ぶ)からユーザ表へ
のデータの並べ換えを実行するデータ配置構造の変換処
理手段と、変換処理のためのパラメータを入力する手段
と、前記パラメータを格納する手段と、変換した表を表
計算手段に転送する手段を設けた。ユーザ表は、データ
の並べ換え処理に先立ち、表の見出しとなるデータの
他、罫線、数式等をユーザが予め入力している表であ
る。0次表は、ユーザ表において見出しとなる項目であ
るキー項目と、それ以外の項目である数値項目で構成さ
れる。
【0030】データ配置構造の変換処理手段は、0次表
の複数レコードを1行にまとめるブロック化処理部と、
1レコードを複数行に分配する分配化処理部の処理の組
み合わせで実現する。これら処理のパラメータは、ユー
ザ表の見出しデータに適合するものであり、ユーザが入
力する。ブロック化処理のパラメータは、ユーザ表の列
の見出し(縦の見出し)となるキー項目、行の見出し
(横の見出し)となるキー項目と、数値項目である。ま
た、分配化処理のパラメータは、0次表における分配を
行いたい項目と、0次表における1行のデータのうち、
1次表で1行に連続して配置するレコードの数と、0次
表における1行のデータのうち、1次表で1列に配置す
るデータの数とを有する。さらに、この他、ソートのた
めのパラメータであるキー項目をソートする際のソート
基準である昇順/降順等の入力も受け付けられる。
の複数レコードを1行にまとめるブロック化処理部と、
1レコードを複数行に分配する分配化処理部の処理の組
み合わせで実現する。これら処理のパラメータは、ユー
ザ表の見出しデータに適合するものであり、ユーザが入
力する。ブロック化処理のパラメータは、ユーザ表の列
の見出し(縦の見出し)となるキー項目、行の見出し
(横の見出し)となるキー項目と、数値項目である。ま
た、分配化処理のパラメータは、0次表における分配を
行いたい項目と、0次表における1行のデータのうち、
1次表で1行に連続して配置するレコードの数と、0次
表における1行のデータのうち、1次表で1列に配置す
るデータの数とを有する。さらに、この他、ソートのた
めのパラメータであるキー項目をソートする際のソート
基準である昇順/降順等の入力も受け付けられる。
【0031】パラメータを入力する手段では、前記0次
表と前記ユーザ表を、該表示装置に同時に表示する。ユ
ーザは、前記0次表の内、該当する項目をドラッグし、
前記ユーザ表の該当する座標にドロップすることによ
り、前記ブロック化及び分配化のパラメータの指定を行
う。ここでは、前記0次表の該当するキー項目が、前記
横の見出しにドラッグ&ドロップされた場合、ブロック
化の指定が行われたと認識し、該項目を整列キー項目と
し、このとき、上記横の見出し以外に、縦の見出しにド
ラッグ&ドロップされた項目を、ブロック化キー項目と
する。また、前記0次表の該当する複数の数値項目が、
縦方向にドラッグ&ドロップされると、分配化の指定が
行われたと認識する。ここで、前記分配化パラメータの
うち、1次表で1列に配置するデータの数は、前記縦方
向に並んでいる数値項目の数である。また、前記1次表
で1行に連続して配置するレコードの数は、ブロック化
指定が有りの場合は、必ず1となり、分配化指定のみの
場合は、0次表の数値項目のうち、ドラッグした項目の
列番号の差となる。
表と前記ユーザ表を、該表示装置に同時に表示する。ユ
ーザは、前記0次表の内、該当する項目をドラッグし、
前記ユーザ表の該当する座標にドロップすることによ
り、前記ブロック化及び分配化のパラメータの指定を行
う。ここでは、前記0次表の該当するキー項目が、前記
横の見出しにドラッグ&ドロップされた場合、ブロック
化の指定が行われたと認識し、該項目を整列キー項目と
し、このとき、上記横の見出し以外に、縦の見出しにド
ラッグ&ドロップされた項目を、ブロック化キー項目と
する。また、前記0次表の該当する複数の数値項目が、
縦方向にドラッグ&ドロップされると、分配化の指定が
行われたと認識する。ここで、前記分配化パラメータの
うち、1次表で1列に配置するデータの数は、前記縦方
向に並んでいる数値項目の数である。また、前記1次表
で1行に連続して配置するレコードの数は、ブロック化
指定が有りの場合は、必ず1となり、分配化指定のみの
場合は、0次表の数値項目のうち、ドラッグした項目の
列番号の差となる。
【0032】前記の各パラメータは、それぞれ記憶装置
に格納される。ブロック化処理部並びに分配化処理部
は、これら格納されたパラメータに従いデータ配置構造
の変換処理を実行する。データ転送をする手段は、ブロ
ック化処理と分配化処理によりユーザ表のデータ配置に
変換された表を表計算手段に転送する。
に格納される。ブロック化処理部並びに分配化処理部
は、これら格納されたパラメータに従いデータ配置構造
の変換処理を実行する。データ転送をする手段は、ブロ
ック化処理と分配化処理によりユーザ表のデータ配置に
変換された表を表計算手段に転送する。
【0033】従って、表のデータ配置構造の変換を、該
変換の仕様を定めたパラメータを指定するだけで、該パ
ラメータを用いたブロック化変換と整列変換との組合せ
により実現でき、更に分配化変換により、任意のデータ
配置構造の変換を行うことができる効果を奏する。また
前記パラメータの指定をユーザがGUIのドラッグ&ド
ロップにより容易に行うことができ、作業能率の向上を
図ることができる効果を奏する。また指定されたブロッ
ク化キー項目及び整列キー項目のデータの組み合わせ
を、あらかじめ与えられた表の1行に含まれるデータの
項目の組み合わせとを照合するようにしたので、データ
配置構造変換のチェックを行うことができる効果を奏す
る。
変換の仕様を定めたパラメータを指定するだけで、該パ
ラメータを用いたブロック化変換と整列変換との組合せ
により実現でき、更に分配化変換により、任意のデータ
配置構造の変換を行うことができる効果を奏する。また
前記パラメータの指定をユーザがGUIのドラッグ&ド
ロップにより容易に行うことができ、作業能率の向上を
図ることができる効果を奏する。また指定されたブロッ
ク化キー項目及び整列キー項目のデータの組み合わせ
を、あらかじめ与えられた表の1行に含まれるデータの
項目の組み合わせとを照合するようにしたので、データ
配置構造変換のチェックを行うことができる効果を奏す
る。
【0034】
【実施例】以下、本発明の一実施例を図面を用いて説明
する。
する。
【0035】ここでは、サーバと、該サーバに信号線を
介して接続された複数のクライアントを有するLAN
(ローカルエリアネットワーク)における、クライアン
トのデータ配置構造変換処理を例として、本実施例のD
Bデータの表形式データへのデータ配置構造変換システ
ムを説明する。図1に、本実施例のデータ配置構造変換
システムの機能ブロック図を示す。図中、黒太の矢印は
表データの流れを示している。本実施例のLANは、図
2に示すように、クライアント2が信号線6を介してサ
ーバ1と接続されている。サーバ1は、DB表を保持す
る記憶装置であるハードディスク4と、ハードディスク
4内のDB表を制御するためのDBエンジン3とを備え
る。クライアント2は、制御装置200と、記憶装置2
11と、入出力装置212を備える。記憶装置211
は、主記憶202、及びハードディスク装置203を有
する。入出力装置212は、キーボード205、マウス
207、及び表示装置209を有する。制御装置200
は、CPU(中央演算装置)201、キーボード205
を制御するキーボード制御部204、マウス207を制
御するマウス制御部206、表示装置209を制御する
表示制御部208、及び、信号線6を介して行われる通
信を制御するLAN制御部210を有する。
介して接続された複数のクライアントを有するLAN
(ローカルエリアネットワーク)における、クライアン
トのデータ配置構造変換処理を例として、本実施例のD
Bデータの表形式データへのデータ配置構造変換システ
ムを説明する。図1に、本実施例のデータ配置構造変換
システムの機能ブロック図を示す。図中、黒太の矢印は
表データの流れを示している。本実施例のLANは、図
2に示すように、クライアント2が信号線6を介してサ
ーバ1と接続されている。サーバ1は、DB表を保持す
る記憶装置であるハードディスク4と、ハードディスク
4内のDB表を制御するためのDBエンジン3とを備え
る。クライアント2は、制御装置200と、記憶装置2
11と、入出力装置212を備える。記憶装置211
は、主記憶202、及びハードディスク装置203を有
する。入出力装置212は、キーボード205、マウス
207、及び表示装置209を有する。制御装置200
は、CPU(中央演算装置)201、キーボード205
を制御するキーボード制御部204、マウス207を制
御するマウス制御部206、表示装置209を制御する
表示制御部208、及び、信号線6を介して行われる通
信を制御するLAN制御部210を有する。
【0036】図1において、前記サーバ1上のDBエン
ジン3は、各クライアント2から発行される検索、更新
等の要求コマンドを受けて、サーバ1上のハードディス
ク4に格納されたDB表5にアクセスする。DB表5
は、DBエンジン3が前記アクセスの対象とする表であ
り、従来の技術で述べたように、項目の内容を表す項目
名を最上段に、それぞれの項目名の下にデータが配置さ
れているデータ配置である。
ジン3は、各クライアント2から発行される検索、更新
等の要求コマンドを受けて、サーバ1上のハードディス
ク4に格納されたDB表5にアクセスする。DB表5
は、DBエンジン3が前記アクセスの対象とする表であ
り、従来の技術で述べたように、項目の内容を表す項目
名を最上段に、それぞれの項目名の下にデータが配置さ
れているデータ配置である。
【0037】クライアント2の主記憶202は、0次表
13、1次表14、パラメータテーブル15、キー項目
データテーブル17、キー項目最大数テーブル18、キ
ー項目データテーブルインデックス19、スプレッドシ
ート21、ユーザ表22を有する。パラメータテーブル
は、ソート処理に必要なパラメータであるソート基準パ
ラメータ、ブロック化の処理に必要なパラメータである
ブロック化パラメータ、及び分配化の処理に必要なパラ
メータである分配化パラメータを格納するテーブルであ
る。また、ソート基準パラメータ、ブロック化パラメー
タ、及び分配化パラメータを総称して,対応付けパラメ
ータと呼ぶ。スプレッドシート21は、表計算手段20
の作業用のシートであり、1ファイルとして表計算手段
20が管理している。
13、1次表14、パラメータテーブル15、キー項目
データテーブル17、キー項目最大数テーブル18、キ
ー項目データテーブルインデックス19、スプレッドシ
ート21、ユーザ表22を有する。パラメータテーブル
は、ソート処理に必要なパラメータであるソート基準パ
ラメータ、ブロック化の処理に必要なパラメータである
ブロック化パラメータ、及び分配化の処理に必要なパラ
メータである分配化パラメータを格納するテーブルであ
る。また、ソート基準パラメータ、ブロック化パラメー
タ、及び分配化パラメータを総称して,対応付けパラメ
ータと呼ぶ。スプレッドシート21は、表計算手段20
の作業用のシートであり、1ファイルとして表計算手段
20が管理している。
【0038】0次表13は、オペレーティングシステム
7を経由してDBエンジン3から受け取った検索データ
で構成される表であり、サーバ1内に保持されているD
B表5と同様、項目名を最上段に、以下、行見出し項目
と、その行に含まれる各列見出し項目に応じたデータ
が、1行または複数行配置されたデータ配置構造となっ
ている。また、ユーザ表22は、ユーザにより定義され
たデータ配置構造を有する表である。ユーザ表22は、
ユーザの入力に応じて、DB表5へのアクセスに先立
ち、スプレッドシート21上に表計算手段20により作
成される。ユーザ表22には、ユーザが作りたい表の見
出しとなるデータの他、罫線、数式等が予め入力されて
おり、1次表14のデータが表示される部分だけが空白
になっている。1次表14は、0次表13をブロック
化、分配化して得られるデータ群である。
7を経由してDBエンジン3から受け取った検索データ
で構成される表であり、サーバ1内に保持されているD
B表5と同様、項目名を最上段に、以下、行見出し項目
と、その行に含まれる各列見出し項目に応じたデータ
が、1行または複数行配置されたデータ配置構造となっ
ている。また、ユーザ表22は、ユーザにより定義され
たデータ配置構造を有する表である。ユーザ表22は、
ユーザの入力に応じて、DB表5へのアクセスに先立
ち、スプレッドシート21上に表計算手段20により作
成される。ユーザ表22には、ユーザが作りたい表の見
出しとなるデータの他、罫線、数式等が予め入力されて
おり、1次表14のデータが表示される部分だけが空白
になっている。1次表14は、0次表13をブロック
化、分配化して得られるデータ群である。
【0039】0次表13、1次表14、及びユーザ表2
2の関係を、具体例を用いて図3に示す。ユーザ表22
は、ユーザが定義したデータ配置構造であり、図3の例
では、A地区、B地区、4月、5月、生産数、売上数と
いった見出しデータが保持されている。これらのデータ
は、ユーザにより予め入力されたものである。0次表1
3は、DB表5から検索されたデータであり、図3の例
では、「地区」、「月」、「生産数」、「売上数」とい
う項目から成るレコードで構成されている。この0次表
のデータ項目には、ユーザ表22と一致するもの(すな
わち、ユーザにとってみればユーザ表22に取り込みた
い数値データの項目及び見出しデータの項目)が含まれ
ている。ただし、0次表13における見出しデータ(こ
の例の場合は「地区」、「月」)の項目は、数値データ
を並べ換える際の並べ換えキーの役割をするだけであ
り、前記ユーザ表22において表示はされない。1次表
14は、0次表13の見出しデータの項目をキーとし
て、数値データを並べ換えた表であるが、実際に前記主
記憶202上で保持するのは数値データのみであって見
出しデータは含まれない。ただし、本実施例において図
示する際には、多くの場合、説明を容易にするため、1
次表14に見出しデータも含めて示している。本実施例
のデータ配置構造変換処理システムにおいては、ユーザ
表22は、空白部分にこの数値データが転送されること
により作成される。なお、本実施例では、0次表13の
1行に表される全データ群をレコードという。
2の関係を、具体例を用いて図3に示す。ユーザ表22
は、ユーザが定義したデータ配置構造であり、図3の例
では、A地区、B地区、4月、5月、生産数、売上数と
いった見出しデータが保持されている。これらのデータ
は、ユーザにより予め入力されたものである。0次表1
3は、DB表5から検索されたデータであり、図3の例
では、「地区」、「月」、「生産数」、「売上数」とい
う項目から成るレコードで構成されている。この0次表
のデータ項目には、ユーザ表22と一致するもの(すな
わち、ユーザにとってみればユーザ表22に取り込みた
い数値データの項目及び見出しデータの項目)が含まれ
ている。ただし、0次表13における見出しデータ(こ
の例の場合は「地区」、「月」)の項目は、数値データ
を並べ換える際の並べ換えキーの役割をするだけであ
り、前記ユーザ表22において表示はされない。1次表
14は、0次表13の見出しデータの項目をキーとし
て、数値データを並べ換えた表であるが、実際に前記主
記憶202上で保持するのは数値データのみであって見
出しデータは含まれない。ただし、本実施例において図
示する際には、多くの場合、説明を容易にするため、1
次表14に見出しデータも含めて示している。本実施例
のデータ配置構造変換処理システムにおいては、ユーザ
表22は、空白部分にこの数値データが転送されること
により作成される。なお、本実施例では、0次表13の
1行に表される全データ群をレコードという。
【0040】クライアント2の主記憶202は、オペレ
ーティングシステム7と、対応付け処理部8と、表計算
手段20の命令とをさらに備える。クライアント2のC
PU201は、主記憶202内のこれらの命令を実行す
る手段であり、この命令の実行により、オペレーティン
グシステム7、対応付け処理部8、表計算手段20が実
現される。オペレーティングシステム7は、前記検索、
更新等の要求コマンドの発行、及び検索したデータの授
受を制御する。表計算手段20は、集計、統計、グラフ
化機能を備えるアプリケーションであり、本実施例にお
いては、対応付け処理部8を起動するためのインターフ
ェースを有する。対応付け処理部8は、データ配置構造
の変換処理をする。対応付け処理部8の機能を大別する
と、データ配置構造の変換処理に必要なパラメータをユ
ーザが入力する機能、該パラメータに従いデータ配置構
造の変換処理を実行する機能、前記データ配置構造の変
換を行ったデータを前記表計算手段20に転送する機能
がある。
ーティングシステム7と、対応付け処理部8と、表計算
手段20の命令とをさらに備える。クライアント2のC
PU201は、主記憶202内のこれらの命令を実行す
る手段であり、この命令の実行により、オペレーティン
グシステム7、対応付け処理部8、表計算手段20が実
現される。オペレーティングシステム7は、前記検索、
更新等の要求コマンドの発行、及び検索したデータの授
受を制御する。表計算手段20は、集計、統計、グラフ
化機能を備えるアプリケーションであり、本実施例にお
いては、対応付け処理部8を起動するためのインターフ
ェースを有する。対応付け処理部8は、データ配置構造
の変換処理をする。対応付け処理部8の機能を大別する
と、データ配置構造の変換処理に必要なパラメータをユ
ーザが入力する機能、該パラメータに従いデータ配置構
造の変換処理を実行する機能、前記データ配置構造の変
換を行ったデータを前記表計算手段20に転送する機能
がある。
【0041】対応付け処理部8は、対応付けパラメータ
入力処理部16と、ソート処理部9と、ブロック化処理
部10と、分配化処理部11と、データ転送処理部12
とを有する。パラメータの入力処理を制御するのは対応
付けパラメータ入力処理部16であり、データ配置構造
の変換処理を行うのがソート処理部9、ブロック化処理
部10、分配化処理部11であり、データ転送を実行す
るのがデータ転送処理部12である。
入力処理部16と、ソート処理部9と、ブロック化処理
部10と、分配化処理部11と、データ転送処理部12
とを有する。パラメータの入力処理を制御するのは対応
付けパラメータ入力処理部16であり、データ配置構造
の変換処理を行うのがソート処理部9、ブロック化処理
部10、分配化処理部11であり、データ転送を実行す
るのがデータ転送処理部12である。
【0042】対応付けパラメータ入力処理部16は、G
UI(Graphic UserInterface)
を用いて、マウス207やキーボード205等の入力手
段により指定を受け付けた、同一データを有する複数レ
コードを1行に並べ換える処理(ブロック化処理)のた
めのブロック化パラメータ、または、1レコードの各デ
ータを複数行に配置する処理(分配化処理)のための分
配化パラメータ、ソートの昇順/降順を指定するための
ソート基準パラメータを、パラメータテーブル15に格
納する手段を持つ。
UI(Graphic UserInterface)
を用いて、マウス207やキーボード205等の入力手
段により指定を受け付けた、同一データを有する複数レ
コードを1行に並べ換える処理(ブロック化処理)のた
めのブロック化パラメータ、または、1レコードの各デ
ータを複数行に配置する処理(分配化処理)のための分
配化パラメータ、ソートの昇順/降順を指定するための
ソート基準パラメータを、パラメータテーブル15に格
納する手段を持つ。
【0043】ソート処理部9は、ブロック化処理、及び
分配化処理に先立ち必ず実行される処理部であり、ユー
ザ表22における見出しデータをキーとして、0次表1
3のレコードをソートする。
分配化処理に先立ち必ず実行される処理部であり、ユー
ザ表22における見出しデータをキーとして、0次表1
3のレコードをソートする。
【0044】ブロック化処理部10は、ソート処理部9
によりソート済の0次表13の、入力により指示された
項目のレコードについてブロック化処理を行う。並べ換
えたデータは1次表14で管理される。ブロック化処理
を行う際には、キー項目データテーブル17、キー項目
最大数テーブル18、キー項目データテーブルインデッ
クス19を用いる。
によりソート済の0次表13の、入力により指示された
項目のレコードについてブロック化処理を行う。並べ換
えたデータは1次表14で管理される。ブロック化処理
を行う際には、キー項目データテーブル17、キー項目
最大数テーブル18、キー項目データテーブルインデッ
クス19を用いる。
【0045】分配化処理部11は、ソート処理部9によ
りソート済の0次表13、あるいはブロック化処理部1
0によりブロック化処理済の1次表14の分配化処理を
行う。ブロック化処理と同様、並べ換えたデータは再び
1次表14で管理される。データ転送処理部12は、ブ
ロック化、あるいは分配化処理を行った1次表14のデ
ータを表計算手段20に転送する。また、入出力装置2
12を介して受け付けたユーザの指示により、ブロック
化、あるいは分配化処理を行って1次表14を作成する
ことなく、0次表13を表計算手段20に転送すること
もある。0次表13のデータ配置構造とユーザ表20の
データ配置構造が等しい場合は、変換処理を行う必要が
ないからである。表計算手段20は、該データをスプレ
ッドシート21上のユーザ表22に表示する。表計算手
段20にデータが渡されると、ユーザ表22の空白部分
にデータが入る。
りソート済の0次表13、あるいはブロック化処理部1
0によりブロック化処理済の1次表14の分配化処理を
行う。ブロック化処理と同様、並べ換えたデータは再び
1次表14で管理される。データ転送処理部12は、ブ
ロック化、あるいは分配化処理を行った1次表14のデ
ータを表計算手段20に転送する。また、入出力装置2
12を介して受け付けたユーザの指示により、ブロック
化、あるいは分配化処理を行って1次表14を作成する
ことなく、0次表13を表計算手段20に転送すること
もある。0次表13のデータ配置構造とユーザ表20の
データ配置構造が等しい場合は、変換処理を行う必要が
ないからである。表計算手段20は、該データをスプレ
ッドシート21上のユーザ表22に表示する。表計算手
段20にデータが渡されると、ユーザ表22の空白部分
にデータが入る。
【0046】ところで、本実施例のデータ配置構造変換
システムは、データ配置構造の変換をするために、ソー
ト処理、ブロック化処理、分配化処理を行うことを説明
したが、ほとんどの変換処理は、これら3つの処理の組
み合わせで実現することができる。以下、本実施例にお
けるブロック化変換、及び分配化変換の考え方について
詳細に説明するが、ソート処理の説明については、これ
ら2つの説明の中で適宜行うこととする。
システムは、データ配置構造の変換をするために、ソー
ト処理、ブロック化処理、分配化処理を行うことを説明
したが、ほとんどの変換処理は、これら3つの処理の組
み合わせで実現することができる。以下、本実施例にお
けるブロック化変換、及び分配化変換の考え方について
詳細に説明するが、ソート処理の説明については、これ
ら2つの説明の中で適宜行うこととする。
【0047】まず始めに、図4〜図9を用いブロック化
の考え方を説明する。ブロック化変換の一例を図4に示
す。表13Aは0次表の例であり、表14Aは1次表の
例である。0次表13Aは、項目として「地区」13A
1、「月」13A2、「生産数」13A3、「売上数」
13A4とを備える。ブロック化は、ある項目において
同一データを有する複数レコードを1つのブロックとみ
なし1行に並べ換える処理のことである。ここでは、項
目「地区」13A1のデータが等しい複数レコードを1
行に並べる場合を示している。すなわち、斜線を付して
表示した地区Aのレコード4つと、斜線を付していない
地区Bのレコード4つとが、それぞれ1次表14Aで
は、1行に並べられている。
の考え方を説明する。ブロック化変換の一例を図4に示
す。表13Aは0次表の例であり、表14Aは1次表の
例である。0次表13Aは、項目として「地区」13A
1、「月」13A2、「生産数」13A3、「売上数」
13A4とを備える。ブロック化は、ある項目において
同一データを有する複数レコードを1つのブロックとみ
なし1行に並べ換える処理のことである。ここでは、項
目「地区」13A1のデータが等しい複数レコードを1
行に並べる場合を示している。すなわち、斜線を付して
表示した地区Aのレコード4つと、斜線を付していない
地区Bのレコード4つとが、それぞれ1次表14Aで
は、1行に並べられている。
【0048】ところで、0次表13の各レコードを1行
に並べる際には、規則的に並べなくては各列の整合性を
とれなくなってしまう。そのため、ある項目のデータを
キーとし、一定の順序(例えば、昇順または降順)に整
列させる必要がある。そこで、この例では項目が、この
例では項目「月」13A2をキーとし、昇順で整列させ
ている。この例における項目「地区」13A1のように
複数レコードを識別する機能を持つ項目をブロック化キ
ー項目と呼ぶ。また、項目「月」13A2のように、ブ
ロック内の複数レコードを整列させる機能を持つ項目を
整列キー項目と呼ぶ。また、ブロック化キー項目と整列
キー項目とを合わせて単にキー項目と呼ぶ。さらに、
「地区」や「月」といったキー項目以外の「生産数」1
3A3、「売上数」13A4のような並べ換えの対象と
なる項目を、数値項目と呼ぶ。ブロック化キー項目は、
1次表14Aにおける縦方向の見出し14A1となり、
整列キー項目は1次表14Aにおける横方向の見出し1
4A2となる。そして、数値項目は、1次表14に配置
する際の、0次表13のレコードとして認識される。
に並べる際には、規則的に並べなくては各列の整合性を
とれなくなってしまう。そのため、ある項目のデータを
キーとし、一定の順序(例えば、昇順または降順)に整
列させる必要がある。そこで、この例では項目が、この
例では項目「月」13A2をキーとし、昇順で整列させ
ている。この例における項目「地区」13A1のように
複数レコードを識別する機能を持つ項目をブロック化キ
ー項目と呼ぶ。また、項目「月」13A2のように、ブ
ロック内の複数レコードを整列させる機能を持つ項目を
整列キー項目と呼ぶ。また、ブロック化キー項目と整列
キー項目とを合わせて単にキー項目と呼ぶ。さらに、
「地区」や「月」といったキー項目以外の「生産数」1
3A3、「売上数」13A4のような並べ換えの対象と
なる項目を、数値項目と呼ぶ。ブロック化キー項目は、
1次表14Aにおける縦方向の見出し14A1となり、
整列キー項目は1次表14Aにおける横方向の見出し1
4A2となる。そして、数値項目は、1次表14に配置
する際の、0次表13のレコードとして認識される。
【0049】先に述べたように、ブロック化処理に先立
ち、0次表13のレコードのソート処理を実行するが、
これは、ブロック化キー項目>整列キー項目の優先順位
でソートを行うと、規則性を持たせた並べ換えが可能と
なるためである。ここで、記号>は、左側の項目が右側
の項目よりもソートの優先順位が高いことを表してい
る。ソートの優先順位が高いとは、例えば、ある項目A
よりも、ある項目Bのソートの優先順位が高いという場
合、項目Aのデータのソート順序を崩さずに、項目Bの
データをソートすることを指す。0次表13Aは、上記
規則に従い、「地区」13A1>「月」13A2の優先
順位でソート済みの表である。各項目のソート基準は、
「地区」「月」共に昇順である。
ち、0次表13のレコードのソート処理を実行するが、
これは、ブロック化キー項目>整列キー項目の優先順位
でソートを行うと、規則性を持たせた並べ換えが可能と
なるためである。ここで、記号>は、左側の項目が右側
の項目よりもソートの優先順位が高いことを表してい
る。ソートの優先順位が高いとは、例えば、ある項目A
よりも、ある項目Bのソートの優先順位が高いという場
合、項目Aのデータのソート順序を崩さずに、項目Bの
データをソートすることを指す。0次表13Aは、上記
規則に従い、「地区」13A1>「月」13A2の優先
順位でソート済みの表である。各項目のソート基準は、
「地区」「月」共に昇順である。
【0050】以上に述べた図4の例では、ブロック化キ
ー項目、整列キー項目が1つずつの場合についてであっ
たが、ブロック化キー項目、整列キー項目は複数指定す
ることも可能である。以下、それぞれの場合について例
を挙げて説明する。
ー項目、整列キー項目が1つずつの場合についてであっ
たが、ブロック化キー項目、整列キー項目は複数指定す
ることも可能である。以下、それぞれの場合について例
を挙げて説明する。
【0051】ブロック化キー項目が複数ある場合のブロ
ック化変換の一例を図5に示す。13Bは0次表の例で
あり、14Bは1次表の例である。0次表13Bは、項
目として「地区」13B1、「商品名」13B2、
「月」13B3、「生産数」13B4、「売上数」13
B5を備える。なお、図5に示した例では、0次表13
Bにおいて、項目「地区」13B1、及び項目「商品
名」13B2をブロック化キー項目とし、項目「月」1
3B3を整列キー項目、項目「生産数」13B4と項目
「売上数」13B5を数値項目として定義してある。項
目「地区」13B1と項目「商品名」13B2をブロッ
ク化キー項目としているため、1次表14Bでは、「地
区」と「商品名」のデータの組み合わせが等しい複数レ
コードを1つのブロックとみなし1行に配置される。例
えば、0次表13Bにおいて斜線を付して図示したデー
タは、項目「地区」が「A」であり、「商品名」が「テ
レビ」であって、一つのブロックをなす。ゆえに、これ
らのデータは、1次表14Bでは、1行(斜線を付して
図示)に配置されることになる。また、配置する際には
項目「月」13B3を並べ換えキー項目とし昇順に整列
させている。図4に示した例と同様、ブロック化キー項
目は1次表14Bにおける行の見出し(縦方向の見出
し)14B1、14B2となり、整列キー項目は1次表
14Bにおける列の見出し(横方向の見出し)14B3
となっている。
ック化変換の一例を図5に示す。13Bは0次表の例で
あり、14Bは1次表の例である。0次表13Bは、項
目として「地区」13B1、「商品名」13B2、
「月」13B3、「生産数」13B4、「売上数」13
B5を備える。なお、図5に示した例では、0次表13
Bにおいて、項目「地区」13B1、及び項目「商品
名」13B2をブロック化キー項目とし、項目「月」1
3B3を整列キー項目、項目「生産数」13B4と項目
「売上数」13B5を数値項目として定義してある。項
目「地区」13B1と項目「商品名」13B2をブロッ
ク化キー項目としているため、1次表14Bでは、「地
区」と「商品名」のデータの組み合わせが等しい複数レ
コードを1つのブロックとみなし1行に配置される。例
えば、0次表13Bにおいて斜線を付して図示したデー
タは、項目「地区」が「A」であり、「商品名」が「テ
レビ」であって、一つのブロックをなす。ゆえに、これ
らのデータは、1次表14Bでは、1行(斜線を付して
図示)に配置されることになる。また、配置する際には
項目「月」13B3を並べ換えキー項目とし昇順に整列
させている。図4に示した例と同様、ブロック化キー項
目は1次表14Bにおける行の見出し(縦方向の見出
し)14B1、14B2となり、整列キー項目は1次表
14Bにおける列の見出し(横方向の見出し)14B3
となっている。
【0052】ところで、ブロック化キー項目が複数ある
場合においても、ブロック化処理に先立ち、ブロック化
キー項目>整列キー項目の優先順位でソート処理を行う
必要がある。ただし、図5の例のようにブロック化キー
項目が複数ある場合は、1次表14で、より左側に配置
する項目(この場合は項目「地区」13B1)の優先順
位を高くする。なお、ここで、項目「商品名」13B2
のデータの順序がテレビ、ラジオ、洗濯機となっている
が、本実施例においては、これがソートの昇順であると
する。0次表13Bは、上記規則に従い、「地区」13
B1>「商品名」13B2>「月」13B3の優先順位
でソート済の表である。各項目のソート基準は、「地
区」「商品名」「月」共に昇順である。
場合においても、ブロック化処理に先立ち、ブロック化
キー項目>整列キー項目の優先順位でソート処理を行う
必要がある。ただし、図5の例のようにブロック化キー
項目が複数ある場合は、1次表14で、より左側に配置
する項目(この場合は項目「地区」13B1)の優先順
位を高くする。なお、ここで、項目「商品名」13B2
のデータの順序がテレビ、ラジオ、洗濯機となっている
が、本実施例においては、これがソートの昇順であると
する。0次表13Bは、上記規則に従い、「地区」13
B1>「商品名」13B2>「月」13B3の優先順位
でソート済の表である。各項目のソート基準は、「地
区」「商品名」「月」共に昇順である。
【0053】整列キー項目が複数ある場合のブロック化
変換の一例を図6に示す。これは、上述の0次表13B
に、図5に示した例とは異なるキー項目を設定して1次
表14Cに変換する例である。0次表13Bにおいて、
項目「地区」13B1をブロック化キー項目、項目「商
品名」13B2、項目「月」13B3を整列キー項目、
項目「生産数」13B4と項目「売上数」13B5とを
数値項目としている。項目「地区」13B1をブロック
化キー項目としているため、1次表14Cでは「地区」
のデータが等しい複数レコードを1行に配置している。
例えば、項目「地区」13B1が「A」のレコード(斜
線を付して図示)は、1次表14Cでは1行(斜線を付
して図示)に表示される。また、配置する際には、項目
「商品名」13B2と項目「月」13B3とを並べ換え
キー項目とし、昇順に整列させている。すなわち、ま
ず、レコードは項目「商品名」13B2により整列さ
れ、「商品名」の等しいレコードについては、項目
「月」13B3に応じて整列され、「商品名」の順序を
崩さないように配置される。なお、本実施例では「商品
名」のデータは、テレビ、ラジオ、洗濯機の順を昇順と
する。図4、図5と同様、ブロック化キー項目は前記1
次表14Cの行の見出し(縦方向の見出し)14C1と
なり、整列キー項目は列の見出し(横方向の見出し)1
4C2、14C3となる。
変換の一例を図6に示す。これは、上述の0次表13B
に、図5に示した例とは異なるキー項目を設定して1次
表14Cに変換する例である。0次表13Bにおいて、
項目「地区」13B1をブロック化キー項目、項目「商
品名」13B2、項目「月」13B3を整列キー項目、
項目「生産数」13B4と項目「売上数」13B5とを
数値項目としている。項目「地区」13B1をブロック
化キー項目としているため、1次表14Cでは「地区」
のデータが等しい複数レコードを1行に配置している。
例えば、項目「地区」13B1が「A」のレコード(斜
線を付して図示)は、1次表14Cでは1行(斜線を付
して図示)に表示される。また、配置する際には、項目
「商品名」13B2と項目「月」13B3とを並べ換え
キー項目とし、昇順に整列させている。すなわち、ま
ず、レコードは項目「商品名」13B2により整列さ
れ、「商品名」の等しいレコードについては、項目
「月」13B3に応じて整列され、「商品名」の順序を
崩さないように配置される。なお、本実施例では「商品
名」のデータは、テレビ、ラジオ、洗濯機の順を昇順と
する。図4、図5と同様、ブロック化キー項目は前記1
次表14Cの行の見出し(縦方向の見出し)14C1と
なり、整列キー項目は列の見出し(横方向の見出し)1
4C2、14C3となる。
【0054】ところで、整列キー項目が複数ある場合に
おいても、ブロック化処理に先立ち、ブロック化キー項
目>整列キー項目の優先順位でソート処理を行う必要が
ある。ただし、図6の例のように、整列キー項目が複数
ある場合は、1次表14で、より上側に配置する項目
(この場合は項目「商品名」13B2)の優先順位を高
くする。0次表13Bは、上記規則に従い、「地区」1
3B1>「商品名」13B2>「月」13B3の優先順
位でソート済の表である。各項目のソート基準は、図5
と同様、「地区」「商品名」「月」共に昇順である。
おいても、ブロック化処理に先立ち、ブロック化キー項
目>整列キー項目の優先順位でソート処理を行う必要が
ある。ただし、図6の例のように、整列キー項目が複数
ある場合は、1次表14で、より上側に配置する項目
(この場合は項目「商品名」13B2)の優先順位を高
くする。0次表13Bは、上記規則に従い、「地区」1
3B1>「商品名」13B2>「月」13B3の優先順
位でソート済の表である。各項目のソート基準は、図5
と同様、「地区」「商品名」「月」共に昇順である。
【0055】図4、図5、図6の3つの例では、ブロッ
ク化処理に先立ち実施するソート処理において、一般に
広く用いられているソート基準に従う場合について示し
た。つまり、(1、2、…)や、(A、B、…)等のソ
ート基準でソートを行う場合について示した。しかし、
本実施例のソート処理部9では、この他に、ユーザが任
意のソート基準を指定できる機能もサポートしている。
ク化処理に先立ち実施するソート処理において、一般に
広く用いられているソート基準に従う場合について示し
た。つまり、(1、2、…)や、(A、B、…)等のソ
ート基準でソートを行う場合について示した。しかし、
本実施例のソート処理部9では、この他に、ユーザが任
意のソート基準を指定できる機能もサポートしている。
【0056】以下、図7を用いて、上記ユーザによる任
意のソート基準の指定機能について説明する。13Q
は、0次表13Pをソートした結果の0次表である。こ
こでは、項目「地区」13P1に対して、昇順、降順以
外のソート基準である、(C、A、B)といったランダ
ムなソート基準を設定している例を示している。以後、
この任意のソート基準を、ユーザ指定順序70と呼ぶ。
項目「月」13P2のソート基準は昇順である。
意のソート基準の指定機能について説明する。13Q
は、0次表13Pをソートした結果の0次表である。こ
こでは、項目「地区」13P1に対して、昇順、降順以
外のソート基準である、(C、A、B)といったランダ
ムなソート基準を設定している例を示している。以後、
この任意のソート基準を、ユーザ指定順序70と呼ぶ。
項目「月」13P2のソート基準は昇順である。
【0057】ところで、図4、図5、図6の3つの例で
は、1次表14が0次表13の各レコードによりもれな
く変換できる場合、すなわち、1次表14の行の見出
し、列の見出しに相当するレコードが0次表13に全て
存在する場合を示した。しかし、0次表13のレコード
によっては、変換が不可能な場合、あるいは、変換に該
当するレコードが0次表13に存在しない場合もありう
る。ここで、変換が不可能な場合というのは、行の見出
し、列の見出しに相当する項目が同じであるレコードが
複数あるということであり、0次表13に該当するレコ
ードがないというのは、1次表14の行の見出し、列の
見出しに相当する項目を持つレコードがないということ
である。これらの場合については、以下に示すブロック
化におけるチェック機能で対応する。
は、1次表14が0次表13の各レコードによりもれな
く変換できる場合、すなわち、1次表14の行の見出
し、列の見出しに相当するレコードが0次表13に全て
存在する場合を示した。しかし、0次表13のレコード
によっては、変換が不可能な場合、あるいは、変換に該
当するレコードが0次表13に存在しない場合もありう
る。ここで、変換が不可能な場合というのは、行の見出
し、列の見出しに相当する項目が同じであるレコードが
複数あるということであり、0次表13に該当するレコ
ードがないというのは、1次表14の行の見出し、列の
見出しに相当する項目を持つレコードがないということ
である。これらの場合については、以下に示すブロック
化におけるチェック機能で対応する。
【0058】ブロック化におけるチェック機能を図8を
用いて説明する。ブロック化処理部10は、0次表13
のキー項目のデータの組み合わせを検査し、キー項目の
設定の整合性を判定する。これが、ブロック化における
チェック機能である。キー項目のデータの組み合わせと
は、0次表13の1レコードにおける全てのブロック化
キー項目と全ての整列キー項目のデータの組み合わせの
ことである。なお、ブロック化処理部10は、キー項目
のデータの組み合わせが重複する場合はエラーとし。不
足する場合は1次表の該当する箇所にブランクデータを
挿入する。
用いて説明する。ブロック化処理部10は、0次表13
のキー項目のデータの組み合わせを検査し、キー項目の
設定の整合性を判定する。これが、ブロック化における
チェック機能である。キー項目のデータの組み合わせと
は、0次表13の1レコードにおける全てのブロック化
キー項目と全ての整列キー項目のデータの組み合わせの
ことである。なお、ブロック化処理部10は、キー項目
のデータの組み合わせが重複する場合はエラーとし。不
足する場合は1次表の該当する箇所にブランクデータを
挿入する。
【0059】ブロック化処理部10によりエラーとされ
る場合の例を図8(a)に示す。13Hは0次表であ
り、14Hは1次表である。この例では、項目「地区」
13H1をブロック化キー項目、項目「月」13H2を
整列キー項目、項目「生産数」13H3と項目「売上
数」13H4とが数値項目として定義されている。例え
ば、図8(a)の0次表13Hにおける キー項目デー
タの組み合わせは、順に(A、4)、(A、4)、
(B、4)、(B、5)であり、(A、4)の組み合わ
せが2個ある(斜線を付して図示)。このように重複し
た組み合わせがある場合、1示表14に変換しようとす
ると、2つのレコードが同じ見出しの場所に重複して存
在することになり、変換は不可能である。そこで、ブロ
ック化処理部10は、組み合わせの検査処理において、
これを検出し、このようなキー項目の設定には整合性が
ないとしてエラーとする。
る場合の例を図8(a)に示す。13Hは0次表であ
り、14Hは1次表である。この例では、項目「地区」
13H1をブロック化キー項目、項目「月」13H2を
整列キー項目、項目「生産数」13H3と項目「売上
数」13H4とが数値項目として定義されている。例え
ば、図8(a)の0次表13Hにおける キー項目デー
タの組み合わせは、順に(A、4)、(A、4)、
(B、4)、(B、5)であり、(A、4)の組み合わ
せが2個ある(斜線を付して図示)。このように重複し
た組み合わせがある場合、1示表14に変換しようとす
ると、2つのレコードが同じ見出しの場所に重複して存
在することになり、変換は不可能である。そこで、ブロ
ック化処理部10は、組み合わせの検査処理において、
これを検出し、このようなキー項目の設定には整合性が
ないとしてエラーとする。
【0060】ブロック化処理部10によりブランクデー
タが挿入される場合の例を図8(b)に示す。13Iは
0次表であり、14Iは1次表である。この例では、項
目「地区」13I1をブロック化キー項目、項目「月」
13I2を整列キー項目、項目「生産数」13I3と項
目「売上数」13I4とを数値項目としている。図8
(b)の0次表Iにおけるキー項目のデータの組み合わ
せとは、順に(A、4)、(A、5)、(B、6)、
(B、6)である。一方、1次表14Iの行の見出しは
AとB、列の見出しは4、5、6となるので、見出しの
組み合わせは、順に(A、4)、(A、5)、(A、
6)、(B、4)、(B、5)、(B、6)である。そ
こで、キー項目のデータの組み合わせと、見出しの組み
合わせとを比べると、キー項目のデータの組み合わせ
に、(A、6)、(B、4)の組み合わせが不足してい
ることがわかる。そこで、ブロック化処理部10は、該
当するデータがない箇所14I1〜14I4には、デー
タなしを意味するブランクデータを挿入する。
タが挿入される場合の例を図8(b)に示す。13Iは
0次表であり、14Iは1次表である。この例では、項
目「地区」13I1をブロック化キー項目、項目「月」
13I2を整列キー項目、項目「生産数」13I3と項
目「売上数」13I4とを数値項目としている。図8
(b)の0次表Iにおけるキー項目のデータの組み合わ
せとは、順に(A、4)、(A、5)、(B、6)、
(B、6)である。一方、1次表14Iの行の見出しは
AとB、列の見出しは4、5、6となるので、見出しの
組み合わせは、順に(A、4)、(A、5)、(A、
6)、(B、4)、(B、5)、(B、6)である。そ
こで、キー項目のデータの組み合わせと、見出しの組み
合わせとを比べると、キー項目のデータの組み合わせ
に、(A、6)、(B、4)の組み合わせが不足してい
ることがわかる。そこで、ブロック化処理部10は、該
当するデータがない箇所14I1〜14I4には、デー
タなしを意味するブランクデータを挿入する。
【0061】このように、ブロック化におけるチェック
では、キー項目のデータの組み合わせに重複があるとき
にはエラーとし、キー項目の組み合わせに該当するレコ
ードがないときには、1次表14にブランクデータを挿
入する。
では、キー項目のデータの組み合わせに重複があるとき
にはエラーとし、キー項目の組み合わせに該当するレコ
ードがないときには、1次表14にブランクデータを挿
入する。
【0062】以上説明したブロック化変換の考え方は、
図9に示すような一般的な表現で表すことができる。以
下、図9を用いてブロック化に必要なパラメータとそれ
らパラメータにより変換可能な表形式の説明をする。
図9に示すような一般的な表現で表すことができる。以
下、図9を用いてブロック化に必要なパラメータとそれ
らパラメータにより変換可能な表形式の説明をする。
【0063】まず始めに、ブロック化に必要なパラメー
タの説明をする。0次表13を一般化して表現すると表
13Jのように図示することができる。また、1次表1
4を一般化して表現すると表14Jのように図示するこ
とができる。0次表13Jにおいて、項目「A」13J
1、「B」13J2…、「C」13Jvをブロック化キ
ー項目とし、項目「D」13J4、…、「E」13Jw
を整列キー項目とし、項目「F」13J6、…、「G」
13Jhを数値項目とする。ここで、項目「A」、
「B」、…、「C」はv個、項目「D」、…、「E」は
w個、項目「F」、…、「G」はh個あるとする。1次
表14Jにおいて、項目14J1、14J2、…、14
Jvは行の見出し(縦方向の見出し)となる項目であ
り、項目14J4、14Jwは列の見出し(横方向の見
出し)となる項目である。また、14J6、14Jhは
数値項目である。なお、図9においては、図の表現を簡
潔にするため、1次表14Jの見出しの構成を、行、列
共、3段階として図示した。
タの説明をする。0次表13を一般化して表現すると表
13Jのように図示することができる。また、1次表1
4を一般化して表現すると表14Jのように図示するこ
とができる。0次表13Jにおいて、項目「A」13J
1、「B」13J2…、「C」13Jvをブロック化キ
ー項目とし、項目「D」13J4、…、「E」13Jw
を整列キー項目とし、項目「F」13J6、…、「G」
13Jhを数値項目とする。ここで、項目「A」、
「B」、…、「C」はv個、項目「D」、…、「E」は
w個、項目「F」、…、「G」はh個あるとする。1次
表14Jにおいて、項目14J1、14J2、…、14
Jvは行の見出し(縦方向の見出し)となる項目であ
り、項目14J4、14Jwは列の見出し(横方向の見
出し)となる項目である。また、14J6、14Jhは
数値項目である。なお、図9においては、図の表現を簡
潔にするため、1次表14Jの見出しの構成を、行、列
共、3段階として図示した。
【0064】ここで、本実施例では、ブロック化キー項
目13J1、13J2、…13Jvのうち、1次表14
Jにおいて最も左側に位置づけるキー項目14J1を第
1ブロック化キー項目と名付け、左から順に、キー項目
14J2を第2ブロック化キー項目、…、キー項目14
Jvを第vブロック化キー項目と名付ける。同様に、本
実施例では、整列キー項目13J4、…、13Jwのう
ち、1次表14Jにおいて、最も上側に位置づけられる
整列キー項目14J4を第1整列キー項目とし、上から
w番目に位置づけられるキー項目14Jwを第w整列キ
ー項目と名付ける。また、本実施例では、数値項目13
J6、13Jhのうち、1次表14Jにおいて最も左側
に位置づける数値項目14J6を第1数値項目と名付
け、以下、左から順に、第2数値項目、…、第h数値項
目14Jhと名付ける。
目13J1、13J2、…13Jvのうち、1次表14
Jにおいて最も左側に位置づけるキー項目14J1を第
1ブロック化キー項目と名付け、左から順に、キー項目
14J2を第2ブロック化キー項目、…、キー項目14
Jvを第vブロック化キー項目と名付ける。同様に、本
実施例では、整列キー項目13J4、…、13Jwのう
ち、1次表14Jにおいて、最も上側に位置づけられる
整列キー項目14J4を第1整列キー項目とし、上から
w番目に位置づけられるキー項目14Jwを第w整列キ
ー項目と名付ける。また、本実施例では、数値項目13
J6、13Jhのうち、1次表14Jにおいて最も左側
に位置づける数値項目14J6を第1数値項目と名付
け、以下、左から順に、第2数値項目、…、第h数値項
目14Jhと名付ける。
【0065】したがって、本実施例では、ブロック化の
パラメータとして必要な情報は、第1ブロック化キー項
目名、…、第vブロック化キー項目名、第1整列キー項
目名、…、第w整列キー項目名、第1数値項目名、…、
第h数値項目名と表現することができる。
パラメータとして必要な情報は、第1ブロック化キー項
目名、…、第vブロック化キー項目名、第1整列キー項
目名、…、第w整列キー項目名、第1数値項目名、…、
第h数値項目名と表現することができる。
【0066】ところで、ブロック化処理に先立ち各キー
項目によるソート処理を行うことを先に述べたが、これ
ら各項目名に付けた番号は、前記ソート処理において、
各キー項目のソートの優先順位を判断するために用い
る。つまり、第1ブロック化キー項目>…>第vブロッ
ク化キー項目>第1整列キー項目>…>第w整列キー項
目の順位でソートを行う。
項目によるソート処理を行うことを先に述べたが、これ
ら各項目名に付けた番号は、前記ソート処理において、
各キー項目のソートの優先順位を判断するために用い
る。つまり、第1ブロック化キー項目>…>第vブロッ
ク化キー項目>第1整列キー項目>…>第w整列キー項
目の順位でソートを行う。
【0067】以上示した、第1ブロック化キー項目名…
第vブロック化キー項目名、第1整列キー項目名、…、
第w整列キー項目名、第1数値項目名、…、第h数値項
目名をブロック化のパラメータとすることにより、任意
のブロック化変換が可能である。
第vブロック化キー項目名、第1整列キー項目名、…、
第w整列キー項目名、第1数値項目名、…、第h数値項
目名をブロック化のパラメータとすることにより、任意
のブロック化変換が可能である。
【0068】次に、図10〜図13を用い分配化の考え
方について説明する。
方について説明する。
【0069】分配化変換の一例を図10に示す。表13
Dは0次表であり、表14D1及び表14D2は、1次
表である。0次表13Dは、項目「商品コード」13D
1、項目「4月生産数」13D2、項目「4月売上数」
13D3、項目「5月生産数」13D4、項目「5月売
上数」13D5から構成される。「商品コード」13D
1は、分配化に先立ち実行するソート処理において、ソ
ートキーとなる項目である。分配化では、この項目を特
に分配化キー項目と呼ぶ。
Dは0次表であり、表14D1及び表14D2は、1次
表である。0次表13Dは、項目「商品コード」13D
1、項目「4月生産数」13D2、項目「4月売上数」
13D3、項目「5月生産数」13D4、項目「5月売
上数」13D5から構成される。「商品コード」13D
1は、分配化に先立ち実行するソート処理において、ソ
ートキーとなる項目である。分配化では、この項目を特
に分配化キー項目と呼ぶ。
【0070】分配は、1レコード(0次表の1行に表さ
れる全データ群)の各データを複数行にわたって表現す
ることである。0次表13Dにおいて考えられる分配の
方法は2通りある。1次表14D1は、商品コード13
D1のデータ別に、月毎の生産数と売上数を縦並びで表
現した場合であり、1次表14D2は、同様に生産数、
売上数の月毎の数値を縦並びで表現した場合である。い
ずれの場合も、0次表13Dの1レコード(例えば、斜
線を付した部分)が、1次表14D1、14D2では2
行(斜線を付して図示)に表現されている。 分配を行
う可能性のある項目の特徴としては、項目に2つ以上の
意味が含まれるということが挙げられる。すなわち、た
だ単に生産数という意味だけでなく、4月の生産数、5
月の生産数という限定条件が加わるのである。以後、
「4月生産数」13D2、「4月売上数」13D2、
「5月生産数」13D4、「5月売上数」13D5等の
分配の対象とする項目を分配対象項目と呼ぶ。また、全
ての分配対象項目の数を分配対象項目数と呼ぶ。
れる全データ群)の各データを複数行にわたって表現す
ることである。0次表13Dにおいて考えられる分配の
方法は2通りある。1次表14D1は、商品コード13
D1のデータ別に、月毎の生産数と売上数を縦並びで表
現した場合であり、1次表14D2は、同様に生産数、
売上数の月毎の数値を縦並びで表現した場合である。い
ずれの場合も、0次表13Dの1レコード(例えば、斜
線を付した部分)が、1次表14D1、14D2では2
行(斜線を付して図示)に表現されている。 分配を行
う可能性のある項目の特徴としては、項目に2つ以上の
意味が含まれるということが挙げられる。すなわち、た
だ単に生産数という意味だけでなく、4月の生産数、5
月の生産数という限定条件が加わるのである。以後、
「4月生産数」13D2、「4月売上数」13D2、
「5月生産数」13D4、「5月売上数」13D5等の
分配の対象とする項目を分配対象項目と呼ぶ。また、全
ての分配対象項目の数を分配対象項目数と呼ぶ。
【0071】ところで、ブロック化と同様、分配化キー
項目を複数指定することも可能である。
項目を複数指定することも可能である。
【0072】図11に、分配化キー項目が複数ある場合
の一例を示す。13Rは0次表であり、14Rは1次表
である。0次表13Rにおいて、項目「地区」13R
1、項目「商品名」13R2は、分配化キー項目であ
り、項目「4月生産数」13R3、項目「4月売上数」
13R4、項目「5月生産数」13R5、項目「5月売
上数」13R6は分配化対象項目である。先にブロック
化で説明したように、分配化においても、ソート時に、
各キー項目によるソートの優先順位を判断する必要があ
る。即ち、1次表14Rにおいて、より左側に配置する
項目のソートの優先順位を高くする必要がある。ブロッ
ク化と同様、1次表14に配置する位置を識別するため
に、最も左側に配置する分配化キー項目から順に、第1
分配化キー項目、第2分配化キー項目…と呼ぶことにす
る。この例の場合、「地区」13R1が第1分配化キー
項目であり、「商品名」13R2が第2分配化キー項目
となる。
の一例を示す。13Rは0次表であり、14Rは1次表
である。0次表13Rにおいて、項目「地区」13R
1、項目「商品名」13R2は、分配化キー項目であ
り、項目「4月生産数」13R3、項目「4月売上数」
13R4、項目「5月生産数」13R5、項目「5月売
上数」13R6は分配化対象項目である。先にブロック
化で説明したように、分配化においても、ソート時に、
各キー項目によるソートの優先順位を判断する必要があ
る。即ち、1次表14Rにおいて、より左側に配置する
項目のソートの優先順位を高くする必要がある。ブロッ
ク化と同様、1次表14に配置する位置を識別するため
に、最も左側に配置する分配化キー項目から順に、第1
分配化キー項目、第2分配化キー項目…と呼ぶことにす
る。この例の場合、「地区」13R1が第1分配化キー
項目であり、「商品名」13R2が第2分配化キー項目
となる。
【0073】図12を用いて分配化に必要なパラメータ
を説明する。0次表における1レコードの例として、図
12(a)にレコード13Mを示す。また、13Mに対
応する分配化後の1次表の複数レコードを14Mとして
図12(b)に図示する。ここで、項目「A」13M
1、…、項目「B」13M2のm個の項目は、先に説明
した分配化キー項目であり、分配化に先立ち実施するソ
ート処理の際の並べ換えキー項目となる。
を説明する。0次表における1レコードの例として、図
12(a)にレコード13Mを示す。また、13Mに対
応する分配化後の1次表の複数レコードを14Mとして
図12(b)に図示する。ここで、項目「A」13M
1、…、項目「B」13M2のm個の項目は、先に説明
した分配化キー項目であり、分配化に先立ち実施するソ
ート処理の際の並べ換えキー項目となる。
【0074】本実施例では、分配時には、まず分配対象
項目の指定が受け付けられる。ここでは、項目「C」1
3M3、…、項目「G」13Mgのn個が分配対象項目
として指定された場合を例にとって説明する。次に、本
実施例では、1レコードに含まれるデータのうち、分配
化後の1次表において1行に含まれるデータの数pと、
1列に含まれるデータの数qとが受け付けられる。
項目の指定が受け付けられる。ここでは、項目「C」1
3M3、…、項目「G」13Mgのn個が分配対象項目
として指定された場合を例にとって説明する。次に、本
実施例では、1レコードに含まれるデータのうち、分配
化後の1次表において1行に含まれるデータの数pと、
1列に含まれるデータの数qとが受け付けられる。
【0075】分配化を行うためには、分配化の対象の0
次表13の各項目が、分割できる2個以上の条件から成
り立っていなければならない。また、各項目は、図13
(a)に示すように、その項目の含んでいる条件をキー
としてソートした形で規則的に並んでいなければならな
い。図13(b)は、分配化の可能な0次表13の例を
1レコードを13Nとして図示したものである。ここ
で、1〜3及びA〜Bは、それぞれ分割可能な条件を示
す。また、ここで、「・」は条件の併合を示し、例えば
「1・A」は「1」という条件と「A」という条件とを
同時に満たすデータであることを示している。
次表13の各項目が、分割できる2個以上の条件から成
り立っていなければならない。また、各項目は、図13
(a)に示すように、その項目の含んでいる条件をキー
としてソートした形で規則的に並んでいなければならな
い。図13(b)は、分配化の可能な0次表13の例を
1レコードを13Nとして図示したものである。ここ
で、1〜3及びA〜Bは、それぞれ分割可能な条件を示
す。また、ここで、「・」は条件の併合を示し、例えば
「1・A」は「1」という条件と「A」という条件とを
同時に満たすデータであることを示している。
【0076】図13(a)に示す0次表13の分配には
2通り考えられる。すなわち、0次表13のレコード1
3Nの各項目のデータを、左から順に1次表14の各デ
ータ領域に格納する際に、横に連続して格納することな
く、次の行の左端の領域に格納した後、その縦の並びを
横に繰り返す分配と、横に2つのデータを連続して格納
した後、下の行に下がり、その行の左端から、連続して
2データを格納することを繰り返す分配とがある。それ
ぞれの分配の結果生成される1次表14を、図13
(b)と(c)とに示す。図13(b)は、横に並べる
項目として、条件1〜3を選択した場合に生成される1
次表14であり、図13(c)は、横に並べる項目とし
て、条件A〜Bを選択した場合に生成される1次表14
である。また、図13(b)と(c)とに示した矢印
は、データを格納されるデータの、0次表のレコード1
3Nにおける左端からの順序を示している。
2通り考えられる。すなわち、0次表13のレコード1
3Nの各項目のデータを、左から順に1次表14の各デ
ータ領域に格納する際に、横に連続して格納することな
く、次の行の左端の領域に格納した後、その縦の並びを
横に繰り返す分配と、横に2つのデータを連続して格納
した後、下の行に下がり、その行の左端から、連続して
2データを格納することを繰り返す分配とがある。それ
ぞれの分配の結果生成される1次表14を、図13
(b)と(c)とに示す。図13(b)は、横に並べる
項目として、条件1〜3を選択した場合に生成される1
次表14であり、図13(c)は、横に並べる項目とし
て、条件A〜Bを選択した場合に生成される1次表14
である。また、図13(b)と(c)とに示した矢印
は、データを格納されるデータの、0次表のレコード1
3Nにおける左端からの順序を示している。
【0077】このように、0次表のレコード中のデータ
を、1行(1レコード)の左端から右端まで順に、1次
表14の各項目のデータ領域へ対応付ける際の、データ
の対応付けの順番を、ここでは次のように考える。ま
ず、1次表における1行の対応付けが終わると改行して
1次表の次の行の対応付けを行う。さらに、表の最下行
へのp個のデータの対応付けが終わって、さらに対応付
けるべきデータがある場合は、さらに改行して対応付け
の行を先頭行に戻し、各行の対応付けを、対応付けるべ
きデータが無くなるまで繰り返す。
を、1行(1レコード)の左端から右端まで順に、1次
表14の各項目のデータ領域へ対応付ける際の、データ
の対応付けの順番を、ここでは次のように考える。ま
ず、1次表における1行の対応付けが終わると改行して
1次表の次の行の対応付けを行う。さらに、表の最下行
へのp個のデータの対応付けが終わって、さらに対応付
けるべきデータがある場合は、さらに改行して対応付け
の行を先頭行に戻し、各行の対応付けを、対応付けるべ
きデータが無くなるまで繰り返す。
【0078】このように考えたとき、pは、改行するま
でに1行に並べるデータの個数を指す。図13(b)で
は、1データで改行するため、pは1になり、図13
(c)では、1行に2データ並べてから改行するため、
pは2になる。また、qは、先頭行から最終行までの、
改行の回数に1を足した数を指す。図13(b)では、
1回の改行で最終行に達するため、qは2になり、図1
3(c)では、2回の改行で最終行に達するため、qは
3になる。
でに1行に並べるデータの個数を指す。図13(b)で
は、1データで改行するため、pは1になり、図13
(c)では、1行に2データ並べてから改行するため、
pは2になる。また、qは、先頭行から最終行までの、
改行の回数に1を足した数を指す。図13(b)では、
1回の改行で最終行に達するため、qは2になり、図1
3(c)では、2回の改行で最終行に達するため、qは
3になる。
【0079】本実施例においては、分配化処理のため
に、分配対象項目と、上述のp及びqとが指定される必
要がある。本実施例では、分配化でのデータ並べ換え処
理は、分配対象項目の各データを、繰り返しの単位とな
る数であるp、qを利用して並べ換える。そのため、並
べ換え元レコードの分配対象項目の並び方には規則性を
持たせておく必要がある。0次表13D(図10に図
示)は、分配対象項目である「4月生産数」、「4月売
上数」、「5月生産数」、「5月売上数」が規則的に並
んでいるため、パラメータp、qにより意味のある分配
化を行うことができる例である。ここで、例えば、分配
対象項目を「4月生産数」、「5月売上数」、「4月売
上数」、「5月生産数」と並べた場合、規則性がないた
め意味のある分配化を行うことができない。これら分配
対象項目の並び方をパラメータで識別するために、各分
配対象項目を左から順に第1分配対象項目、…、第n分
配対象項目と名付ける。
に、分配対象項目と、上述のp及びqとが指定される必
要がある。本実施例では、分配化でのデータ並べ換え処
理は、分配対象項目の各データを、繰り返しの単位とな
る数であるp、qを利用して並べ換える。そのため、並
べ換え元レコードの分配対象項目の並び方には規則性を
持たせておく必要がある。0次表13D(図10に図
示)は、分配対象項目である「4月生産数」、「4月売
上数」、「5月生産数」、「5月売上数」が規則的に並
んでいるため、パラメータp、qにより意味のある分配
化を行うことができる例である。ここで、例えば、分配
対象項目を「4月生産数」、「5月売上数」、「4月売
上数」、「5月生産数」と並べた場合、規則性がないた
め意味のある分配化を行うことができない。これら分配
対象項目の並び方をパラメータで識別するために、各分
配対象項目を左から順に第1分配対象項目、…、第n分
配対象項目と名付ける。
【0080】ところで、実際に分配化が可能であるのか
を上記パラメータを用いチェックする必要がある。分配
化処理部11におけるチェックについて以下で説明す
る。パラメータpとパラメータqにより全分配対象項目
における繰り返しの最小単位(p×q)がわかるが、こ
こではその数をr(=p×q)とする。すなわち、r
は、最初に最終行に達して先頭行への改行をするまでに
対応づけられるデータの数ということになる。分配対象
項目数がnであるので分配の繰り返し数は、n÷rの解
であるa個となる。ここでaが正の整数ならば分配は可
能であるが、それ以外の場合は分配は不可能である。そ
こで、aが正の整数でない場合、分配化処理部11は、
これをエラーとする。
を上記パラメータを用いチェックする必要がある。分配
化処理部11におけるチェックについて以下で説明す
る。パラメータpとパラメータqにより全分配対象項目
における繰り返しの最小単位(p×q)がわかるが、こ
こではその数をr(=p×q)とする。すなわち、r
は、最初に最終行に達して先頭行への改行をするまでに
対応づけられるデータの数ということになる。分配対象
項目数がnであるので分配の繰り返し数は、n÷rの解
であるa個となる。ここでaが正の整数ならば分配は可
能であるが、それ以外の場合は分配は不可能である。そ
こで、aが正の整数でない場合、分配化処理部11は、
これをエラーとする。
【0081】図10、及び図11の具体例に関する分配
化パラメータ例を図14に示す。0次表13Dの項目群
13Lのうち、分配化キー項目は、「商品コード」13
L1であり、分配対象項目は、第1分配対象項目から第
4分配対象項目まで順に、「4月生産数」13L2、
「4月売上数」13L3、「5月売上数」13L4、
「5月生産数」13L5であり、分配対象項目数nは4
である。また、0次表13Rの項目群13Rのうち、分
配化キー項目は、第1分配化キー項目から第2分配化キ
ー項目まで順に、「地区」13R1、「商品名」13R
2であり、分配対象項目は、第1分配対象項目から第4
分配対象項目まで順に、「4月生産数」13R3、「4
月売上数」13R4、「5月生産数」13R5、「5月
売上数」13R6であり、分配化キー項目数nは4であ
る。なお、図14(a)、(b)、(c)では、最初に
最終行に達して先頭行への改行をするまでに対応づけら
れるデータについて、斜線を付して図示している。最初
に最終行に達して先頭行への改行をするまでに対応付け
られるデータ数rは、図14(a)では2、図14
(b)では4、図14(c)では2である。
化パラメータ例を図14に示す。0次表13Dの項目群
13Lのうち、分配化キー項目は、「商品コード」13
L1であり、分配対象項目は、第1分配対象項目から第
4分配対象項目まで順に、「4月生産数」13L2、
「4月売上数」13L3、「5月売上数」13L4、
「5月生産数」13L5であり、分配対象項目数nは4
である。また、0次表13Rの項目群13Rのうち、分
配化キー項目は、第1分配化キー項目から第2分配化キ
ー項目まで順に、「地区」13R1、「商品名」13R
2であり、分配対象項目は、第1分配対象項目から第4
分配対象項目まで順に、「4月生産数」13R3、「4
月売上数」13R4、「5月生産数」13R5、「5月
売上数」13R6であり、分配化キー項目数nは4であ
る。なお、図14(a)、(b)、(c)では、最初に
最終行に達して先頭行への改行をするまでに対応づけら
れるデータについて、斜線を付して図示している。最初
に最終行に達して先頭行への改行をするまでに対応付け
られるデータ数rは、図14(a)では2、図14
(b)では4、図14(c)では2である。
【0082】0次表13Dを1次表14D1へ分配する
場合を図14(a)に示す。この場合、1レコードに含
まれるデータのうち、分配化後の1次表において1行に
含まれるデータの数pと、1列に含まれるデータの数q
とは、それぞれ14Lとして図示したように、p=1、
q=2である。また、0次表13Dを1次表14D2に
分配する場合は、図14(b)に示すように、p=2、
q=2である。さらに、0次表13Rを1次表14Rに
分配する場合は、図14(c)に示すように、p=1、
q=2である。
場合を図14(a)に示す。この場合、1レコードに含
まれるデータのうち、分配化後の1次表において1行に
含まれるデータの数pと、1列に含まれるデータの数q
とは、それぞれ14Lとして図示したように、p=1、
q=2である。また、0次表13Dを1次表14D2に
分配する場合は、図14(b)に示すように、p=2、
q=2である。さらに、0次表13Rを1次表14Rに
分配する場合は、図14(c)に示すように、p=1、
q=2である。
【0083】それぞれ、分配化におけるチェックの結
果、a(=n÷r=n÷(p×q))が正の整数となっ
ているので正しく分配化を行うことができることがわか
る。以上説明した分配化により、任意の分配化変換が可
能となる。
果、a(=n÷r=n÷(p×q))が正の整数となっ
ているので正しく分配化を行うことができることがわか
る。以上説明した分配化により、任意の分配化変換が可
能となる。
【0084】なお、目的とする1次表14において縦に
並べる項目がキー項目のみの場合は、ブロック化のみで
該1次表を実現できるが、縦に並べる項目に数値項目が
含まれている場合は、ブロック化のみでは実現できな
い。このような1次表14を作成するためには、数値項
目以外の縦に表現するキー項目をブロック化キー項目と
してブロック化変換を行って1次表14を作成した後、
さらに得られた1次表14について分配化変換を行っ
て、数値項目が縦に並ぶようにする必要がある。
並べる項目がキー項目のみの場合は、ブロック化のみで
該1次表を実現できるが、縦に並べる項目に数値項目が
含まれている場合は、ブロック化のみでは実現できな
い。このような1次表14を作成するためには、数値項
目以外の縦に表現するキー項目をブロック化キー項目と
してブロック化変換を行って1次表14を作成した後、
さらに得られた1次表14について分配化変換を行っ
て、数値項目が縦に並ぶようにする必要がある。
【0085】ブロック化済の1次表14は、複数レコー
ドを1つのブロックとしており、複数レコードが1行に
配置されている。分配化を行う際には、この1ブロック
を1レコードとみなし、上述の場合と同様のパラメータ
p、qを用いる。ただし、ブロック化後に分配化を行う
場合は、ブロック化キー項目、及び整列キー項目による
ソート処理が既に終了しているため、分配化キー項目に
ついてのソート基準パラメータは考慮する必要がない。
ドを1つのブロックとしており、複数レコードが1行に
配置されている。分配化を行う際には、この1ブロック
を1レコードとみなし、上述の場合と同様のパラメータ
p、qを用いる。ただし、ブロック化後に分配化を行う
場合は、ブロック化キー項目、及び整列キー項目による
ソート処理が既に終了しているため、分配化キー項目に
ついてのソート基準パラメータは考慮する必要がない。
【0086】ところで、数値項目を縦に並べるために
は、pを1とした分配化変換を行えば良い。pは、1レ
コードに含まれるデータのうち、分配化後の1次表にお
いて1行に含まれるデータの数であるから、pを1とす
ることにより、1レコード(すなわち、ブロック化後に
分配化する場合は、ブロック化後の1次表の1行)のデ
ータを、各数値項目ごとに改行しながら対応付けること
になり、結果として、各数値項目は、整列キー毎に縦に
並ぶことになる。また、この場合、最初に最終行に達し
て先頭行への改行をするまでに対応付けられるデータの
数(繰り返しの最小単位に含まれるデータの数)r、及
び、1レコード中の1列に含まれるデータの数qは、数
値項目の数と一致する。1行に含まれるデータの数が1
であり、各数値項目のデータは1列に表現されるからで
ある。以下、図15〜図17を用い、ブロック化と分配
化を組み合わせた変換例について説明する。
は、pを1とした分配化変換を行えば良い。pは、1レ
コードに含まれるデータのうち、分配化後の1次表にお
いて1行に含まれるデータの数であるから、pを1とす
ることにより、1レコード(すなわち、ブロック化後に
分配化する場合は、ブロック化後の1次表の1行)のデ
ータを、各数値項目ごとに改行しながら対応付けること
になり、結果として、各数値項目は、整列キー毎に縦に
並ぶことになる。また、この場合、最初に最終行に達し
て先頭行への改行をするまでに対応付けられるデータの
数(繰り返しの最小単位に含まれるデータの数)r、及
び、1レコード中の1列に含まれるデータの数qは、数
値項目の数と一致する。1行に含まれるデータの数が1
であり、各数値項目のデータは1列に表現されるからで
ある。以下、図15〜図17を用い、ブロック化と分配
化を組み合わせた変換例について説明する。
【0087】図15は、ブロック化キー項目数1、整列
キー項目数1のブロック化変換後、分配化を行った例で
ある。図15に示す例では、0次表13Aをブロック化
変換して1次表14Aを得、さらに1次表14Aに分配
化変換を行って1次表14Eを得ている。なお、分配対
象項目は、1次表14Aにおいては、分配化対象項目
は、整列キー項目のデータで限定されている数値項目、
すなわち、「4月」の「生産数」及び「売上数」と、
「5月」の「生産数」及び「売上数」とである。これに
より、n=4であることがわかる。また、上述のよう
に、pは1であり、数値項目の数は2であることから、
r=2、p=1、q=2となる。なお、ブロック化後に
分配化を行う場合には、分配対象項目数mは、必ず、繰
り返しの最小単位であるnの整数倍となるため、分配化
におけるチェックは必要ない。
キー項目数1のブロック化変換後、分配化を行った例で
ある。図15に示す例では、0次表13Aをブロック化
変換して1次表14Aを得、さらに1次表14Aに分配
化変換を行って1次表14Eを得ている。なお、分配対
象項目は、1次表14Aにおいては、分配化対象項目
は、整列キー項目のデータで限定されている数値項目、
すなわち、「4月」の「生産数」及び「売上数」と、
「5月」の「生産数」及び「売上数」とである。これに
より、n=4であることがわかる。また、上述のよう
に、pは1であり、数値項目の数は2であることから、
r=2、p=1、q=2となる。なお、ブロック化後に
分配化を行う場合には、分配対象項目数mは、必ず、繰
り返しの最小単位であるnの整数倍となるため、分配化
におけるチェックは必要ない。
【0088】図16は、ブロック化キー項目数2、整列
キー項目数1のブロック化変換後、分配化を行った例で
ある。この例では、0次表13Bをブロック化変換して
1次表14Bを得、さらに1次表14Bに分配化変換を
行って1次表14Fを得ている。分配対象項目は、1次
表14Bにおいては、整列キー項目のデータで限定され
ている数値項目、すなわち、「4月」の「生産数」及び
「売上数」と、「5月」の「生産数」及び「売上数」と
である。n=4であることがわかる。また、数値項目が
2個であるので、p=1、q=2、r=2となる。この
場合も、図15に示した例と同様の理由で、分配化にお
けるチェックの必要はない。
キー項目数1のブロック化変換後、分配化を行った例で
ある。この例では、0次表13Bをブロック化変換して
1次表14Bを得、さらに1次表14Bに分配化変換を
行って1次表14Fを得ている。分配対象項目は、1次
表14Bにおいては、整列キー項目のデータで限定され
ている数値項目、すなわち、「4月」の「生産数」及び
「売上数」と、「5月」の「生産数」及び「売上数」と
である。n=4であることがわかる。また、数値項目が
2個であるので、p=1、q=2、r=2となる。この
場合も、図15に示した例と同様の理由で、分配化にお
けるチェックの必要はない。
【0089】図17は、ブロック化キー項目数1、整列
キー項目数2のブロック化変換後、分配化を行った例で
ある。この例では、0次表13Bをブロック化変換して
1次表14Cを得、さらに1次表14Cに分配化変換を
行って1次表14Gを得ている。分配対象項目は、1次
表14Cにおいては、整列キー項目のデータで限定され
ている数値項目、すなわち、「テレビ」の「4月」の
「生産数」及び「売上数」と、「テレビ」の「5月」の
「生産数」及び「売上数」と、「ラジオ」の「4月」の
「生産数」及び「売上数」と、「ラジオ」の「5月」の
「生産数」及び「売上数」と、「洗濯機」の「4月」の
「生産数」及び「売上数」と、「洗濯機」の「5月」の
「生産数」及び「売上数」とである。n=2であること
がわかる。また、数値項目が2個であるので、p=1、
q=2、r=2となる。この場合も、図15に示した例
と同様の理由で、分配化におけるチェックの必要はな
い。
キー項目数2のブロック化変換後、分配化を行った例で
ある。この例では、0次表13Bをブロック化変換して
1次表14Cを得、さらに1次表14Cに分配化変換を
行って1次表14Gを得ている。分配対象項目は、1次
表14Cにおいては、整列キー項目のデータで限定され
ている数値項目、すなわち、「テレビ」の「4月」の
「生産数」及び「売上数」と、「テレビ」の「5月」の
「生産数」及び「売上数」と、「ラジオ」の「4月」の
「生産数」及び「売上数」と、「ラジオ」の「5月」の
「生産数」及び「売上数」と、「洗濯機」の「4月」の
「生産数」及び「売上数」と、「洗濯機」の「5月」の
「生産数」及び「売上数」とである。n=2であること
がわかる。また、数値項目が2個であるので、p=1、
q=2、r=2となる。この場合も、図15に示した例
と同様の理由で、分配化におけるチェックの必要はな
い。
【0090】以上説明したブロック化、及び分配化によ
って、0次表13からユーザ表22への任意のデータ配
置構造への変換をパターン化することが可能である。
って、0次表13からユーザ表22への任意のデータ配
置構造への変換をパターン化することが可能である。
【0091】図18は、ブロック化、分配化の組み合わ
せにより、データ配置構造の変換を4通りにパターン化
した結果である。なお、ソート処理は、全てのパターン
に共通の処理であるため、パターン化の組み合わせとし
ての考慮はしていない。13R、13Bは0次表であ
り、14B、14Rは1次表である。0次表13Rは、
数値項目に複数の意味を含む(即ち、項目に「4月」
「生産数」という分割可能な2つの条件がある)タイプ
の0次表であるのに対して、前記0次表13Bは、数値
項目には1つの意味しかないタイプの0次表である。ま
た、1次表14Bは、数値項目を横並びで表現するタイ
プの1次表であるのに対して、前記1次表14Rは、数
値項目を縦並びで表現するタイプの1次表である。図で
は、0次表13R、13Bから1次表14B、14Rへ
の変換を、ブロック化と分配化の組み合わせによりパタ
ーン化した結果を示している。0次表13Rから1次表
14Bへの変換は、ブロック化も分配化も必要ない変換
であり、これを以後パターン1と呼ぶ。0次表13Bか
ら1次表14Bへの変換はブロック化のみの変換が必要
であり、これを以後パターン2と呼ぶ。0次表13Rか
ら1次表14Rへの変換は、分配化のみが必要であり、
これを以後パターン3と呼ぶ。0次表13Bから前記1
次表14Rへの変換は、ブロック化、分配化共必要であ
り、これを以後パターン4と呼ぶ。ところで、ブロック
化、及び分配化処理に先立ち前記ソート処理を行う必要
があることは、先に、パターン2、3、4の説明をする
中で言及した。ここでは、パターン1においてもソート
におけるキー項目を指定し同様のソート処理をサポート
する機能があることを追記しておく。
せにより、データ配置構造の変換を4通りにパターン化
した結果である。なお、ソート処理は、全てのパターン
に共通の処理であるため、パターン化の組み合わせとし
ての考慮はしていない。13R、13Bは0次表であ
り、14B、14Rは1次表である。0次表13Rは、
数値項目に複数の意味を含む(即ち、項目に「4月」
「生産数」という分割可能な2つの条件がある)タイプ
の0次表であるのに対して、前記0次表13Bは、数値
項目には1つの意味しかないタイプの0次表である。ま
た、1次表14Bは、数値項目を横並びで表現するタイ
プの1次表であるのに対して、前記1次表14Rは、数
値項目を縦並びで表現するタイプの1次表である。図で
は、0次表13R、13Bから1次表14B、14Rへ
の変換を、ブロック化と分配化の組み合わせによりパタ
ーン化した結果を示している。0次表13Rから1次表
14Bへの変換は、ブロック化も分配化も必要ない変換
であり、これを以後パターン1と呼ぶ。0次表13Bか
ら1次表14Bへの変換はブロック化のみの変換が必要
であり、これを以後パターン2と呼ぶ。0次表13Rか
ら1次表14Rへの変換は、分配化のみが必要であり、
これを以後パターン3と呼ぶ。0次表13Bから前記1
次表14Rへの変換は、ブロック化、分配化共必要であ
り、これを以後パターン4と呼ぶ。ところで、ブロック
化、及び分配化処理に先立ち前記ソート処理を行う必要
があることは、先に、パターン2、3、4の説明をする
中で言及した。ここでは、パターン1においてもソート
におけるキー項目を指定し同様のソート処理をサポート
する機能があることを追記しておく。
【0092】次に、本発明における実際の対応付け処理
方式について詳細に説明する。なお、以後の説明におい
ては、0次表13及び1次表14は、図16に示した1
3B及び14Fを例にする。
方式について詳細に説明する。なお、以後の説明におい
ては、0次表13及び1次表14は、図16に示した1
3B及び14Fを例にする。
【0093】まず始めに、図19を用いてパラメータテ
ーブル15のデータ構造の説明をする。パラメータテー
ブル15は、主記憶202に配置され、以下の各フィー
ルドで構成する。151はブロック化指定の有無を格納
するフィールドである。152は分配化指定の有無を格
納するフィールドである。153は縦見出し項目の数を
格納するフィールドである。縦見出し項目とは、0次表
13の項目のうち、1次表14で縦の見出しに対応付け
る項目である。ブロック化指定有りの前記パターン2及
び4の場合は、ブロック化キー項目がこれに該当し、分
配化のみ指定の前記パターン3の場合は、分配化キー項
目がこれに該当する。また、ブロック化、分配化共指定
無しの前記パターン1の場合はソート時のキー項目がこ
れに該当する。従って、フィールド153には、パター
ン2及び4の場合は、ブロック化キー項目の数(先の例
ではvである)が格納され、パターン3の場合は、分配
化キー項目の数(先の例ではmである)が格納される。
また、パターン1の場合においても、該当するキー項目
の数を格納する。1541〜1543は、上記縦見出し
項目に関する情報を格納するフィールド群であり、各々
のフィールド群は、縦見出し項目名リストポインタ15
4につながれたリスト構造で構成される。該リストに接
続される順は、パターン2及び4の場合は、第1ブロッ
ク化キー項目〜第vブロック化キー項目の順であり、パ
ターン3の場合は、第1分配化キー項目〜第m分配化キ
ー項目の順である。また、パターン1の場合において
も、1次表14において最も左に対応付けるキー項目か
ら順に格納する。格納する情報は、各キー項目名と、ソ
ート処理に必要なソート基準パラメータである。ソート
基準パラメータは、昇順、降順の他、ユーザ指定順序7
0のいずれかの指定が格納される。ソート基準パラメー
タがユーザ指定順序70の場合、ユーザ指定したデータ
を順に並べてスペースで区切ったテキストとして格納す
る。155は横見出し項目の数を格納するフィールドで
ある。横見出し項目とは、0次表13の項目のうち、1
次表14で横の見出しに対応付ける項目である。パター
ン2及び4の場合は、整列キー項目がこれに該当する。
また、パターン3、パターン1の場合は該当項目はな
い。従って、フィールド155には、パターン2及び4
の場合は整列キー項目数(先の例ではwである)が格納
され、パターン3及び1の場合は、該当する項目がない
ため0が入る。1561〜1563は、上記横見出し項
目に関する情報を格納するフィールド群であり、各々の
フィールド群は、横見出し項目名リストポインタ156
につながれたリスト構造で構成される。ただし、パター
ン3及び1の場合は、該当する項目がないため、フィー
ルド156にはヌルポインタが入る。パターン2及び4
の場合は、第1整列キー項目〜第w整列キー項目の順で
該リストに接続する。157は数値項目の数を格納する
フィールドである。パターン2及び4の場合は、数値項
目がこれに該当し、パターン3の場合は、分配対象項目
がこれに該当する。また、パターン1の場合は、0次表
13における縦見出し項目以外の数値項目がこれに該当
する。従って、フィールド157には、パターン2及び
4の場合は、数値項目数(先の例ではhである)が格納
され、パターン3の場合は、分配対象項目数(先の例で
はnである)が格納される。1581〜1583は、上
記数値項目に関する情報を格納するフィールド群であ
り、各々のフィールド群は、数値項目名リストポインタ
158につながれたリスト構造で構成される。該リスト
に接続される順は、パターン2及び4の場合は、第1数
値項目〜第h数値項目の順であり、パターン3の場合
は、第1分配化対象項目〜第n分配化対象項目の順であ
る。また、パターン1の場合は、1次表14において最
も左に対応付ける数値項目から順に格納する。159は
分配化パラメータにおける、1行中に並べる1レコード
のデータ数pを格納するフィールドであるが、分配化指
定がないパターン1、2、4の場合は0が入る。160
は、159と同様、分配化パラメータにおける、1列中
に並べる1レコードのデータ数qを格納するフィールド
であるが、分配化指定がないパターン1、2、4の場合
は0が入る。161はブロック化及び分配化におけるチ
ェック処理の結果でエラーが検出された場合、該エラー
コードを格納するフィールドである。
ーブル15のデータ構造の説明をする。パラメータテー
ブル15は、主記憶202に配置され、以下の各フィー
ルドで構成する。151はブロック化指定の有無を格納
するフィールドである。152は分配化指定の有無を格
納するフィールドである。153は縦見出し項目の数を
格納するフィールドである。縦見出し項目とは、0次表
13の項目のうち、1次表14で縦の見出しに対応付け
る項目である。ブロック化指定有りの前記パターン2及
び4の場合は、ブロック化キー項目がこれに該当し、分
配化のみ指定の前記パターン3の場合は、分配化キー項
目がこれに該当する。また、ブロック化、分配化共指定
無しの前記パターン1の場合はソート時のキー項目がこ
れに該当する。従って、フィールド153には、パター
ン2及び4の場合は、ブロック化キー項目の数(先の例
ではvである)が格納され、パターン3の場合は、分配
化キー項目の数(先の例ではmである)が格納される。
また、パターン1の場合においても、該当するキー項目
の数を格納する。1541〜1543は、上記縦見出し
項目に関する情報を格納するフィールド群であり、各々
のフィールド群は、縦見出し項目名リストポインタ15
4につながれたリスト構造で構成される。該リストに接
続される順は、パターン2及び4の場合は、第1ブロッ
ク化キー項目〜第vブロック化キー項目の順であり、パ
ターン3の場合は、第1分配化キー項目〜第m分配化キ
ー項目の順である。また、パターン1の場合において
も、1次表14において最も左に対応付けるキー項目か
ら順に格納する。格納する情報は、各キー項目名と、ソ
ート処理に必要なソート基準パラメータである。ソート
基準パラメータは、昇順、降順の他、ユーザ指定順序7
0のいずれかの指定が格納される。ソート基準パラメー
タがユーザ指定順序70の場合、ユーザ指定したデータ
を順に並べてスペースで区切ったテキストとして格納す
る。155は横見出し項目の数を格納するフィールドで
ある。横見出し項目とは、0次表13の項目のうち、1
次表14で横の見出しに対応付ける項目である。パター
ン2及び4の場合は、整列キー項目がこれに該当する。
また、パターン3、パターン1の場合は該当項目はな
い。従って、フィールド155には、パターン2及び4
の場合は整列キー項目数(先の例ではwである)が格納
され、パターン3及び1の場合は、該当する項目がない
ため0が入る。1561〜1563は、上記横見出し項
目に関する情報を格納するフィールド群であり、各々の
フィールド群は、横見出し項目名リストポインタ156
につながれたリスト構造で構成される。ただし、パター
ン3及び1の場合は、該当する項目がないため、フィー
ルド156にはヌルポインタが入る。パターン2及び4
の場合は、第1整列キー項目〜第w整列キー項目の順で
該リストに接続する。157は数値項目の数を格納する
フィールドである。パターン2及び4の場合は、数値項
目がこれに該当し、パターン3の場合は、分配対象項目
がこれに該当する。また、パターン1の場合は、0次表
13における縦見出し項目以外の数値項目がこれに該当
する。従って、フィールド157には、パターン2及び
4の場合は、数値項目数(先の例ではhである)が格納
され、パターン3の場合は、分配対象項目数(先の例で
はnである)が格納される。1581〜1583は、上
記数値項目に関する情報を格納するフィールド群であ
り、各々のフィールド群は、数値項目名リストポインタ
158につながれたリスト構造で構成される。該リスト
に接続される順は、パターン2及び4の場合は、第1数
値項目〜第h数値項目の順であり、パターン3の場合
は、第1分配化対象項目〜第n分配化対象項目の順であ
る。また、パターン1の場合は、1次表14において最
も左に対応付ける数値項目から順に格納する。159は
分配化パラメータにおける、1行中に並べる1レコード
のデータ数pを格納するフィールドであるが、分配化指
定がないパターン1、2、4の場合は0が入る。160
は、159と同様、分配化パラメータにおける、1列中
に並べる1レコードのデータ数qを格納するフィールド
であるが、分配化指定がないパターン1、2、4の場合
は0が入る。161はブロック化及び分配化におけるチ
ェック処理の結果でエラーが検出された場合、該エラー
コードを格納するフィールドである。
【0094】各フィールドの初期値は以下の通りであ
る。フィールド151はブロック化指定無し、フィール
ド152は分配化指定無し、フィールド153、15
5、157、159、160はゼロ、フィールド15
4、155、158にはヌルポインタ、フィールド16
1は、エラーコード無しを設定する。
る。フィールド151はブロック化指定無し、フィール
ド152は分配化指定無し、フィールド153、15
5、157、159、160はゼロ、フィールド15
4、155、158にはヌルポインタ、フィールド16
1は、エラーコード無しを設定する。
【0095】図20は、前記対応付け処理部8の動作を
示すフローチャートである。前述のように、対応付け処
理部8は、ユーザにより前記表計算手段20から起動さ
れると、まず始めに、対応付けパラメータ入力処理部1
6を動作させる。対応付けパラメータ入力処理部16
は、ユーザが表示装置209の画面に示されたパラメー
タ情報をマウス207で選択したり、キーボード205
を用いて入力した、対応付けパラメータを、パラメータ
テーブル15に格納する(ステップ2001)。
示すフローチャートである。前述のように、対応付け処
理部8は、ユーザにより前記表計算手段20から起動さ
れると、まず始めに、対応付けパラメータ入力処理部1
6を動作させる。対応付けパラメータ入力処理部16
は、ユーザが表示装置209の画面に示されたパラメー
タ情報をマウス207で選択したり、キーボード205
を用いて入力した、対応付けパラメータを、パラメータ
テーブル15に格納する(ステップ2001)。
【0096】図16に示した例の場合、151はブロッ
ク化指定有りを示す符号、152は分配化指定有りを示
す符号、153はv=2、1541は(「地区」、昇
順)、1542は(「商品名」、昇順)、155はw=
1、1561は(「月」、昇順)、157はh=2、1
581は「生産数」、1582は「売上数」、159は
p=1、160はq=2が格納される。
ク化指定有りを示す符号、152は分配化指定有りを示
す符号、153はv=2、1541は(「地区」、昇
順)、1542は(「商品名」、昇順)、155はw=
1、1561は(「月」、昇順)、157はh=2、1
581は「生産数」、1582は「売上数」、159は
p=1、160はq=2が格納される。
【0097】次に、対応付け処理部8は、ソート処理部
9に制御を移す(ステップ2002)。ソート処理部9
は、縦見出し項目リストポインタ154、横見出し項目
リストポインタ156でつながれた項目順によりソート
の優先順位を判断しソート処理を行う。以下、ソート処
理を図16を例にとり説明する。まず始めに、第1ブロ
ック化キー項目である「地区」13B1のデータにより
レコードの並び順を判定し、そのデータが等しい場合
(この場合AとB)は、次に、第2ブロック化キー項目
である「商品名」13B2のデータによりレコードの並
び順を判定し、そのデータが等しい場合(この場合テレ
ビ、ラジオ、洗濯機)は、さらに、第1整列キー項目で
ある「月」13B3のデータによりレコードの並び順を
判定し、最終的なレコードの並び順を決定する。次に、
ソート基準パラメータとして、ユーザ指定順序70が指
定されている場合について、図7を用いて説明する。こ
の場合は、上記昇順/降順を用いた並び順の判定方法と
は異なり、パラメータとして格納されているユーザ指定
順序70を参照することにより、判定対象のデータが、
ユーザ指定順序70において何番目にあるかを割り出し
後、通常の昇順を用いたソート処理を行う。すなわち、
「地区」13P1のデータによりレコードの並び順を判
定する場合を例にとると、「地区」13P1のデータで
ある、(「A」、「B」、「C」)は、ユーザ指定順序
70において、それぞれ(2番目、3番目、1番目)に
あるため、(Aを2、Bを3、Cを1)と見なし該判定
を行う。以上のソート処理の結果は、ソート前と同様0
次表13に格納する。
9に制御を移す(ステップ2002)。ソート処理部9
は、縦見出し項目リストポインタ154、横見出し項目
リストポインタ156でつながれた項目順によりソート
の優先順位を判断しソート処理を行う。以下、ソート処
理を図16を例にとり説明する。まず始めに、第1ブロ
ック化キー項目である「地区」13B1のデータにより
レコードの並び順を判定し、そのデータが等しい場合
(この場合AとB)は、次に、第2ブロック化キー項目
である「商品名」13B2のデータによりレコードの並
び順を判定し、そのデータが等しい場合(この場合テレ
ビ、ラジオ、洗濯機)は、さらに、第1整列キー項目で
ある「月」13B3のデータによりレコードの並び順を
判定し、最終的なレコードの並び順を決定する。次に、
ソート基準パラメータとして、ユーザ指定順序70が指
定されている場合について、図7を用いて説明する。こ
の場合は、上記昇順/降順を用いた並び順の判定方法と
は異なり、パラメータとして格納されているユーザ指定
順序70を参照することにより、判定対象のデータが、
ユーザ指定順序70において何番目にあるかを割り出し
後、通常の昇順を用いたソート処理を行う。すなわち、
「地区」13P1のデータによりレコードの並び順を判
定する場合を例にとると、「地区」13P1のデータで
ある、(「A」、「B」、「C」)は、ユーザ指定順序
70において、それぞれ(2番目、3番目、1番目)に
あるため、(Aを2、Bを3、Cを1)と見なし該判定
を行う。以上のソート処理の結果は、ソート前と同様0
次表13に格納する。
【0098】ソート処理が終わると、対応付け処理部8
は、パラメータテーブル15のフィールド151を読み
とり、ブロック化指定の有無を判断する(ステップ20
03)。ここで、ブロック化指定が有りの場合、ブロッ
ク化処理部10に制御を移しブロック化処理を行わせる
(ステップ2004)。
は、パラメータテーブル15のフィールド151を読み
とり、ブロック化指定の有無を判断する(ステップ20
03)。ここで、ブロック化指定が有りの場合、ブロッ
ク化処理部10に制御を移しブロック化処理を行わせる
(ステップ2004)。
【0099】ブロック化処理後、対応付け処理部8は、
パラメータテーブル15のフィールド161によりエラ
ーの有無を判断し(ステップ2005)、エラーがあっ
た場合は、直ちに対応付け処理を終了し、エラーがなか
った場合にはステップ2006に制御を進める。ステッ
プ2003でブロック化が指定されていなければ、ステ
ップ゜2006に制御を進め、パラメータテーブル15
のフィールド152を読みとり、分配化指定の有無を判
断する。ここで分配化指定が有りの場合、分配化処理部
11に制御を移し分配化処理を行わせる(ステップ20
07)。
パラメータテーブル15のフィールド161によりエラ
ーの有無を判断し(ステップ2005)、エラーがあっ
た場合は、直ちに対応付け処理を終了し、エラーがなか
った場合にはステップ2006に制御を進める。ステッ
プ2003でブロック化が指定されていなければ、ステ
ップ゜2006に制御を進め、パラメータテーブル15
のフィールド152を読みとり、分配化指定の有無を判
断する。ここで分配化指定が有りの場合、分配化処理部
11に制御を移し分配化処理を行わせる(ステップ20
07)。
【0100】分配化処理後、対応付け処理部8は、パラ
メータテーブル15のフィールド161によりエラーの
有無を判断し(ステップ2008)、エラーがあった場
合は、直ちに対応付け処理を終了し、エラーがなかった
場合にはステップ2009に制御を進める。ステップ2
006で分配化指定がなければステップ2009に制御
を進め、そのままデータ転送処理部12に制御を移す。
メータテーブル15のフィールド161によりエラーの
有無を判断し(ステップ2008)、エラーがあった場
合は、直ちに対応付け処理を終了し、エラーがなかった
場合にはステップ2009に制御を進める。ステップ2
006で分配化指定がなければステップ2009に制御
を進め、そのままデータ転送処理部12に制御を移す。
【0101】ステップ2009では、データ転送処理部
12が、以上の処理により変換された1次表14のデー
タを、表計算手段20のスプレッドシート21に転送す
る処理を行う。また、ステップ2005、ステップ20
08では、共にブロック化処理(ステップ2004)、
分配化処理(ステップ2007)によりエラーが検出さ
れた場合にはデータ転送(ステップ2009)を実行せ
ずに終了することになる。
12が、以上の処理により変換された1次表14のデー
タを、表計算手段20のスプレッドシート21に転送す
る処理を行う。また、ステップ2005、ステップ20
08では、共にブロック化処理(ステップ2004)、
分配化処理(ステップ2007)によりエラーが検出さ
れた場合にはデータ転送(ステップ2009)を実行せ
ずに終了することになる。
【0102】次に、ブロック化処理(ステップ200
4)と分配化処理(ステップ2007)について、その
処理内容をフローチャートを用いてより詳しく説明す
る。
4)と分配化処理(ステップ2007)について、その
処理内容をフローチャートを用いてより詳しく説明す
る。
【0103】図21は、ステップ2004におけるブロ
ック化処理部10の動作を示すフローチャートである。
ブロック化処理部10は、まず始めに、ブロック化チェ
ック処理を行う(ステップ2101)。ブロック化チェ
ック処理は、前述のようにキー項目データの組み合わせ
で0次表13の整合性を検査する処理である。このブロ
ック化チェック処理でエラーが検出されると、パラメー
タテーブル15のフィールド161にエラーコードを格
納する。ブロック化チェック処理が終了すると、ブロッ
ク化処理部10は、フィールド161のエラーコードを
読みとることによりエラーの有無を判断する(ステップ
2102)。ブロック化処理部10は、エラーが有った
ことを検出すると、そのまま処理を終了し、エラーが無
かったときは、ブロック化並べ換え処理を行い(ステッ
プ2103)、0次表13の数値項目のデータを並べ換
えて1次表14に配置する。
ック化処理部10の動作を示すフローチャートである。
ブロック化処理部10は、まず始めに、ブロック化チェ
ック処理を行う(ステップ2101)。ブロック化チェ
ック処理は、前述のようにキー項目データの組み合わせ
で0次表13の整合性を検査する処理である。このブロ
ック化チェック処理でエラーが検出されると、パラメー
タテーブル15のフィールド161にエラーコードを格
納する。ブロック化チェック処理が終了すると、ブロッ
ク化処理部10は、フィールド161のエラーコードを
読みとることによりエラーの有無を判断する(ステップ
2102)。ブロック化処理部10は、エラーが有った
ことを検出すると、そのまま処理を終了し、エラーが無
かったときは、ブロック化並べ換え処理を行い(ステッ
プ2103)、0次表13の数値項目のデータを並べ換
えて1次表14に配置する。
【0104】ステップ2101のブロック化チェック処
理は、0次表13におけるキー項目データの組み合わせ
を、キー項目データテーブル17、キー項目データ最大
数テーブル18、キー項目データテーブルインデックス
19を用いて検査する処理である。
理は、0次表13におけるキー項目データの組み合わせ
を、キー項目データテーブル17、キー項目データ最大
数テーブル18、キー項目データテーブルインデックス
19を用いて検査する処理である。
【0105】まず、図22を用いてキー項目データテー
ブル17の説明をする。キー項目データテーブル17
は、0次表13における全てのキー項目のデータを格納
したテーブルである。キー項目データテーブル17は、
第1ブロック化キー項目〜第vブロック化キー項目〜第
1整列キー項目〜第w整列キー項目の順で、各項目毎に
設けられたリストポインタ格納領域171〜17(v+
w)を備える。なお、ここでv、wは、それぞれブロッ
ク化キー項目の数、整列キー項目の数である。また、キ
ー項目データテーブル17は、キー項目の数(v+w)
だけ、データ格納領域群1710〜17(v+w)0を
備える。各データ格納領域群1710〜17(v+w)
0は、それぞれキー項目のデータを保持するためのデー
タ格納領域を有する。データ格納領域群内のデータ格納
領域は、リスト構造により連結されている。また、リス
トポインタ格納領域171〜17(v+w)には、それ
ぞれデータ格納領域群1710〜17(v+w)0内の
先頭のデータ格納領域を示すポインタが格納されてい
る。
ブル17の説明をする。キー項目データテーブル17
は、0次表13における全てのキー項目のデータを格納
したテーブルである。キー項目データテーブル17は、
第1ブロック化キー項目〜第vブロック化キー項目〜第
1整列キー項目〜第w整列キー項目の順で、各項目毎に
設けられたリストポインタ格納領域171〜17(v+
w)を備える。なお、ここでv、wは、それぞれブロッ
ク化キー項目の数、整列キー項目の数である。また、キ
ー項目データテーブル17は、キー項目の数(v+w)
だけ、データ格納領域群1710〜17(v+w)0を
備える。各データ格納領域群1710〜17(v+w)
0は、それぞれキー項目のデータを保持するためのデー
タ格納領域を有する。データ格納領域群内のデータ格納
領域は、リスト構造により連結されている。また、リス
トポインタ格納領域171〜17(v+w)には、それ
ぞれデータ格納領域群1710〜17(v+w)0内の
先頭のデータ格納領域を示すポインタが格納されてい
る。
【0106】図22では、ブロック化キー項目のデータ
の数を、第1ブロック化キー項目ではb(1)、第2ブ
ロック化キー項目ではb(2)、……第vブロック化キ
ー項目ではb(v)として表現している。これに伴い、
第1ブロック化キー項目のデータを格納するデータ格納
領域は、0番目(先頭)からb(1)−1番目(最後)
まであることになり、それぞれを、17v1、17v
2、……17v(b(v))として図示する。
の数を、第1ブロック化キー項目ではb(1)、第2ブ
ロック化キー項目ではb(2)、……第vブロック化キ
ー項目ではb(v)として表現している。これに伴い、
第1ブロック化キー項目のデータを格納するデータ格納
領域は、0番目(先頭)からb(1)−1番目(最後)
まであることになり、それぞれを、17v1、17v
2、……17v(b(v))として図示する。
【0107】また、整列キー項目のデータの数は、第1
整列キー項目ではs(1)、第2整列キー項目ではs
(2)、……第w整列キー項目ではs(w)として表現
される。これに伴い、第1整列キー項目のデータを格納
するデータ格納領域は、0番目(先頭)からs(1)−
1番目(最後)まであることになり、それぞれを、17
(v+1)1、17(v+1)2、……17(v+1)
(s(1))として図示する。また、第w整列キー項目
のデータを格納するデータ格納領域は、0番目(先頭)
からs(w)−1(最後)まであることになり、それぞ
れを、17(v+w)1、17(v+w)2、……17
(v+w)(s(w))として図示する。
整列キー項目ではs(1)、第2整列キー項目ではs
(2)、……第w整列キー項目ではs(w)として表現
される。これに伴い、第1整列キー項目のデータを格納
するデータ格納領域は、0番目(先頭)からs(1)−
1番目(最後)まであることになり、それぞれを、17
(v+1)1、17(v+1)2、……17(v+1)
(s(1))として図示する。また、第w整列キー項目
のデータを格納するデータ格納領域は、0番目(先頭)
からs(w)−1(最後)まであることになり、それぞ
れを、17(v+w)1、17(v+w)2、……17
(v+w)(s(w))として図示する。
【0108】各キー項目のデータは、パラメータテーブ
ル15の縦見出し項目格納領域1541〜154v、横
見出し項目格納領域1561〜156wに格納されてい
るソート基準パラメータのソート順に従い、0番目のデ
ータ格納領域から順に格納される。キー項目の各データ
の参照は、何番目のリストポインタの指すデータ格納領
域群にあるか(配列の行の番号を示す添え字)と、何番
目のデータ格納領域にあるかを用いて行う。なお、各ポ
インタ領域の初期値はヌルポインタである。
ル15の縦見出し項目格納領域1541〜154v、横
見出し項目格納領域1561〜156wに格納されてい
るソート基準パラメータのソート順に従い、0番目のデ
ータ格納領域から順に格納される。キー項目の各データ
の参照は、何番目のリストポインタの指すデータ格納領
域群にあるか(配列の行の番号を示す添え字)と、何番
目のデータ格納領域にあるかを用いて行う。なお、各ポ
インタ領域の初期値はヌルポインタである。
【0109】図23は、キー項目データテーブル17を
参照するために用いるキー項目データ最大数テーブル1
8とキー項目データテーブルインデックス19の構造を
示したものである。キー項目データ最大数テーブル18
は、0行目〜v+w−1行目のv+w個の領域を有する
配列である。各領域には、第1ブロック化キー項目から
第w整列キー項目まで各キー項目データの数が格納され
る。すなわち、キー項目最大数テーブル18と0行目の
(すなわち、先頭の)領域にはb(1)で表される第1
ブロック化キー項目のデータ数が、v−1行目の領域に
はb(v)で表される第vブロック化キー項目(すわわ
ち、最後のブロック化キー項目)のデータ数が、それぞ
れ格納される。なお、各領域の初期値はゼロである。各
領域は、何行目の領域か(行番号:0〜v+w−1の添
え字)を指定することにより参照される。この配列の各
領域の保持する情報をmax_ind(行番号)で表
す。例えば、max_ind(level)は、キー項
目データテーブル17のlevel行に格納されたキー
項目の最大数を表す。
参照するために用いるキー項目データ最大数テーブル1
8とキー項目データテーブルインデックス19の構造を
示したものである。キー項目データ最大数テーブル18
は、0行目〜v+w−1行目のv+w個の領域を有する
配列である。各領域には、第1ブロック化キー項目から
第w整列キー項目まで各キー項目データの数が格納され
る。すなわち、キー項目最大数テーブル18と0行目の
(すなわち、先頭の)領域にはb(1)で表される第1
ブロック化キー項目のデータ数が、v−1行目の領域に
はb(v)で表される第vブロック化キー項目(すわわ
ち、最後のブロック化キー項目)のデータ数が、それぞ
れ格納される。なお、各領域の初期値はゼロである。各
領域は、何行目の領域か(行番号:0〜v+w−1の添
え字)を指定することにより参照される。この配列の各
領域の保持する情報をmax_ind(行番号)で表
す。例えば、max_ind(level)は、キー項
目データテーブル17のlevel行に格納されたキー
項目の最大数を表す。
【0110】キー項目データテーブルインデックス19
は、データ格納領域の数(v+w)だけ格納領域を備え
る配列である。キー項目データテーブルインデックス1
9は、キー項目データテーブル17の各データ格納領域
群1710〜17(v+w)0毎に、該データ格納領域
群内の番号をひとつ保持する。キー項目データテーブル
インデックス19内に保持されたデータは、キー項目デ
ータテーブル17と同様、第1ブロック化キー項目から
第w整列キー項目までの何番目の項目のデータ格納領域
群かを示す0〜v+w−1の添え字により参照される。
なお、各領域の初期値はゼロである。
は、データ格納領域の数(v+w)だけ格納領域を備え
る配列である。キー項目データテーブルインデックス1
9は、キー項目データテーブル17の各データ格納領域
群1710〜17(v+w)0毎に、該データ格納領域
群内の番号をひとつ保持する。キー項目データテーブル
インデックス19内に保持されたデータは、キー項目デ
ータテーブル17と同様、第1ブロック化キー項目から
第w整列キー項目までの何番目の項目のデータ格納領域
群かを示す0〜v+w−1の添え字により参照される。
なお、各領域の初期値はゼロである。
【0111】キー項目データテーブルインデックス19
の各行の要素には、キー項目データテーブル17のデー
タ格納領域1711〜17(v+w)(s(w))の番
号(何番目のデータ格納領域か)が格納される。この配
列の各領域の保持する情報をind_list(行番
号)で表す。例えば、ind_list(level)
は、キー項目データテーブルインデックス19のlev
el行目の、リスト順がi番目のデータ格納領域が示さ
れている。なお、配列内の各格納領域の初期値はゼロで
ある。
の各行の要素には、キー項目データテーブル17のデー
タ格納領域1711〜17(v+w)(s(w))の番
号(何番目のデータ格納領域か)が格納される。この配
列の各領域の保持する情報をind_list(行番
号)で表す。例えば、ind_list(level)
は、キー項目データテーブルインデックス19のlev
el行目の、リスト順がi番目のデータ格納領域が示さ
れている。なお、配列内の各格納領域の初期値はゼロで
ある。
【0112】次に、図24を用いて、ステップ2101
でのブロック化チェック処理の説明をする。ブロック化
チェック処理は、ブロック化処理部10が制御する処理
である。まず始めに、ブロック化処理部10は、キー項
目データテーブル17にデータを格納する(ステップ2
401)。次に、0次表13のキー項目のデータを読み
出すためのカウンタ(以後キー項目読み込み用カウンタ
と記す)を初期化する(ステップ2402)。キー項目
読み込み用カウンタ(図示せず)は主記憶202に配置
される。
でのブロック化チェック処理の説明をする。ブロック化
チェック処理は、ブロック化処理部10が制御する処理
である。まず始めに、ブロック化処理部10は、キー項
目データテーブル17にデータを格納する(ステップ2
401)。次に、0次表13のキー項目のデータを読み
出すためのカウンタ(以後キー項目読み込み用カウンタ
と記す)を初期化する(ステップ2402)。キー項目
読み込み用カウンタ(図示せず)は主記憶202に配置
される。
【0113】次に、ブロック化処理部10は、後述する
ブロック化サブチェック処理(図26に図示)を引き数
の値=0で実行する(ステップ2403)。ブロック化
サブチェック処理は、引き数として渡される変数を用い
て、0次表13のキー項目データに不整合がないかどう
かを検査する処理である。ブロック化サブチェック処理
を、引き数を、キー項目データテーブル17の行を示す
値levelで実行することにより、キー項目データテ
ーブル17のlevel行からv+w−1行までの各フ
ィールドに格納されたデータの全ての組み合わせ(キー
項目データの組み合わせ)と、0次表13のキー項目デ
ータとを照合することができる。ステップ2403で
は、引き数として0を指定するため、キー項目データテ
ーブル17の全てのデータの組み合わせを検査すること
ができる。
ブロック化サブチェック処理(図26に図示)を引き数
の値=0で実行する(ステップ2403)。ブロック化
サブチェック処理は、引き数として渡される変数を用い
て、0次表13のキー項目データに不整合がないかどう
かを検査する処理である。ブロック化サブチェック処理
を、引き数を、キー項目データテーブル17の行を示す
値levelで実行することにより、キー項目データテ
ーブル17のlevel行からv+w−1行までの各フ
ィールドに格納されたデータの全ての組み合わせ(キー
項目データの組み合わせ)と、0次表13のキー項目デ
ータとを照合することができる。ステップ2403で
は、引き数として0を指定するため、キー項目データテ
ーブル17の全てのデータの組み合わせを検査すること
ができる。
【0114】ここで、図25を用いてキー項目データテ
ーブル格納処理(ステップ2401)の詳細について説
明する。ブロック化処理部10による0次表13のキー
項目データの前記キー項目データテーブル17へのデー
タ格納処理は、第1ブロック化キー項目〜第vブロック
化キー項目、第1整列キー項目、〜第w整列キー項目の
順で行われる。
ーブル格納処理(ステップ2401)の詳細について説
明する。ブロック化処理部10による0次表13のキー
項目データの前記キー項目データテーブル17へのデー
タ格納処理は、第1ブロック化キー項目〜第vブロック
化キー項目、第1整列キー項目、〜第w整列キー項目の
順で行われる。
【0115】まず始めに、ブロック化処理部10は、処
理対象を第1ブロック化キー項目とし(ステップ250
1)、処理対象のデータを該当キー項目の最初のデータ
とする(ステップ2502)。次に、ブロック化処理部
10は、キー項目データテーブル17の、該キー項目の
データ格納領域群(1810〜18(v+w)0のいず
れか。処理対象が第1ブロック化キー項目の場合は、1
710)に、処理対象のデータと等しいデータがあるか
どうかを調べ(ステップ2503)、あればステップ2
505に処理を進め、なければ、キー項目データテーブ
ル17の該当キー項目のデータ格納領域(処理対象が第
1ブロック化キー項目の場合は、1711〜171(b
(1))のうちいずれか最初の空き領域)に該データを
格納してい、キー項目データ最大数テーブル18の該当
キー項目に対応する格納領域に保持されている値(デー
タ格納領域群に含まれるデータ格納領域の数)を1増や
し(ステップ2504)、その後、ステップ2505を
実行する。
理対象を第1ブロック化キー項目とし(ステップ250
1)、処理対象のデータを該当キー項目の最初のデータ
とする(ステップ2502)。次に、ブロック化処理部
10は、キー項目データテーブル17の、該キー項目の
データ格納領域群(1810〜18(v+w)0のいず
れか。処理対象が第1ブロック化キー項目の場合は、1
710)に、処理対象のデータと等しいデータがあるか
どうかを調べ(ステップ2503)、あればステップ2
505に処理を進め、なければ、キー項目データテーブ
ル17の該当キー項目のデータ格納領域(処理対象が第
1ブロック化キー項目の場合は、1711〜171(b
(1))のうちいずれか最初の空き領域)に該データを
格納してい、キー項目データ最大数テーブル18の該当
キー項目に対応する格納領域に保持されている値(デー
タ格納領域群に含まれるデータ格納領域の数)を1増や
し(ステップ2504)、その後、ステップ2505を
実行する。
【0116】ステップ2505において、ブロック化処
理部10は、0次表13の該当キー項目の全てのデータ
を処理したかを調べ、処理していなければ、処理対象を
0次表13の該当キー項目の次のデータに移し(ステッ
プ2506)、再びステップ2503に処理を戻す。ス
テップ2505において、該当キー項目の全てのキー項
目データを処理していれば、ブロック化処理部10は、
全てのキー項目についての処理をしたか調べ(ステップ
2507)、全てのキー項目についての処理をしていれ
ば終了し、そうでなければ対象キー項目を次の項目に移
し(ステップ2508)、再びステップ2502に処理
を戻す。以上の処理により、キー項目データテーブル1
7に、処理対象の0次表の情報が格納され、ブロック化
チェック処理に使用することができるようになる。
理部10は、0次表13の該当キー項目の全てのデータ
を処理したかを調べ、処理していなければ、処理対象を
0次表13の該当キー項目の次のデータに移し(ステッ
プ2506)、再びステップ2503に処理を戻す。ス
テップ2505において、該当キー項目の全てのキー項
目データを処理していれば、ブロック化処理部10は、
全てのキー項目についての処理をしたか調べ(ステップ
2507)、全てのキー項目についての処理をしていれ
ば終了し、そうでなければ対象キー項目を次の項目に移
し(ステップ2508)、再びステップ2502に処理
を戻す。以上の処理により、キー項目データテーブル1
7に、処理対象の0次表の情報が格納され、ブロック化
チェック処理に使用することができるようになる。
【0117】上記のキー項目データテーブル格納処理
を、図16の0次表13Bの場合を例に具体的に説明す
る。まず、第1ブロック化キー項目は、項目「地区」1
3B1であるから、ブロック化処理部10は、ステップ
2501において、処理対象を項目「地区」とする。個
の例では、項目「地区」の最初のデータは「A」であ
る。そこで、ブロック化処理部10は、ステップ150
2において、処理対象をデータ「A」として、ステップ
2503で、第1ブロック化キー項目のデータ格納領域
群1710内に「A」が格納されているかどうかを検査
する。データ格納領域群1710にはまだ何も格納され
ていないので、ブロック化処理部10は、ステップ25
04で、リストの先頭のデータ格納領域1711にデー
タ「A」を格納し、キー項目データ最大数テーブル18
の0行目(先頭)の格納領域に1を格納する。これによ
り、max_ind(0)=1になる。
を、図16の0次表13Bの場合を例に具体的に説明す
る。まず、第1ブロック化キー項目は、項目「地区」1
3B1であるから、ブロック化処理部10は、ステップ
2501において、処理対象を項目「地区」とする。個
の例では、項目「地区」の最初のデータは「A」であ
る。そこで、ブロック化処理部10は、ステップ150
2において、処理対象をデータ「A」として、ステップ
2503で、第1ブロック化キー項目のデータ格納領域
群1710内に「A」が格納されているかどうかを検査
する。データ格納領域群1710にはまだ何も格納され
ていないので、ブロック化処理部10は、ステップ25
04で、リストの先頭のデータ格納領域1711にデー
タ「A」を格納し、キー項目データ最大数テーブル18
の0行目(先頭)の格納領域に1を格納する。これによ
り、max_ind(0)=1になる。
【0118】ステップ2505では、まだ未処理のデー
タが残っていることが検出されるので、ブロック化処理
部10は、処理対象を次のデータとするが(ステップ2
506)、次のレコードの「地区」のデータも「A」で
あるので、ステップ2503では、すでに「A」がデー
タ格納領域1711に保持されていることを検出して、
「A」の再度の格納処理を行うことなく、ステップ25
05に処理を進める。このようにデータ「A」の処理を
6回繰り返すと、次のレコードでは、「地区」のデータ
が「B」となるので、ステップ2503において、デー
タ格納領域群1710内に同じデータが検出されないた
め、ブロック化処理部10は、データ格納領域1712
に「B」を格納し、キー項目データ最大数テーブル18
の0行目の格納領域の保持する値に1を加える。これに
より、max_ind(0)=2になる。
タが残っていることが検出されるので、ブロック化処理
部10は、処理対象を次のデータとするが(ステップ2
506)、次のレコードの「地区」のデータも「A」で
あるので、ステップ2503では、すでに「A」がデー
タ格納領域1711に保持されていることを検出して、
「A」の再度の格納処理を行うことなく、ステップ25
05に処理を進める。このようにデータ「A」の処理を
6回繰り返すと、次のレコードでは、「地区」のデータ
が「B」となるので、ステップ2503において、デー
タ格納領域群1710内に同じデータが検出されないた
め、ブロック化処理部10は、データ格納領域1712
に「B」を格納し、キー項目データ最大数テーブル18
の0行目の格納領域の保持する値に1を加える。これに
より、max_ind(0)=2になる。
【0119】さらにデータ「B」の処理を5回繰り返す
と、ステップ2505において、項目「地区」のデータ
を全て処理したことになる。このため、ブロック化処理
部10は、ステップ2507に処理を進め、まだ処理し
ていないキー項目があるので、ステップ2508におい
て、処理対象を第2ブロック化キー項目、すなわち項目
「商品名」にして、処理をステップ2502に戻す。上
述の「地区」の場合と同様に、「商品名」の全てのデー
タについてステップ2503〜2505を繰り返すと、
キー項目データテーブル17の格納領域1721には
「テレビ」、データ格納領域1722には「ラジオ」、
データ格納領域1723には「洗濯機」がそれぞれ格納
され、キー項目データ最大数テーブル18の1行目の格
納領域の保持する値は3(すなわち、max_ind
(1)=3)になる。
と、ステップ2505において、項目「地区」のデータ
を全て処理したことになる。このため、ブロック化処理
部10は、ステップ2507に処理を進め、まだ処理し
ていないキー項目があるので、ステップ2508におい
て、処理対象を第2ブロック化キー項目、すなわち項目
「商品名」にして、処理をステップ2502に戻す。上
述の「地区」の場合と同様に、「商品名」の全てのデー
タについてステップ2503〜2505を繰り返すと、
キー項目データテーブル17の格納領域1721には
「テレビ」、データ格納領域1722には「ラジオ」、
データ格納領域1723には「洗濯機」がそれぞれ格納
され、キー項目データ最大数テーブル18の1行目の格
納領域の保持する値は3(すなわち、max_ind
(1)=3)になる。
【0120】項目「商品名」のデータの処理が終了する
と、処理の対象のキー項目は、整列キー項目である
「月」になる(ステップ2508)。この「月」につい
ても、上述のステップ2503〜2505の処理が繰り
返される。これにより、キー項目データテーブル17の
データ格納領域1731には「4」、データ格納領域1
732には「5」がそれぞれ格納され、キー項目データ
最大数テーブル18の2行目の格納領域の保持する値は
2(すなわち、max_ind(2)=2)になる。
「月」のデータの処理が終了すると、全てのキー項目に
ついての処理が終了したことになるので、ブロック処理
部10は、キー項目データテーブル格納処理を終了す
る。
と、処理の対象のキー項目は、整列キー項目である
「月」になる(ステップ2508)。この「月」につい
ても、上述のステップ2503〜2505の処理が繰り
返される。これにより、キー項目データテーブル17の
データ格納領域1731には「4」、データ格納領域1
732には「5」がそれぞれ格納され、キー項目データ
最大数テーブル18の2行目の格納領域の保持する値は
2(すなわち、max_ind(2)=2)になる。
「月」のデータの処理が終了すると、全てのキー項目に
ついての処理が終了したことになるので、ブロック処理
部10は、キー項目データテーブル格納処理を終了す
る。
【0121】次に、図26を用いてブロック化サブチェ
ック処理の説明をする。ブロック化サブチェック処理
は、キー項目データテーブルインデックス19の全ての
行に、参照すべきキー項目データの格納場所を示す番号
を格納した後、0次表データチェック処理を行い、キー
項目データテーブル17に保持されているキー項目の全
ての組み合わせと、0次表のキー項目データの組み合わ
せとの照合を行う処理である。
ック処理の説明をする。ブロック化サブチェック処理
は、キー項目データテーブルインデックス19の全ての
行に、参照すべきキー項目データの格納場所を示す番号
を格納した後、0次表データチェック処理を行い、キー
項目データテーブル17に保持されているキー項目の全
ての組み合わせと、0次表のキー項目データの組み合わ
せとの照合を行う処理である。
【0122】ブロック化サブチェック処理2600で
は、ブロック化処理部10は、まず始めに引き数の値を
levelに設定する(ステップ2601)。すなわ
ち、主記憶202内の変数levelの格納領域に引き
数の値を格納する。次に、ブロック化処理部10は、変
数iを初期化、すなわち、変数iの格納領域に0を格納
し(ステップ2602)、該変数iをキー項目データテ
ーブルインデックス19のlevel行目の格納領域に
格納する(ステップ2603)。さらに、ブロック化処
理部10は、該変数iの値と、キー項目データ最大数テ
ーブル18のlevel行に格納されている数(max
_ind(level):level行目の示すキー項
目のデータ数)との比較を行う(ステップ2604)。
該変数iの値がmax_ind(level)と等しく
なった場合は、対象キー項目の全てのデータについて処
理を行ったことになるので、ブロック化処理部10は、
ブロック化サブチェック処理を終了する。
は、ブロック化処理部10は、まず始めに引き数の値を
levelに設定する(ステップ2601)。すなわ
ち、主記憶202内の変数levelの格納領域に引き
数の値を格納する。次に、ブロック化処理部10は、変
数iを初期化、すなわち、変数iの格納領域に0を格納
し(ステップ2602)、該変数iをキー項目データテ
ーブルインデックス19のlevel行目の格納領域に
格納する(ステップ2603)。さらに、ブロック化処
理部10は、該変数iの値と、キー項目データ最大数テ
ーブル18のlevel行に格納されている数(max
_ind(level):level行目の示すキー項
目のデータ数)との比較を行う(ステップ2604)。
該変数iの値がmax_ind(level)と等しく
なった場合は、対象キー項目の全てのデータについて処
理を行ったことになるので、ブロック化処理部10は、
ブロック化サブチェック処理を終了する。
【0123】変数iの値の方が小さい場合は、leve
lの値を調べ(ステップ2605)、その値が(v+w
−1)以外のときには、引き数をlevel+1とし、
再帰的にブロックサブチェック処理2600を実行して
(ステップ2610)、ステップ2609に処理を進め
る。最初に引き数として与えられた数をxとすると、ブ
ロック化サブチェック処理2600を再帰的に実行する
ことにより、キー項目データテーブルインデックス19
の、先頭行(0行目)から最終行(v+w−1行)まで
の各行に、検索すべきキー項目データの番号が格納され
ることになる。そこで、最終行(v+w−1)行までの
全ての行に値が格納されると(すなわちlevelの値
が(v+w−1)になると)、0次表のデータの組み合
わせとの照合が行われることになる。
lの値を調べ(ステップ2605)、その値が(v+w
−1)以外のときには、引き数をlevel+1とし、
再帰的にブロックサブチェック処理2600を実行して
(ステップ2610)、ステップ2609に処理を進め
る。最初に引き数として与えられた数をxとすると、ブ
ロック化サブチェック処理2600を再帰的に実行する
ことにより、キー項目データテーブルインデックス19
の、先頭行(0行目)から最終行(v+w−1行)まで
の各行に、検索すべきキー項目データの番号が格納され
ることになる。そこで、最終行(v+w−1)行までの
全ての行に値が格納されると(すなわちlevelの値
が(v+w−1)になると)、0次表のデータの組み合
わせとの照合が行われることになる。
【0124】ステップ2605において、levelの
値が(v+w−1)の場合は、levelの値が上限に
達し、データテーブルインデックス19の全ての行に値
が格納されているので、0次表データチェック処理(ス
テップ1606)を行う。0次表データチェック処理
は、実行する時点のキー項目データテーブルインデック
スの値を保持する、各キー項目毎のデータ格納領域番号
の示す格納領域から、各キー項目毎にデータを読みだ
し、そのデータの組み合わせと、キー項目データ読み込
み用カウンタの示す0次表のレコードのキー項目データ
の組み合わせとを照合する処理である。
値が(v+w−1)の場合は、levelの値が上限に
達し、データテーブルインデックス19の全ての行に値
が格納されているので、0次表データチェック処理(ス
テップ1606)を行う。0次表データチェック処理
は、実行する時点のキー項目データテーブルインデック
スの値を保持する、各キー項目毎のデータ格納領域番号
の示す格納領域から、各キー項目毎にデータを読みだ
し、そのデータの組み合わせと、キー項目データ読み込
み用カウンタの示す0次表のレコードのキー項目データ
の組み合わせとを照合する処理である。
【0125】0次表データチェック処理が終わると、ブ
ロック化処理部10は、照合対象を0次表13の次のレ
コードにするため、キー項目データ読み込み用カウンタ
を1増やして(ステップ2608)、処理をステップ2
609に進める。ステップ2609では、ブロック化処
理部10は、次のデータを処理するため、変数iの値を
1増やしてステップ2603に処理を戻す。
ロック化処理部10は、照合対象を0次表13の次のレ
コードにするため、キー項目データ読み込み用カウンタ
を1増やして(ステップ2608)、処理をステップ2
609に進める。ステップ2609では、ブロック化処
理部10は、次のデータを処理するため、変数iの値を
1増やしてステップ2603に処理を戻す。
【0126】以上説明したブロック化サブチェック処理
は、再帰手続きを利用した処理であるが、level、
i、及びキー項目データ読み込み用カウンタの値は、局
所変数としてスタックに領域を確保するため、再帰呼び
出しの際にも値は保持される。
は、再帰手続きを利用した処理であるが、level、
i、及びキー項目データ読み込み用カウンタの値は、局
所変数としてスタックに領域を確保するため、再帰呼び
出しの際にも値は保持される。
【0127】ブロック化サブチェック処理では、キー項
目データテーブルインデックス19の全ての行にデータ
が格納される毎に、0次表データチェック処理が行われ
る。キー項目データテーブルインデックス19の保持す
る値の遷移を、図27を用いて説明する。
目データテーブルインデックス19の全ての行にデータ
が格納される毎に、0次表データチェック処理が行われ
る。キー項目データテーブルインデックス19の保持す
る値の遷移を、図27を用いて説明する。
【0128】ind_list(level)の値の遷
移を図27に示す。図27では、例として、0次表13
B(図16に図示)のように、キー項目数は3、第1ブ
ロック化キー項目のデータ数が2、第2ブロック化キー
項目のデータ数が3、第1整列キー項目のデータ数が2
の場合を示す。この場合は、図27に示すように、in
d_list(0)=0または1、ind_list
(1)=0、1または2、ind_list(2)=1
または1、の12通りの組み合わせの全てについて、0
次表データチェック処理が行われる。また、チェックの
順番は、各キーの優先順位に従って、図27に示すよう
な順番で行われる。
移を図27に示す。図27では、例として、0次表13
B(図16に図示)のように、キー項目数は3、第1ブ
ロック化キー項目のデータ数が2、第2ブロック化キー
項目のデータ数が3、第1整列キー項目のデータ数が2
の場合を示す。この場合は、図27に示すように、in
d_list(0)=0または1、ind_list
(1)=0、1または2、ind_list(2)=1
または1、の12通りの組み合わせの全てについて、0
次表データチェック処理が行われる。また、チェックの
順番は、各キーの優先順位に従って、図27に示すよう
な順番で行われる。
【0129】次に、ブロック化サブチェック処理の再帰
処理を、再帰処理の各階層間の制御の流れに従って説明
する。
処理を、再帰処理の各階層間の制御の流れに従って説明
する。
【0130】再帰処理の第1階層:引き数0でブロック
化サブチェック処理が呼ばれると、まず、変数leve
l及び変数iの値は0となり(ステップ2601、26
02)、ステップ2602において、ind_list
(0)の格納領域には、0が格納され、ステップ260
1において、引き数を1として、再帰的にブロック化サ
ブチェック処理が呼ばれる。
化サブチェック処理が呼ばれると、まず、変数leve
l及び変数iの値は0となり(ステップ2601、26
02)、ステップ2602において、ind_list
(0)の格納領域には、0が格納され、ステップ260
1において、引き数を1として、再帰的にブロック化サ
ブチェック処理が呼ばれる。
【0131】再帰処理の第2階層:このブロック化サブ
チェック処理では、変数levelの値は1、変数iの
値は0となり(ステップ2601、2602)、ステッ
プ2602において、ind_list(1)の格納領
域には、0が格納され、ステップ2601において、引
き数を2として、再び、再帰的にブロック化サブチェッ
ク処理が呼ばれる。
チェック処理では、変数levelの値は1、変数iの
値は0となり(ステップ2601、2602)、ステッ
プ2602において、ind_list(1)の格納領
域には、0が格納され、ステップ2601において、引
き数を2として、再び、再帰的にブロック化サブチェッ
ク処理が呼ばれる。
【0132】再帰処理の第3階層(1回目):このブロ
ック化サブチェック処理では、変数levelの値は
2、変数iは0となり(ステップ2601、260
2)、ステップ2602において、ind_list
(2)の格納領域には0が格納される。この処理では、
levelが上限に達しているので、ステップ2606
において、第1回目の0次表データチェック処理が行わ
れる。この0次表データチェック処理では、ind_l
ist(0)=0、ind_list(1)=0、in
d_list(2)=0の条件で、0次表の1番目のレ
コードとの照合が行われる。照合が終了して、エラーが
なかった場合、ブロック化処理部10は、照合対象を0
次表の2番目のレコードとし(ステップ2608)、変
数iの値を1として(ステップ2609)、処理をステ
ップ2609に戻す。
ック化サブチェック処理では、変数levelの値は
2、変数iは0となり(ステップ2601、260
2)、ステップ2602において、ind_list
(2)の格納領域には0が格納される。この処理では、
levelが上限に達しているので、ステップ2606
において、第1回目の0次表データチェック処理が行わ
れる。この0次表データチェック処理では、ind_l
ist(0)=0、ind_list(1)=0、in
d_list(2)=0の条件で、0次表の1番目のレ
コードとの照合が行われる。照合が終了して、エラーが
なかった場合、ブロック化処理部10は、照合対象を0
次表の2番目のレコードとし(ステップ2608)、変
数iの値を1として(ステップ2609)、処理をステ
ップ2609に戻す。
【0133】変数levelの値が2、変数iの値が1
であることから、ステップ2602では、今度はind
_list(2)の格納領域に1が格納される。さら
に、依然としてlevelの値は上限に達しているの
で、ステップ2606において、第2回目の0次表デー
タチェック処理が行われる。この0次表データチェック
処理では、ind_list(0)=0、ind_li
st(1)=0、ind_list(2)=1の条件
で、0次表の1番目のレコードとの照合が行われる。照
合が終了して、エラーが無かった場合、ブロック化処理
部10は、次の照合対象を0次表の3番目のレコードと
し(ステップ2608)、変数iの値を2として(ステ
ップ1609)、処理をステップ2603に戻す。ブロ
ック化処理部10は、変数iの値が、max_ind
(2)の値(3番目のキー項目(第1整列キー項目)の
データ数)である2と一致したため、このブロック化サ
ブチェック処理を終了する。これにより、制御は再帰処
理の第2階層に戻ることになる。
であることから、ステップ2602では、今度はind
_list(2)の格納領域に1が格納される。さら
に、依然としてlevelの値は上限に達しているの
で、ステップ2606において、第2回目の0次表デー
タチェック処理が行われる。この0次表データチェック
処理では、ind_list(0)=0、ind_li
st(1)=0、ind_list(2)=1の条件
で、0次表の1番目のレコードとの照合が行われる。照
合が終了して、エラーが無かった場合、ブロック化処理
部10は、次の照合対象を0次表の3番目のレコードと
し(ステップ2608)、変数iの値を2として(ステ
ップ1609)、処理をステップ2603に戻す。ブロ
ック化処理部10は、変数iの値が、max_ind
(2)の値(3番目のキー項目(第1整列キー項目)の
データ数)である2と一致したため、このブロック化サ
ブチェック処理を終了する。これにより、制御は再帰処
理の第2階層に戻ることになる。
【0134】再帰処理の第2階層:第2階層に制御が戻
ると、ブロック化処理部10は、ステップ1609で、
変数iの値を1増やして、処理をステップ2603に戻
す。第2階層では変数iの値は0だったので、ステップ
2609により変数iの値は0となる。なお、変数le
velの値は1のままである。ステップ2602におい
て、ind_list(1)の格納領域には、1が格納
され、ステップ2601において、引き数を2として、
再び再帰的にブロック化サブチェック処理が呼ばれる。
ると、ブロック化処理部10は、ステップ1609で、
変数iの値を1増やして、処理をステップ2603に戻
す。第2階層では変数iの値は0だったので、ステップ
2609により変数iの値は0となる。なお、変数le
velの値は1のままである。ステップ2602におい
て、ind_list(1)の格納領域には、1が格納
され、ステップ2601において、引き数を2として、
再び再帰的にブロック化サブチェック処理が呼ばれる。
【0135】再帰処理の第3階層(2回目):このブロ
ック化サブチェック処理では、変数levelの値は
2、変数iは0となり(ステップ2601、260
2)、ステップ2602において、ind_list
(2)の格納領域には0が格納される。この処理では、
levelが上限に達しているので、ステップ2606
おいて、第3回目の0次表データチェック処理が行われ
る。照合が終了して、エラーがなかった場合、ブロック
化処理部10は、次の照合対象を0次表の4番目のレコ
ードとし(ステップ2608)、変数iの値を1として
(ステップ2609)、処理をステップ2603に戻
す。
ック化サブチェック処理では、変数levelの値は
2、変数iは0となり(ステップ2601、260
2)、ステップ2602において、ind_list
(2)の格納領域には0が格納される。この処理では、
levelが上限に達しているので、ステップ2606
おいて、第3回目の0次表データチェック処理が行われ
る。照合が終了して、エラーがなかった場合、ブロック
化処理部10は、次の照合対象を0次表の4番目のレコ
ードとし(ステップ2608)、変数iの値を1として
(ステップ2609)、処理をステップ2603に戻
す。
【0136】さらに、変数levelの値が2、変数i
の値が1であることから、捨てぷ2602では、ind
_list(2)の格納領域に1が格納され、ステップ
1606において、第4回目の0次表データチェック処
理(ind_list(0)=0、ind_list
(1)=1、ind_list(2)=1の条件)が行
われる。照合が終了して、エラーがなかった場合、ブロ
ック化処理部10は、次の照合対象を0次表の5番目の
レコードとし(ステップ2608)、変数iの値を2と
して(ステップ2609)、処理をステップ2603に
戻し、このブロック化サブチェック処理を終了する。こ
れにより、制御は再び再帰処理の第2階層に戻ることに
なる。
の値が1であることから、捨てぷ2602では、ind
_list(2)の格納領域に1が格納され、ステップ
1606において、第4回目の0次表データチェック処
理(ind_list(0)=0、ind_list
(1)=1、ind_list(2)=1の条件)が行
われる。照合が終了して、エラーがなかった場合、ブロ
ック化処理部10は、次の照合対象を0次表の5番目の
レコードとし(ステップ2608)、変数iの値を2と
して(ステップ2609)、処理をステップ2603に
戻し、このブロック化サブチェック処理を終了する。こ
れにより、制御は再び再帰処理の第2階層に戻ることに
なる。
【0137】再帰処理の第2階層:第2階層に制御が戻
ると、ブロック化処理部10は、ステップ2609で、
変数iの値を1増やして、処理をステップ2603に戻
す。第2階層では変数iの値は1だったので、ステップ
1609により変数iの値は2となる。なお、変数le
velの値は1のままである。ステップ2602におい
て、ind_list(1)の格納領域には、2が格納
され、ステップ1601において、引き数を2として、
再び再帰的にブロック化サブチェック処理が呼ばれる。
ると、ブロック化処理部10は、ステップ2609で、
変数iの値を1増やして、処理をステップ2603に戻
す。第2階層では変数iの値は1だったので、ステップ
1609により変数iの値は2となる。なお、変数le
velの値は1のままである。ステップ2602におい
て、ind_list(1)の格納領域には、2が格納
され、ステップ1601において、引き数を2として、
再び再帰的にブロック化サブチェック処理が呼ばれる。
【0138】再帰処理の第3階層(3回目):このブロ
ック化サブチェック処理でも、上述の第3階層の処理と
同様にして、第5回目の0次表データチェック処理(i
nd_list(0)=0、ind_list(1)=
2、ind_list(2)=0の条件)と、第6回目
の0次表データチェック処理(ind_list(0)
=0、ind_list(1)=2、ind_list
(2)=1の条件)とが行われ、制御は再び再帰処理の
第2階層に戻されれる。
ック化サブチェック処理でも、上述の第3階層の処理と
同様にして、第5回目の0次表データチェック処理(i
nd_list(0)=0、ind_list(1)=
2、ind_list(2)=0の条件)と、第6回目
の0次表データチェック処理(ind_list(0)
=0、ind_list(1)=2、ind_list
(2)=1の条件)とが行われ、制御は再び再帰処理の
第2階層に戻されれる。
【0139】再帰処理の第2階層:第2階層に制御が戻
ると、ブロック化処理部10は、ステップ2609で、
変数iの値を3とする。これにより、ステップ1604
において、変数iの値がmax_ind(1)の値であ
る3と一致するので、ブロック化処理部10はこのブロ
ック化サブチェック処理を終了する。これにより、制御
は再び再帰処理の第1階層に戻ることになる。
ると、ブロック化処理部10は、ステップ2609で、
変数iの値を3とする。これにより、ステップ1604
において、変数iの値がmax_ind(1)の値であ
る3と一致するので、ブロック化処理部10はこのブロ
ック化サブチェック処理を終了する。これにより、制御
は再び再帰処理の第1階層に戻ることになる。
【0140】再帰処理の第1階層:第1階層に制御が戻
ると、ブロック化処理部10は、ステップ2609で、
変数iの値を1増やして、処理をステップ2603に戻
す。なお、第1階層では変数iの値は0だったので、ス
テップ2609により変数iの値は1となる。変数le
velの値は0のままである。ステップ2602におい
て、ind_list(0)の格納領域には、1が格納
され、ステップ2601において、引き数を1として、
再び、再帰的にブロック化サブチェック処理が呼ばれ、
上述の第2階層及び第3階層の処理が繰り返される。こ
れにより、ind_list(0)=1の、第7回目〜
第12回目の0次表データチェック処理が実行される。
ると、ブロック化処理部10は、ステップ2609で、
変数iの値を1増やして、処理をステップ2603に戻
す。なお、第1階層では変数iの値は0だったので、ス
テップ2609により変数iの値は1となる。変数le
velの値は0のままである。ステップ2602におい
て、ind_list(0)の格納領域には、1が格納
され、ステップ2601において、引き数を1として、
再び、再帰的にブロック化サブチェック処理が呼ばれ、
上述の第2階層及び第3階層の処理が繰り返される。こ
れにより、ind_list(0)=1の、第7回目〜
第12回目の0次表データチェック処理が実行される。
【0141】次に、ステップ2606で実行する0次表
データチェック処理を、図28のフローチャートを用い
て説明する。0次表データチェック処理は、ブロック化
処理部10が行う。
データチェック処理を、図28のフローチャートを用い
て説明する。0次表データチェック処理は、ブロック化
処理部10が行う。
【0142】まず始めに、ブロック化処理部10は、キ
ー項目毎に、キー項目データテーブルインデックス19
の保持する番号のデータを読み込む(ステップ280
1)。すなわち、第1ブロック化キー項目のデータ格納
領域群1710のind_list(0)番目のデータ
格納領域、第2ブロック化キー項目データ格納領域群1
720のind_list(1)番目、…第v+w整列
キー項目のデータ格納領域17(v+w)0のind_
list(v+w−1)番目のデータ格納領域から、そ
れぞれデータを読み込む。
ー項目毎に、キー項目データテーブルインデックス19
の保持する番号のデータを読み込む(ステップ280
1)。すなわち、第1ブロック化キー項目のデータ格納
領域群1710のind_list(0)番目のデータ
格納領域、第2ブロック化キー項目データ格納領域群1
720のind_list(1)番目、…第v+w整列
キー項目のデータ格納領域17(v+w)0のind_
list(v+w−1)番目のデータ格納領域から、そ
れぞれデータを読み込む。
【0143】次に、ブロック化処理部10は、0次表1
3の、キー項目データ読み込み用カウンタの示している
レコードにおけるキー項目データの組み合わせを読み込
む(ステップ2802)。さらに、ブロック化処理部1
0は、上記ステップ2801で読み込んでいるキー項目
データテーブル17のデータの組み合わせと、ステップ
2802で読み込んだ0次表13のキー項目データの組
み合わせが等しいかを検査し、等しい場合は終了する。
3の、キー項目データ読み込み用カウンタの示している
レコードにおけるキー項目データの組み合わせを読み込
む(ステップ2802)。さらに、ブロック化処理部1
0は、上記ステップ2801で読み込んでいるキー項目
データテーブル17のデータの組み合わせと、ステップ
2802で読み込んだ0次表13のキー項目データの組
み合わせが等しいかを検査し、等しい場合は終了する。
【0144】図16の0次表13Bの1レコード目をチ
ェックする場合を例にとると、1レコード目のチェック
(1回目の0次表データチェック処理)では、ind_
list(0)=0、ind_list(1)=0、i
nd_list(2)=0であるから、ステップ280
1では、ブロック化処理部10は、データ格納領域17
11、1721、1731からデータを読み込み、読み
込まれるキー項目データの組み合わせは(「A」「テレ
ビ」「4」)である。また、ステップ2802では、1
回目の0次表データチェック処理であるためカウンタに
は初期値が設定されているので、0次表13Bの1レコ
ード目のキー項目データである(「A」「テレビ」
「4」)が読み込まれる。この1レコード目のチェック
の場合、ステップ2801で読み込んだキー項目データ
と、ステップ2802で読み込んだキー項目データが等
しいため、0次表データチェック処理はここで終了す
る。
ェックする場合を例にとると、1レコード目のチェック
(1回目の0次表データチェック処理)では、ind_
list(0)=0、ind_list(1)=0、i
nd_list(2)=0であるから、ステップ280
1では、ブロック化処理部10は、データ格納領域17
11、1721、1731からデータを読み込み、読み
込まれるキー項目データの組み合わせは(「A」「テレ
ビ」「4」)である。また、ステップ2802では、1
回目の0次表データチェック処理であるためカウンタに
は初期値が設定されているので、0次表13Bの1レコ
ード目のキー項目データである(「A」「テレビ」
「4」)が読み込まれる。この1レコード目のチェック
の場合、ステップ2801で読み込んだキー項目データ
と、ステップ2802で読み込んだキー項目データが等
しいため、0次表データチェック処理はここで終了す
る。
【0145】また、ステップ2803において2つのデ
ータの組み合わせが等しくない場合、ブロック化処理部
10は、照合対象が0次表の1番目のレコードであれ
ば、すなわち、キー項目データ読み込み用カウンタの値
が1であれば(ステップ2804)、0次表の先頭にブ
ランクレコードを追加するため、ステップ2808に処
理を進める。照合対象が1番目のレコードでない場合
は、0次表の直前のレコードのキー項目データの組み合
わせと比較するため、ブロック化処理部10は、キー項
目データ読み込み用カウンタを1減らし(ステップ28
05)、キー項目データ読み込み用カウンタの示す0次
表13のレコードのキー項目データを再び読み出す(ス
テップ2806)。次に、ブロック化処理部10は、ス
テップ2802で読み込んだ0次表13のキー項目デー
タの組み合わせが等しいか否かを検査する(ステップ2
807)。ここで、2つのデータが等しくない場合、キ
ー項目データの組み合わせに該当するレコードが0次表
13にないことになるため、ブロック化処理部10は、
図29(b)に示すように、0次表3のi行目にブラン
クレコードを挿入する(ステップ2808)。ブランク
レコードを挿入すると、ブランクレコード以降に続く0
次表13の全てのレコードが1レコード分繰り下げられ
る。次に、ステップ2805で減らしたカウンタを元通
りにするために、キー項目データ読み込み用カウンタを
1増やす(ステップ2809)。
ータの組み合わせが等しくない場合、ブロック化処理部
10は、照合対象が0次表の1番目のレコードであれ
ば、すなわち、キー項目データ読み込み用カウンタの値
が1であれば(ステップ2804)、0次表の先頭にブ
ランクレコードを追加するため、ステップ2808に処
理を進める。照合対象が1番目のレコードでない場合
は、0次表の直前のレコードのキー項目データの組み合
わせと比較するため、ブロック化処理部10は、キー項
目データ読み込み用カウンタを1減らし(ステップ28
05)、キー項目データ読み込み用カウンタの示す0次
表13のレコードのキー項目データを再び読み出す(ス
テップ2806)。次に、ブロック化処理部10は、ス
テップ2802で読み込んだ0次表13のキー項目デー
タの組み合わせが等しいか否かを検査する(ステップ2
807)。ここで、2つのデータが等しくない場合、キ
ー項目データの組み合わせに該当するレコードが0次表
13にないことになるため、ブロック化処理部10は、
図29(b)に示すように、0次表3のi行目にブラン
クレコードを挿入する(ステップ2808)。ブランク
レコードを挿入すると、ブランクレコード以降に続く0
次表13の全てのレコードが1レコード分繰り下げられ
る。次に、ステップ2805で減らしたカウンタを元通
りにするために、キー項目データ読み込み用カウンタを
1増やす(ステップ2809)。
【0146】例えば、図29(a)に示す0次表13J
の2レコード目をチェックする場合(2回目の0次表デ
ータチェック処理)は、ind_list(0)=0、
ind_list(1)=0、ind_list(2)
=1であるから、ステップ2801では、ブロック化処
理部10は、データ格納領域1711、1721、17
32からデータを読み込み、読み込まれるキー項目デー
タの組み合わせは(「A」「テレビ」「5」)である。
また、ステップ2802で読み込まれるデータは、2回
目の0次表データチェック処理であるためカウンタには
2が設定されているので、0次表13Hの2レコード目
のキー項目データの組み合わせである(「A」「ラジ
オ」「4」)である。ゆえに、ステップ2803ではス
テップ2801で読み込んだキー項目データと、ステッ
プ2802で読み込んだキー項目データは異なると判定
されるため、処理はステップ2805に進められる。ス
テップ2805でカウンタの値は1となるため、ステッ
プ2806で読み込まれるデータは、0次表13Hの1
レコード目のキー項目データの組み合わせである
(「A」「テレビ」「4」)となる。
の2レコード目をチェックする場合(2回目の0次表デ
ータチェック処理)は、ind_list(0)=0、
ind_list(1)=0、ind_list(2)
=1であるから、ステップ2801では、ブロック化処
理部10は、データ格納領域1711、1721、17
32からデータを読み込み、読み込まれるキー項目デー
タの組み合わせは(「A」「テレビ」「5」)である。
また、ステップ2802で読み込まれるデータは、2回
目の0次表データチェック処理であるためカウンタには
2が設定されているので、0次表13Hの2レコード目
のキー項目データの組み合わせである(「A」「ラジ
オ」「4」)である。ゆえに、ステップ2803ではス
テップ2801で読み込んだキー項目データと、ステッ
プ2802で読み込んだキー項目データは異なると判定
されるため、処理はステップ2805に進められる。ス
テップ2805でカウンタの値は1となるため、ステッ
プ2806で読み込まれるデータは、0次表13Hの1
レコード目のキー項目データの組み合わせである
(「A」「テレビ」「4」)となる。
【0147】従って、ステップ2802で読み込まれた
データの組み合わせと、ステップ2806で読み込まれ
たデータの組み合わせとが等しくないため、ブロック化
処理部10は、0次表13Jのi行目、すなわち、2行
目にブランクレコードを挿入する。同様にして全てのレ
コードのチェックが終了すると、0次表13Jの場合、
結果として3ヶ所にブランクレコードが挿入され、図2
9(b)に図示する0次表13Kが得られる。
データの組み合わせと、ステップ2806で読み込まれ
たデータの組み合わせとが等しくないため、ブロック化
処理部10は、0次表13Jのi行目、すなわち、2行
目にブランクレコードを挿入する。同様にして全てのレ
コードのチェックが終了すると、0次表13Jの場合、
結果として3ヶ所にブランクレコードが挿入され、図2
9(b)に図示する0次表13Kが得られる。
【0148】また、ステップ2807で等しい場合は、
0次表13におけるキー項目データの組み合わせが重複
していることになるため、ブロック化パラメータテーブ
ル15のエラーコード格納領域161にエラーコードを
設定して(ステップ2810)、0次表データチェック
処理を終了する。
0次表13におけるキー項目データの組み合わせが重複
していることになるため、ブロック化パラメータテーブ
ル15のエラーコード格納領域161にエラーコードを
設定して(ステップ2810)、0次表データチェック
処理を終了する。
【0149】例えば、図8(a)に示した0次表13H
の2レコード目をチェックする場合(2回目の0次表デ
ータチェック処理)を考えると、ind_list
(0)=0、ind_list(1)=1であるから、
ステップ2801では、ブロック化処理部10は、デー
タ格納領域1811、1822からデータを読み込み、
読み込まれるキー項目データの組み合わせは(「A」、
「5」)である。また、ステップ2802で読み込まれ
るデータは、2回目の0次表データチェック処理である
ため、カウンタには2が設定されているので、0次表1
3Hの2レコード目のキー項目データの組み合わせであ
る(「A」、「4」)である。ゆえに、ステップ280
3では、ステップ2801で読み込んだキー項目データ
と、ステップ2802で読み込んだキー項目データは異
なると判定されるため、処理はステップ2805に進め
られる。ステップ2805でカウンタの値は1となるた
め、ステップ2806で読み込まれるデータは、0次表
13Hの1レコード目のキー項目データの組み合わせで
ある(「A」、「4」)となる。この例では、ステップ
2802で読み込まれたデータの組み合わせと、ステッ
プ2806で読み込まれたデータの組み合わせとが等し
い。これは、0次表にキー項目の重複するレコードがあ
るためである。ステップ2807でこのようなキー項目
の重複を検出したブロック化処理部10は、ステップ2
810でエラーコードを設定し、0次表データチェック
処理を終了する。
の2レコード目をチェックする場合(2回目の0次表デ
ータチェック処理)を考えると、ind_list
(0)=0、ind_list(1)=1であるから、
ステップ2801では、ブロック化処理部10は、デー
タ格納領域1811、1822からデータを読み込み、
読み込まれるキー項目データの組み合わせは(「A」、
「5」)である。また、ステップ2802で読み込まれ
るデータは、2回目の0次表データチェック処理である
ため、カウンタには2が設定されているので、0次表1
3Hの2レコード目のキー項目データの組み合わせであ
る(「A」、「4」)である。ゆえに、ステップ280
3では、ステップ2801で読み込んだキー項目データ
と、ステップ2802で読み込んだキー項目データは異
なると判定されるため、処理はステップ2805に進め
られる。ステップ2805でカウンタの値は1となるた
め、ステップ2806で読み込まれるデータは、0次表
13Hの1レコード目のキー項目データの組み合わせで
ある(「A」、「4」)となる。この例では、ステップ
2802で読み込まれたデータの組み合わせと、ステッ
プ2806で読み込まれたデータの組み合わせとが等し
い。これは、0次表にキー項目の重複するレコードがあ
るためである。ステップ2807でこのようなキー項目
の重複を検出したブロック化処理部10は、ステップ2
810でエラーコードを設定し、0次表データチェック
処理を終了する。
【0150】次に、ステップ2103のブロック化並べ
換え処理について説明する。ブロック化並べ換え処理の
一例を図30に示す。
換え処理について説明する。ブロック化並べ換え処理の
一例を図30に示す。
【0151】データ配列30は、ブロック化チェック処
理を行った後の0次表13における、第1数値項目から
第h数値項目を抽出した配列である。これを、ブロック
化変換元表と呼ぶ。また、この配列の各要素は、行番号
をi、列番号をjとすると、S(i、j)で表す。ブロ
ック化変換元表30の列の総数は、数値項目の数である
hであり、行の総数は、全てのブロック化キー項目のデ
ータ数と全ての整列キー項目のデータ数を掛け合わせた
数である。行の総数はb(1)×…b(v)×s(1)
×…s(w)で求められる。本実施例では、ブロック化
変換元表30は新たに主記憶202に確保された領域に
保持されるわけではない。
理を行った後の0次表13における、第1数値項目から
第h数値項目を抽出した配列である。これを、ブロック
化変換元表と呼ぶ。また、この配列の各要素は、行番号
をi、列番号をjとすると、S(i、j)で表す。ブロ
ック化変換元表30の列の総数は、数値項目の数である
hであり、行の総数は、全てのブロック化キー項目のデ
ータ数と全ての整列キー項目のデータ数を掛け合わせた
数である。行の総数はb(1)×…b(v)×s(1)
×…s(w)で求められる。本実施例では、ブロック化
変換元表30は新たに主記憶202に確保された領域に
保持されるわけではない。
【0152】一方、1次表14は、ブロック化変換元表
30のデータを配置させるため、ブロック化処理部10
が新たに作成する表であり、主記憶202に配置され
る。1次表14の列の総数は、全ての整列キー項目デー
タの最大数と数値項目数を掛け合わせた数である。すな
わち、列の総数はs(1)×…×s(w)×h個とな
る。また、1次表14の行の総数は、全てのブロック化
キー項目のデータ数を掛け合わせたb(1)×…×b
(v)個となる。ここでは、1次表14Kの各要素は、
行番号をk、列番号をtとすると、D(k、t)で表
す。
30のデータを配置させるため、ブロック化処理部10
が新たに作成する表であり、主記憶202に配置され
る。1次表14の列の総数は、全ての整列キー項目デー
タの最大数と数値項目数を掛け合わせた数である。すな
わち、列の総数はs(1)×…×s(w)×h個とな
る。また、1次表14の行の総数は、全てのブロック化
キー項目のデータ数を掛け合わせたb(1)×…×b
(v)個となる。ここでは、1次表14Kの各要素は、
行番号をk、列番号をtとすると、D(k、t)で表
す。
【0153】次に、ブロック化変換元表30の各要素
を、1次表14Kに対応付ける方法について説明する。
ブロック化変換元表30の任意のデータをS(i、
j)、1次表14Kの任意の要素をD(k、t)と表
し、S(i、j)の1次表14Kへの写像を考える。i
は、ブロック化変換元表30のX座標であり、0〜hー
1の範囲で動き、jは、ブロック化変換元表30のY座
標であり、0〜s(1)×…s(w)×b(1)×…×
b(v)ー1の範囲で動く。同様に、kは、1次表14
kのX座標であり、tは、1次表14のY座標である。
を、1次表14Kに対応付ける方法について説明する。
ブロック化変換元表30の任意のデータをS(i、
j)、1次表14Kの任意の要素をD(k、t)と表
し、S(i、j)の1次表14Kへの写像を考える。i
は、ブロック化変換元表30のX座標であり、0〜hー
1の範囲で動き、jは、ブロック化変換元表30のY座
標であり、0〜s(1)×…s(w)×b(1)×…×
b(v)ー1の範囲で動く。同様に、kは、1次表14
kのX座標であり、tは、1次表14のY座標である。
【0154】今、αをj÷(s(1)×…s(w))の
商、βをj÷(s(1)×…s(w))の余りとする
と、1次表14kのX座標はk=i+β×h、Y座標は
t=αという写像を考えることができる。本実施例で
は、0次表の各データについて、このようにして1次表
14上の格納位置を求め、データを1次表14に格納し
て、1次表14を得る。
商、βをj÷(s(1)×…s(w))の余りとする
と、1次表14kのX座標はk=i+β×h、Y座標は
t=αという写像を考えることができる。本実施例で
は、0次表の各データについて、このようにして1次表
14上の格納位置を求め、データを1次表14に格納し
て、1次表14を得る。
【0155】図31は、以上説明したブロック化並べ換
え処理をフローチャートで表したものである。ブロック
化処理部10は、まず始めに、前記1次表14Kの配列
のエリアを主記憶202に確保する(ステップ310
1)。配列のエリアを確保する際には、キー項目データ
最大数テーブル18の各要素と、パラメータテーブル1
5のフィールド数値項目数格納領域157を参照する。
例えば、1次表14B(図16に図示)を作成する場合
を考える。この例では、b(1)=2、b(2)=3、
s(1)=2である。ゆえに、キー項目データ最大数テ
ーブル18の0番目の格納領域には2が、1番目の格納
領域には3が、2番目の格納領域には2が、それぞれ保
持され、数値項目数格納領域157には2が格納されて
いる。従って、列の総数は、s(1)×h=2×2=
4、行の総数は、b(1)×b(2)=2×3=6の大
きさの配列を格納する領域が確保される。
え処理をフローチャートで表したものである。ブロック
化処理部10は、まず始めに、前記1次表14Kの配列
のエリアを主記憶202に確保する(ステップ310
1)。配列のエリアを確保する際には、キー項目データ
最大数テーブル18の各要素と、パラメータテーブル1
5のフィールド数値項目数格納領域157を参照する。
例えば、1次表14B(図16に図示)を作成する場合
を考える。この例では、b(1)=2、b(2)=3、
s(1)=2である。ゆえに、キー項目データ最大数テ
ーブル18の0番目の格納領域には2が、1番目の格納
領域には3が、2番目の格納領域には2が、それぞれ保
持され、数値項目数格納領域157には2が格納されて
いる。従って、列の総数は、s(1)×h=2×2=
4、行の総数は、b(1)×b(2)=2×3=6の大
きさの配列を格納する領域が確保される。
【0156】次に、ブロック化処理部10は、変換元表
30のY座標を参照する変数jを初期化、すなわち、主
記憶202上の変数jの格納領域に0を格納し(ステッ
プ3102)、α、β、tを求める(ステップ310
3)。上述のように、αはj÷(s(1)×…s
(w))の商、βはj÷(s(1)×…s(w))の余
りである。また、tは1次表14の各要素を参照する際
の列番号(Y座標)を表す変数であり、ステップ310
3では、主記憶202内のtの格納領域にαの値が格納
される。
30のY座標を参照する変数jを初期化、すなわち、主
記憶202上の変数jの格納領域に0を格納し(ステッ
プ3102)、α、β、tを求める(ステップ310
3)。上述のように、αはj÷(s(1)×…s
(w))の商、βはj÷(s(1)×…s(w))の余
りである。また、tは1次表14の各要素を参照する際
の列番号(Y座標)を表す変数であり、ステップ310
3では、主記憶202内のtの格納領域にαの値が格納
される。
【0157】α、β、tが定められると、ブロック化処
理部10は変数iを初期化、すなわち、主記憶202上
の変数iの格納領域に0を格納し(ステップ310
4)、続いて、1次表14KのX座標kを算出する。な
お、kは、k=i+β×hの計算式により求められる。
これにより、処理対象のデータの1次表14Kにおける
X座標とY座標が求められたので、ブロック化処理部1
0は、変換元表30のi行j列のデータを、1次表14
Kのk行t列に格納する処理を行う(ステップ310
5)。
理部10は変数iを初期化、すなわち、主記憶202上
の変数iの格納領域に0を格納し(ステップ310
4)、続いて、1次表14KのX座標kを算出する。な
お、kは、k=i+β×hの計算式により求められる。
これにより、処理対象のデータの1次表14Kにおける
X座標とY座標が求められたので、ブロック化処理部1
0は、変換元表30のi行j列のデータを、1次表14
Kのk行t列に格納する処理を行う(ステップ310
5)。
【0158】次に、ブロック化処理部10は、変数iと
変換元表30の列数であるhの大きさを比べ(ステップ
3106)、変数iが小さければ、変数iを1増やし
(ステップ3107)、ステップ3105に処理を戻し
て、同じ行の次の列のレコードのY座標を計算して、デ
ータの1次表14への格納処理を行う。また、変数iの
示す0次表のレコードの列番号が、すでに最終列に達し
ている場合(ステップ3106)、ブロック化処理部1
0は、変数jと変換元表30の行数とを比べる(ステッ
プ3108)。なお、上述のように、行数はs(1)×
…s(w)×b(1)×…×b(v)により求められ
る。変数jが小さければ、まだ処理すべき行が残ってい
るので、変数jを1増やし(ステップ3109)、処理
をステップ3103に戻す。これにより、変換元表30
の次の行のレコードの、1次表14への格納が実行され
る。また、ステップ3108において、すでに処理対象
の行番号iが最終行に達していた場合、ブロック化チェ
ック済の0次表に含まれる全てのレコードが、1次表の
対応する場所に格納されたことになるので、ブロック化
処理部10はブロック化並べ換え処理を終了する。以上
の処理の結果、図16の0次表13Bから、1次表14
Bが作成される。
変換元表30の列数であるhの大きさを比べ(ステップ
3106)、変数iが小さければ、変数iを1増やし
(ステップ3107)、ステップ3105に処理を戻し
て、同じ行の次の列のレコードのY座標を計算して、デ
ータの1次表14への格納処理を行う。また、変数iの
示す0次表のレコードの列番号が、すでに最終列に達し
ている場合(ステップ3106)、ブロック化処理部1
0は、変数jと変換元表30の行数とを比べる(ステッ
プ3108)。なお、上述のように、行数はs(1)×
…s(w)×b(1)×…×b(v)により求められ
る。変数jが小さければ、まだ処理すべき行が残ってい
るので、変数jを1増やし(ステップ3109)、処理
をステップ3103に戻す。これにより、変換元表30
の次の行のレコードの、1次表14への格納が実行され
る。また、ステップ3108において、すでに処理対象
の行番号iが最終行に達していた場合、ブロック化チェ
ック済の0次表に含まれる全てのレコードが、1次表の
対応する場所に格納されたことになるので、ブロック化
処理部10はブロック化並べ換え処理を終了する。以上
の処理の結果、図16の0次表13Bから、1次表14
Bが作成される。
【0159】図32は、分配化処理(ステップ200
7)における分配化処理部11の動作を示すフローチャ
ートである。図20を用いて説明したように、分配化
は、ブロック化処理を経て行う場合と、ブロック化処理
を経ないで行う場合がある。なお、ブロック化処理を経
て行う場合、ブロック化処理部10による整合性のチェ
ックと、ブランクデータの挿入が行われているため、分
配化処理におけるパラメータの整合性のチェックは、行
う必要がない。そこで、まず、分配化処理部11は、パ
ラメータテーブル15のブロック化指定格納領域151
を参照して、ブロック化指定の有無を調べる(ステップ
3201)。ここで、ブロック化指定が有った場合は、
すでにブロック化処理が済んでいるはずなので分配化処
理部11は、パラメータのチェックを行うことなく、分
配化並べ換え処理を実行する(ステップ3204)。ま
た、ブロック化指定が無ければ、ブロック化は行われて
いないので、分配化処理部11は、分配化パラメータの
チェック処理を行う(ステップ3202)。
7)における分配化処理部11の動作を示すフローチャ
ートである。図20を用いて説明したように、分配化
は、ブロック化処理を経て行う場合と、ブロック化処理
を経ないで行う場合がある。なお、ブロック化処理を経
て行う場合、ブロック化処理部10による整合性のチェ
ックと、ブランクデータの挿入が行われているため、分
配化処理におけるパラメータの整合性のチェックは、行
う必要がない。そこで、まず、分配化処理部11は、パ
ラメータテーブル15のブロック化指定格納領域151
を参照して、ブロック化指定の有無を調べる(ステップ
3201)。ここで、ブロック化指定が有った場合は、
すでにブロック化処理が済んでいるはずなので分配化処
理部11は、パラメータのチェックを行うことなく、分
配化並べ換え処理を実行する(ステップ3204)。ま
た、ブロック化指定が無ければ、ブロック化は行われて
いないので、分配化処理部11は、分配化パラメータの
チェック処理を行う(ステップ3202)。
【0160】この分配化パラメータのチェックは、ブロ
ック化の際のチェックと同様に、分配対象項目数nが繰
り返し最小単位rで割り切れるかどうか(n÷rが正の
整数となるかどうか)を調べることで実現する。ここで
チェックの結果、n÷rが正の整数であれば、分配化パ
ラメータは正しいので、分配化処理部11は、次の並び
換え処理を行い(ステップ3204)、分配化処理を終
了する。また、正の整数でなければ、パラメータの指定
が正しくないので、分配化処理部11は、パラメータテ
ーブル15のエラーコード格納領域161にエラーコー
ドを設定して(ステップ3203)、分配化処理を終了
する。
ック化の際のチェックと同様に、分配対象項目数nが繰
り返し最小単位rで割り切れるかどうか(n÷rが正の
整数となるかどうか)を調べることで実現する。ここで
チェックの結果、n÷rが正の整数であれば、分配化パ
ラメータは正しいので、分配化処理部11は、次の並び
換え処理を行い(ステップ3204)、分配化処理を終
了する。また、正の整数でなければ、パラメータの指定
が正しくないので、分配化処理部11は、パラメータテ
ーブル15のエラーコード格納領域161にエラーコー
ドを設定して(ステップ3203)、分配化処理を終了
する。
【0161】次に、分配化並び換え処理(ステップ32
04)について説明する。まず、分配化並べ換え処理の
際の1次表における格納位置の決定方法について説明す
る。分配化並べ換え処理における配列の座標変換の概念
を図33に示す。前述のように、分配化は、分配化のみ
を行う場合とブロック化処理後に行う場合がある。分配
化のみを行う場合は、分配対象項目で構成される表、ブ
ロック化処理後に行う場合は、ブロック化処理後の1次
表14の数値項目で構成される表が分配化変換の元にな
る。この分配化の元になる表(ブロック化を経ていない
ときは0次表の分配対象項目のデータの配列、ブロック
化済のときは1次表の数値項目のデータの配列を分配化
変換元表と呼ぶ。分配化変換元表31は、配列の構造を
有した、ここでは、x列y行の配列であるとする。すな
わち、分配化変換元表31は、1行内に並べるデータが
x個、1列内に並べるデータがy個あるとする。この分
配化変換元表31のi行j列に保持されるデータは、S
(i、j)として表される。例えば、1次表14B(図
16に図示)の場合は、列の総数xは4、行の総数は6
である。分配化変換元表31は、分配化処理部11が新
たに主記憶202に格納領域を確保後、ブロック化処理
後の1次表14における数値項目のデータか、あるい
は、0次表13における分配対象項目のデータをコピー
することで作成される。
04)について説明する。まず、分配化並べ換え処理の
際の1次表における格納位置の決定方法について説明す
る。分配化並べ換え処理における配列の座標変換の概念
を図33に示す。前述のように、分配化は、分配化のみ
を行う場合とブロック化処理後に行う場合がある。分配
化のみを行う場合は、分配対象項目で構成される表、ブ
ロック化処理後に行う場合は、ブロック化処理後の1次
表14の数値項目で構成される表が分配化変換の元にな
る。この分配化の元になる表(ブロック化を経ていない
ときは0次表の分配対象項目のデータの配列、ブロック
化済のときは1次表の数値項目のデータの配列を分配化
変換元表と呼ぶ。分配化変換元表31は、配列の構造を
有した、ここでは、x列y行の配列であるとする。すな
わち、分配化変換元表31は、1行内に並べるデータが
x個、1列内に並べるデータがy個あるとする。この分
配化変換元表31のi行j列に保持されるデータは、S
(i、j)として表される。例えば、1次表14B(図
16に図示)の場合は、列の総数xは4、行の総数は6
である。分配化変換元表31は、分配化処理部11が新
たに主記憶202に格納領域を確保後、ブロック化処理
後の1次表14における数値項目のデータか、あるい
は、0次表13における分配対象項目のデータをコピー
することで作成される。
【0162】分配化処理部11は、新たに主記憶202
に格納領域を確保す、分配化変換元表31のデータを再
配置して1次表14Mを作成する。1次表14Mは、配
列であり、そのk行t列の位置に保持されるデータはD
(k、t)として表すことができる。1次表14Sの列
の総数は、分配化変換元表31の列の総数xをqで割っ
た数となり、行の総数は、分配化変換元表31の行の総
数にqをかけたものとなる。なお、qは、分配化パラメ
ータとして、入出力装置を介して入力された値であり、
分配化変換元表31の1行に含まれるデータのうちの、
分配化後の1次表において1列に表現されるデータの数
qである。1次表14F(図16に図示)の場合は、列
の総数は(x=4)÷(q=2)=2となり、行の総数
は(y=6)×(q=2)=12となる。
に格納領域を確保す、分配化変換元表31のデータを再
配置して1次表14Mを作成する。1次表14Mは、配
列であり、そのk行t列の位置に保持されるデータはD
(k、t)として表すことができる。1次表14Sの列
の総数は、分配化変換元表31の列の総数xをqで割っ
た数となり、行の総数は、分配化変換元表31の行の総
数にqをかけたものとなる。なお、qは、分配化パラメ
ータとして、入出力装置を介して入力された値であり、
分配化変換元表31の1行に含まれるデータのうちの、
分配化後の1次表において1列に表現されるデータの数
qである。1次表14F(図16に図示)の場合は、列
の総数は(x=4)÷(q=2)=2となり、行の総数
は(y=6)×(q=2)=12となる。
【0163】次に、分配化変換元表31の各データの、
1次表14Sにおける格納位置の求め方について説明す
る。ここで、分配化変換元表31のデータをS(i、
j)、1次表14Kの要素をD(k、t)と表し、分配
化変換元表31のS(i、j)の1次表14への写像を
考える。iは、分配化変換元表31のX座標であり、j
は、分配化変換元表31のY座標である。同様に、k
は、1次表14SのX座標であり、tは、1次表14S
のY座標である。今、αをi÷(p×q)の商、βをi
÷(p×q)の余りとし、さらに、γをβ÷pの商、δ
をβ÷pの余りとすると、1次表14Sの要素(X座標
k、Y座標t)は、k=pα+δ、t=qj+γの変換
式により変換して得られる写像として考えることができ
る。
1次表14Sにおける格納位置の求め方について説明す
る。ここで、分配化変換元表31のデータをS(i、
j)、1次表14Kの要素をD(k、t)と表し、分配
化変換元表31のS(i、j)の1次表14への写像を
考える。iは、分配化変換元表31のX座標であり、j
は、分配化変換元表31のY座標である。同様に、k
は、1次表14SのX座標であり、tは、1次表14S
のY座標である。今、αをi÷(p×q)の商、βをi
÷(p×q)の余りとし、さらに、γをβ÷pの商、δ
をβ÷pの余りとすると、1次表14Sの要素(X座標
k、Y座標t)は、k=pα+δ、t=qj+γの変換
式により変換して得られる写像として考えることができ
る。
【0164】本実施例における、分配化処理部11の分
配化処理部11の分配化並べ換え処理を図34に示す。
配化処理部11の分配化並べ換え処理を図34に示す。
【0165】まず始めに、分配化処理部11は、変換元
表31のエリアを主記憶202に確保後、ブロック化後
の1次表14、あるいはブロック化が行われていない場
合は0次表13のデータを、変換元表41用に確保され
た領域にコピーする(ステップ3401)。ここで、ブ
ロック化が行われて以内場合には、0次表13における
分配対象項目の第1分配対象項目から第n分配対象項目
までのデータがコピーされ、ブロック化後に分配化を行
う場合には、1次表14の数値項目のデータがコピーさ
れる。
表31のエリアを主記憶202に確保後、ブロック化後
の1次表14、あるいはブロック化が行われていない場
合は0次表13のデータを、変換元表41用に確保され
た領域にコピーする(ステップ3401)。ここで、ブ
ロック化が行われて以内場合には、0次表13における
分配対象項目の第1分配対象項目から第n分配対象項目
までのデータがコピーされ、ブロック化後に分配化を行
う場合には、1次表14の数値項目のデータがコピーさ
れる。
【0166】次に、分配化処理部11は、1次表14S
の配列のエリアを主記憶202に確保する(ステップ3
402)。なお、分配化処理部11は、配列のエリアを
確保するために際して、分配化変換元表31の列の総数
x、及び行の総数yと、パラメータテーブル15のフィ
ールド159に格納されている分配化により1列に表現
されるデータの数qを参照し、これらの値に従って、作
成する1次表14Sの大きさを決定する。次に、分配化
処理部11は、変換元表31のX座標を示すための変数
iを初期化して0とし(ステップ3403)上述の計算
式によりα、β、γ、δを算出後、1次表14SのX座
標であるkをk=pα+δの計算式により算出する(ス
テップ3404)。
の配列のエリアを主記憶202に確保する(ステップ3
402)。なお、分配化処理部11は、配列のエリアを
確保するために際して、分配化変換元表31の列の総数
x、及び行の総数yと、パラメータテーブル15のフィ
ールド159に格納されている分配化により1列に表現
されるデータの数qを参照し、これらの値に従って、作
成する1次表14Sの大きさを決定する。次に、分配化
処理部11は、変換元表31のX座標を示すための変数
iを初期化して0とし(ステップ3403)上述の計算
式によりα、β、γ、δを算出後、1次表14SのX座
標であるkをk=pα+δの計算式により算出する(ス
テップ3404)。
【0167】X座標が求められたので、分配化処理部1
1は、次に、変換元表31のY座標を参照する変数jを
初期化し、0にする(ステップ3405)。次に、分配
化処理部11は、1次表14SのY座標tを、t=qj
+γの計算により算出し(ステップ3406)、変換元
表31のi行j列のデータを1次表14Sのk行t列の
格納領域に格納する処理を行う(ステップ3407)。
1は、次に、変換元表31のY座標を参照する変数jを
初期化し、0にする(ステップ3405)。次に、分配
化処理部11は、1次表14SのY座標tを、t=qj
+γの計算により算出し(ステップ3406)、変換元
表31のi行j列のデータを1次表14Sのk行t列の
格納領域に格納する処理を行う(ステップ3407)。
【0168】データを格納すると、さらに格納すべきデ
ータがあるかどうか調べるため、分配化処理部11は、
変数jと分配化変換元表31の行の総数yとを比べる
(ステップ3408)、変数jが小さければ、処理対象
の列内に、まだ処理すべきデータが残っているので、分
配化処理部11は、変数jを1増やし(ステップ340
9)、ステップ3406に処理を脅す。ステップ340
8において、変数jがyに達していれば、処理対象の列
内の最後のデータの処理が終わったことを示しているの
で、分配化処理部11は、今後は、変数iと分配化変換
元表31の列の総数xを比べる(ステップ3410)。
ここで、変数iが小さければ、まだ処理すべき列が残っ
ているので、分配化処理部11は、変数iを1増やし
(ステップ3411)、ステップ3404に処理を戻し
て、次の列の並べ換えを行う。ステップ3410におい
て、変数iがxに達していれば、すでに全ての列の並べ
換えが行われているので、分配化処理部11は、分配化
並べ換え処理を終了する。
ータがあるかどうか調べるため、分配化処理部11は、
変数jと分配化変換元表31の行の総数yとを比べる
(ステップ3408)、変数jが小さければ、処理対象
の列内に、まだ処理すべきデータが残っているので、分
配化処理部11は、変数jを1増やし(ステップ340
9)、ステップ3406に処理を脅す。ステップ340
8において、変数jがyに達していれば、処理対象の列
内の最後のデータの処理が終わったことを示しているの
で、分配化処理部11は、今後は、変数iと分配化変換
元表31の列の総数xを比べる(ステップ3410)。
ここで、変数iが小さければ、まだ処理すべき列が残っ
ているので、分配化処理部11は、変数iを1増やし
(ステップ3411)、ステップ3404に処理を戻し
て、次の列の並べ換えを行う。ステップ3410におい
て、変数iがxに達していれば、すでに全ての列の並べ
換えが行われているので、分配化処理部11は、分配化
並べ換え処理を終了する。
【0169】以上の処理によって、図16の1次表14
Fが生成される。そして、ステップ2009にて、デー
タ転送処理部12が、生成された1次表14を、表計算
手段20を介してユーザ表22に転送することにより、
DB表5のデータ配置構造を、ユーザが求めるデータ配
置構造に変換し、表計算手段20で扱うことができるユ
ーザ表22とすることができる。
Fが生成される。そして、ステップ2009にて、デー
タ転送処理部12が、生成された1次表14を、表計算
手段20を介してユーザ表22に転送することにより、
DB表5のデータ配置構造を、ユーザが求めるデータ配
置構造に変換し、表計算手段20で扱うことができるユ
ーザ表22とすることができる。
【0170】以上説明したように、データ配置構造の変
換処理をソート処理、ブロック化処理、分配化処理の組
み合わせとして考え、該変換処理毎にパラメータを与え
ることによりデータ配置構造の変換を実現することがで
きるため、プログラミングレスでのデータ配置構造の変
換が可能である。
換処理をソート処理、ブロック化処理、分配化処理の組
み合わせとして考え、該変換処理毎にパラメータを与え
ることによりデータ配置構造の変換を実現することがで
きるため、プログラミングレスでのデータ配置構造の変
換が可能である。
【0171】ところで、前記実施例のブロック化におけ
るチェック機能では、該キー項目データの組み合わせに
相当する数値データがない場合は、0次表13の相当行
にブランク行を挿入していた。しかしこの場合、ブラン
ク行を挿入せずエラーメッセージを表示して終了するこ
とも可能である。
るチェック機能では、該キー項目データの組み合わせに
相当する数値データがない場合は、0次表13の相当行
にブランク行を挿入していた。しかしこの場合、ブラン
ク行を挿入せずエラーメッセージを表示して終了するこ
とも可能である。
【0172】また、前記実施例では、該キー項目データ
のソート処理を、ソート処理部9で行っているが、該ソ
ート処理を、サーバ1のDBエンジン3を利用して行う
ことも可能である。その場合、0次表13には既にソー
ト済のデータが入る。
のソート処理を、ソート処理部9で行っているが、該ソ
ート処理を、サーバ1のDBエンジン3を利用して行う
ことも可能である。その場合、0次表13には既にソー
ト済のデータが入る。
【0173】ところで、これまで、ステップ2001で
の対応付けパラメータの具体的な指定方法については詳
述しなかった。
の対応付けパラメータの具体的な指定方法については詳
述しなかった。
【0174】以下で、対応付けパラメータ入力処理部1
6による具体的な処理内容について、より詳しく説明す
る。対応付けパラメータ入力処理部16ではGUIを採
用している。GUIは、表示装置209にグラフィック
表示することにより、ユーザがビジュアルな環境で操作
することを可能とする技術である。ユーザはウィンドウ
と呼ばれる画面を通じて、種種の操作を実行する。ウィ
ンドウは、機能選択のために用意されたボタンやアイコ
ンやスクロールバーと呼ばれる複数の構成要素で構成さ
れている。ここで、構成要素とは、ウィンドウ上の画面
イメージを意味し、マウス207や、キーボード205
等からの入力操作の種別により実行する処理が予め決め
られているものとする。ただし、本実施例における以後
の操作の説明では、全てマウス207による入力を想定
して説明を行う。もちろん、同等の操作はキーボード2
05を用いても可能である。ユーザがマウス207を用
いて行う操作としては、クリック(マウスボタンを1回
すばやく押下する操作)、及び、ドラッグ(構成要素に
対し、マウスボタンを押下したままそのままの状態を保
つ操作)&ドロップ(ドラッグした状態のまま構成要素
を所望の位置まで移動してからマウスボタンを離す操
作)がある。
6による具体的な処理内容について、より詳しく説明す
る。対応付けパラメータ入力処理部16ではGUIを採
用している。GUIは、表示装置209にグラフィック
表示することにより、ユーザがビジュアルな環境で操作
することを可能とする技術である。ユーザはウィンドウ
と呼ばれる画面を通じて、種種の操作を実行する。ウィ
ンドウは、機能選択のために用意されたボタンやアイコ
ンやスクロールバーと呼ばれる複数の構成要素で構成さ
れている。ここで、構成要素とは、ウィンドウ上の画面
イメージを意味し、マウス207や、キーボード205
等からの入力操作の種別により実行する処理が予め決め
られているものとする。ただし、本実施例における以後
の操作の説明では、全てマウス207による入力を想定
して説明を行う。もちろん、同等の操作はキーボード2
05を用いても可能である。ユーザがマウス207を用
いて行う操作としては、クリック(マウスボタンを1回
すばやく押下する操作)、及び、ドラッグ(構成要素に
対し、マウスボタンを押下したままそのままの状態を保
つ操作)&ドロップ(ドラッグした状態のまま構成要素
を所望の位置まで移動してからマウスボタンを離す操
作)がある。
【0175】以下、図35を用いて、ステップ1901
の操作の概要について簡単に説明する。33はパラメー
タ指定を行うためのメインウィンドウ(以後、対応付け
定義画面と呼ぶ)である。ユーザは、対応付け定義画面
33上の各構成要素に対して、クリックや、ドラッグ&
ドロップ等のマウス操作を行う。対応付け定義画面33
上の構成要素には、0次表13を表示するための構成要
素である検索データ34、ユーザ表22の表形式を表示
するための構成要素である表形式35、定義処理の遷移
を表示するための構成要素である処理遷移36、現在指
定中の定義の終了を指示するための構成要素である了解
ボタン37、指定した内容を取消すための構成要素であ
る取消ボタン38がある。検索データ34、表形式35
共、スクロールバー341、351を用いてデータのス
クロールが可能である。検索データ34は、DBエンジ
ン3から検索した直後の0次表13を表示するために、
各項目毎に列で管理されている。最も左の項目の列番号
が1であり、ここで表示されているのは、列番号1〜4
までである。表形式35は、ユーザ表22のデータを表
示するために、スプレッドシート21と同じ座標系で管
理されている。ここで表示されているのは、列方向の座
標が1〜8、行方向の座標が1〜9までである。以後、
列方向の座標値を列番号、行方向の座標値を行番号と呼
ぶ。表形式35では、ユーザ表22において、「商品
名」、「月」等の文字列が入力されていれば、それをそ
のまま表示し、データが入力されていないセル(座標)
はそのまま何も表示しない。処理遷移36では、定義操
作を表す文字列が操作を行う順に羅列表示されており、
各文字列の左横に位置する丸が黒丸か白丸かで、現在ユ
ーザが行っている定義操作を識別できる仕組みとなって
いる。黒丸が現在実行中の定義を表し、定義操作の変化
に伴い、黒丸の位置を下に移動させる。これにより、ユ
ーザは、該定義ステップを常にビジュアルに確認しなが
ら定義操作を行うことができる。上記定義操作には、表
の初期位置の指定(ステップ361)、貼り付け初期位
置の指定(ステップ362)、見出し項目の対応付け
(ステップ363)、数値項目の対応付け(ステップ3
64)の4ステップがある。表の初期位置の指定(ステ
ップ361)、及び、貼り付け初期位置の指定(ステッ
プ362)では、表形式35内の該座標を2点指示する
ことにより、ユーザ表22の見出し領域、及び数値領域
を算出する。見出し領域、及び数値領域については後述
する。見出し項目対応付け(ステップ363)では、パ
ラメータテーブル15における縦見出し項目、及び横見
出し項目に関する情報を指定する。具体的には、検索デ
ータ34の該項目をドラッグし、表形式35の見出し領
域にドロップすることにより定義を行う。先のステップ
で見出し領域を算出しているため、見出し領域以外への
ドロップは受け付けない仕組としている。数値項目対応
付け(ステップ364)は、パラメータテーブル15に
おける数値項目に関する情報を指定する処理である。具
体的には、検索データ34の該項目をドラッグし、表形
式35の該位置にドロップすることにより定義を行う。
先のステップで、数値領域を算出しているため、数値領
域以外へのドロップは受け付けない仕組みとしている。
の操作の概要について簡単に説明する。33はパラメー
タ指定を行うためのメインウィンドウ(以後、対応付け
定義画面と呼ぶ)である。ユーザは、対応付け定義画面
33上の各構成要素に対して、クリックや、ドラッグ&
ドロップ等のマウス操作を行う。対応付け定義画面33
上の構成要素には、0次表13を表示するための構成要
素である検索データ34、ユーザ表22の表形式を表示
するための構成要素である表形式35、定義処理の遷移
を表示するための構成要素である処理遷移36、現在指
定中の定義の終了を指示するための構成要素である了解
ボタン37、指定した内容を取消すための構成要素であ
る取消ボタン38がある。検索データ34、表形式35
共、スクロールバー341、351を用いてデータのス
クロールが可能である。検索データ34は、DBエンジ
ン3から検索した直後の0次表13を表示するために、
各項目毎に列で管理されている。最も左の項目の列番号
が1であり、ここで表示されているのは、列番号1〜4
までである。表形式35は、ユーザ表22のデータを表
示するために、スプレッドシート21と同じ座標系で管
理されている。ここで表示されているのは、列方向の座
標が1〜8、行方向の座標が1〜9までである。以後、
列方向の座標値を列番号、行方向の座標値を行番号と呼
ぶ。表形式35では、ユーザ表22において、「商品
名」、「月」等の文字列が入力されていれば、それをそ
のまま表示し、データが入力されていないセル(座標)
はそのまま何も表示しない。処理遷移36では、定義操
作を表す文字列が操作を行う順に羅列表示されており、
各文字列の左横に位置する丸が黒丸か白丸かで、現在ユ
ーザが行っている定義操作を識別できる仕組みとなって
いる。黒丸が現在実行中の定義を表し、定義操作の変化
に伴い、黒丸の位置を下に移動させる。これにより、ユ
ーザは、該定義ステップを常にビジュアルに確認しなが
ら定義操作を行うことができる。上記定義操作には、表
の初期位置の指定(ステップ361)、貼り付け初期位
置の指定(ステップ362)、見出し項目の対応付け
(ステップ363)、数値項目の対応付け(ステップ3
64)の4ステップがある。表の初期位置の指定(ステ
ップ361)、及び、貼り付け初期位置の指定(ステッ
プ362)では、表形式35内の該座標を2点指示する
ことにより、ユーザ表22の見出し領域、及び数値領域
を算出する。見出し領域、及び数値領域については後述
する。見出し項目対応付け(ステップ363)では、パ
ラメータテーブル15における縦見出し項目、及び横見
出し項目に関する情報を指定する。具体的には、検索デ
ータ34の該項目をドラッグし、表形式35の見出し領
域にドロップすることにより定義を行う。先のステップ
で見出し領域を算出しているため、見出し領域以外への
ドロップは受け付けない仕組としている。数値項目対応
付け(ステップ364)は、パラメータテーブル15に
おける数値項目に関する情報を指定する処理である。具
体的には、検索データ34の該項目をドラッグし、表形
式35の該位置にドロップすることにより定義を行う。
先のステップで、数値領域を算出しているため、数値領
域以外へのドロップは受け付けない仕組みとしている。
【0176】次に、各定義ステップにおけるより詳しい
操作方法と、ブロック化及び分配化パラメータ割り出し
の考え方について図36〜図44を用いて説明する。
操作方法と、ブロック化及び分配化パラメータ割り出し
の考え方について図36〜図44を用いて説明する。
【0177】まず始めに、図36を用い、表の初期位置
指定(ステップ361)、貼り付け初期位置指定(ステ
ップ362)による見出し領域、及び数値領域の指定処
理について説明する。
指定(ステップ361)、貼り付け初期位置指定(ステ
ップ362)による見出し領域、及び数値領域の指定処
理について説明する。
【0178】図36(a)は、表形式35における表の
初期位置352と貼り付け初期位置353を示した図で
ある。表の初期位置352とは、ユーザ表22の左上の
座標を表す。ここでは、「商品名」という文字列が表示
されている座標(2、3)がこれに該当する。また、貼
り付け初期位置353とは、ユーザ表22において数値
データを貼り付ける領域の左上の座標を表す。ここで
は、何も表示されていない座標(4、4)がこれに該当
する。当然のことながら、貼り付け初期位置353は、
表の初期位置352と比べ、列番号、行番号共に大きく
なければならない。また、本実施例では、縦見出し項目
数、横見出し項目数の上限をそれぞれ5としているた
め、表の初期位置の列番号に5を加えた数、行番号に5
を加えた数よりも小さくなければならない。以後、貼り
付け初期位置の条件を、貼り付け初期位置条件と呼ぶ。
ステップ362では、ユーザが指定した貼り付け初期位
置353の該座標が、貼り付け初期位置条件を満たすか
どうかをチェックする。
初期位置352と貼り付け初期位置353を示した図で
ある。表の初期位置352とは、ユーザ表22の左上の
座標を表す。ここでは、「商品名」という文字列が表示
されている座標(2、3)がこれに該当する。また、貼
り付け初期位置353とは、ユーザ表22において数値
データを貼り付ける領域の左上の座標を表す。ここで
は、何も表示されていない座標(4、4)がこれに該当
する。当然のことながら、貼り付け初期位置353は、
表の初期位置352と比べ、列番号、行番号共に大きく
なければならない。また、本実施例では、縦見出し項目
数、横見出し項目数の上限をそれぞれ5としているた
め、表の初期位置の列番号に5を加えた数、行番号に5
を加えた数よりも小さくなければならない。以後、貼り
付け初期位置の条件を、貼り付け初期位置条件と呼ぶ。
ステップ362では、ユーザが指定した貼り付け初期位
置353の該座標が、貼り付け初期位置条件を満たすか
どうかをチェックする。
【0179】図36(b)に、縦見出し領域354、横
見出し領域355、数値領域356の算出式を示す。表
の初期位置352を(x1、y1)、貼り付け初期位置
353を(x2、y2)と表現し、表形式35内のある
座標の変数を(x、y)とすると、縦見出し領域354
は(x1≦x<x2、y≧y2)、横見出し領域355
は(x≧x2、y1≦y<y2)、数値領域356は
(x≧x2、y≧y2)と表すことができる。この例で
は、縦見出し領域354が(2≦x<4、y≧4)、横
見出し領域355は(x≧4、3≦y<4)、数値領域
356は(x≧4、y≧4)となる。
見出し領域355、数値領域356の算出式を示す。表
の初期位置352を(x1、y1)、貼り付け初期位置
353を(x2、y2)と表現し、表形式35内のある
座標の変数を(x、y)とすると、縦見出し領域354
は(x1≦x<x2、y≧y2)、横見出し領域355
は(x≧x2、y1≦y<y2)、数値領域356は
(x≧x2、y≧y2)と表すことができる。この例で
は、縦見出し領域354が(2≦x<4、y≧4)、横
見出し領域355は(x≧4、3≦y<4)、数値領域
356は(x≧4、y≧4)となる。
【0180】次に、図37〜39を用い、見出し項目対
応付け(ステップ363)について説明する。見出し項
目対応付け(ステップ363)は、検索データ34の該
キー項目と、見出し領域の該位置とを対応付ける処理で
ある。この処理により、ブロック化の有無、縦見出し項
目、及び、横見出し項目に関する情報をパラメータテー
ブル15に格納することができる。ブロック化の有無
は、検索データ34からドラッグした該項目のうち、表
形式35の横見出し領域にドロップが行われたかどうか
により判断する。また、見出し項目に関する情報とし
て、上述のソート基準パラメータの指定も行う。
応付け(ステップ363)について説明する。見出し項
目対応付け(ステップ363)は、検索データ34の該
キー項目と、見出し領域の該位置とを対応付ける処理で
ある。この処理により、ブロック化の有無、縦見出し項
目、及び、横見出し項目に関する情報をパラメータテー
ブル15に格納することができる。ブロック化の有無
は、検索データ34からドラッグした該項目のうち、表
形式35の横見出し領域にドロップが行われたかどうか
により判断する。また、見出し項目に関する情報とし
て、上述のソート基準パラメータの指定も行う。
【0181】図37は、ブロック化指定有りの前記パタ
ーン4の対応付けを示す図である。図中、矢印は、ドラ
ッグ&ドロップの関係を示している。このパターンで
は、検索データ34A内の「品番」34A1を、表形式
35の縦見出し領域の該当する列へ、また、「月」34
A2を、横見出し領域の該当する行へ対応付ける。これ
により、パラメータテーブル15に格納する見出し領域
に関する情報が割り出される。すなわち、フィールド1
53に格納する縦見出し項目数として1、フィールド1
541に格納する縦見出し項目名として「品番」、フィ
ールド155に格納する横見出し項目数として1、フィ
ールド1561に格納する横見出し項目名として「月」
が、それぞれ割り出される。
ーン4の対応付けを示す図である。図中、矢印は、ドラ
ッグ&ドロップの関係を示している。このパターンで
は、検索データ34A内の「品番」34A1を、表形式
35の縦見出し領域の該当する列へ、また、「月」34
A2を、横見出し領域の該当する行へ対応付ける。これ
により、パラメータテーブル15に格納する見出し領域
に関する情報が割り出される。すなわち、フィールド1
53に格納する縦見出し項目数として1、フィールド1
541に格納する縦見出し項目名として「品番」、フィ
ールド155に格納する横見出し項目数として1、フィ
ールド1561に格納する横見出し項目名として「月」
が、それぞれ割り出される。
【0182】ところで、検索データ34をドラッグする
ときに認識されるのは各項目の列番号と項目名だけであ
る。従って、ここでは1レコード目のデータである「S
−10」、「4」の各データをドラッグしている例を示
しているが、該項目内であれば必ずしも1レコード目の
データである必要はない。また、表形式35への縦見出
し領域へのドロップで認識されるのは列番号のみであ
る。従って、ここでは1データ目の「テレビ」へドロッ
プをしている例を示しているが、該列内であれば必ずし
も1データ目である必要はない。同様に、表形式35へ
の横見出し領域へのドロップで認識されるのは行番号の
みである。従って、ここでは1データ目の「4月」へド
ロップしている例を示しているが、該行内であれば必ず
しも1データ目である必要はない。
ときに認識されるのは各項目の列番号と項目名だけであ
る。従って、ここでは1レコード目のデータである「S
−10」、「4」の各データをドラッグしている例を示
しているが、該項目内であれば必ずしも1レコード目の
データである必要はない。また、表形式35への縦見出
し領域へのドロップで認識されるのは列番号のみであ
る。従って、ここでは1データ目の「テレビ」へドロッ
プをしている例を示しているが、該列内であれば必ずし
も1データ目である必要はない。同様に、表形式35へ
の横見出し領域へのドロップで認識されるのは行番号の
みである。従って、ここでは1データ目の「4月」へド
ロップしている例を示しているが、該行内であれば必ず
しも1データ目である必要はない。
【0183】図38は、ブロック化指定無しの前記パタ
ーン2の対応付けを示す図である。この場合、横見出し
領域への対応付けは必要ないため、検索データ34B内
の「品番」34B1を、表形式35の縦見出し領域の該
列へ対応付ける。これにより、先の例と同様、パラメー
タテーブル15に格納する見出し領域に関する情報が割
り出される。すなわち、フィールド153に格納する縦
見出し項目数として1、フィールド1541に格納する
縦見出し項目名として「品番」が割り出される。また、
横見出し領域への対応付けは行われなかったため、フィ
ールド155、及びフィールド156は初期値のままで
あるとする。すなわち、フィールド155は0、フィー
ルド156はヌルポインタのままであるとする。なお、
ここでも、先の例と同様、ドロップ先は必ずしも1デー
タ目である必要はない。
ーン2の対応付けを示す図である。この場合、横見出し
領域への対応付けは必要ないため、検索データ34B内
の「品番」34B1を、表形式35の縦見出し領域の該
列へ対応付ける。これにより、先の例と同様、パラメー
タテーブル15に格納する見出し領域に関する情報が割
り出される。すなわち、フィールド153に格納する縦
見出し項目数として1、フィールド1541に格納する
縦見出し項目名として「品番」が割り出される。また、
横見出し領域への対応付けは行われなかったため、フィ
ールド155、及びフィールド156は初期値のままで
あるとする。すなわち、フィールド155は0、フィー
ルド156はヌルポインタのままであるとする。なお、
ここでも、先の例と同様、ドロップ先は必ずしも1デー
タ目である必要はない。
【0184】ところで、各見出し項目毎にソート基準パ
ラメータを指定する必要があることは先に述べた。
ラメータを指定する必要があることは先に述べた。
【0185】図39(a)に、前記ソート基準を指定す
るための画面(以後ソート基準指定画面と呼ぶ)を示
す。ソート基準指定画面390は、ステップ363にお
いて、ドラッグ&ドロップを行う度に現れる画面であ
り、オペレーティングシステム7のダイアログボックス
を処理する機能により実現される。ソート基準パラメー
タには、昇順、降順、ユーザ指定順70の3種類がある
ことは先に述べたが、ソート基準指定画面390は、こ
れら3種類を選択するための構成要素である昇順ボタン
391、降順ボタン392、ユーザ指定順ボタン393
で構成されている。ユーザ指定順ボタン393をクリッ
クすると現れる画面が、図39(b)に示すユーザ指定
画面394である。ユーザ指定画面394は、表形式3
5の見出しデータと検索データ34の該項目データとを
対応付けるための構成要素395、データの対応付けが
全て終了したことを指定するための構成要素である了解
ボタン398で構成される。データ対応付け構成要素3
95では、左側に表形式35の見出しデータを表示し、
その右側に検索データ34の該項目データを並べて表示
する。左側に表示される見出しデータ396A、396
B、396Cは、対応付け定義画面33においてユーザ
がドロップした列、あるいは行のデータであり、スクロ
ールバー3951によりデータのスクロールが可能にな
っている。また、右側に表示される検索データは、対応
付け定義画面33においてユーザがドラッグした項目の
データであり、検索データ表示用領域397A〜397
C内で表示される。検索データ表示用領域397A〜3
97C内でユーザにより指定された検索データを表示す
るための領域が、指定検索データ表示領域3971A〜
3971Cである。指定検索データ表示領域3971A
〜3971Cには、初期状態として、検索データ34に
表示されているデータ順序に従い、異なるデータが表示
される。同一データが複数ある場合は、重複して表示し
ない仕組みとなっている。ここで、指定検索データ表示
領域3971A〜3971Cのデータが、左側の見出し
データ396A〜396Cと対応していなかった場合、
ユーザは、プルダウンメニュー3972A〜3972C
をクリックし、全ての検索データを表示するための領域
(ただしデータの重複は無い)から左側の見出しデータ
に対応するデータをクリックする。検索データ表示領域
3971C1〜3971C3は、スクロールバー397
3Cによりデータのスクロールが可能となっている。こ
の例の場合、検索データ34の、もとの並び順であるS
−10、S−11、S−12と、表形式35の見出しデ
ータの並び順であるテレビ、ラジオ、洗濯機の対応関係
が異なるため、テレビ396AにS−12、ラジオ39
6BにS−10、洗濯機396CにS−11を対応付け
ている。以上の操作の結果、指定検索データ表示領域3
971A〜3971Cに表示されるデータを得ることが
でき、この表示順序をユーザ指定順70(S-12、S-
10、S-11、…)とすることができる。
るための画面(以後ソート基準指定画面と呼ぶ)を示
す。ソート基準指定画面390は、ステップ363にお
いて、ドラッグ&ドロップを行う度に現れる画面であ
り、オペレーティングシステム7のダイアログボックス
を処理する機能により実現される。ソート基準パラメー
タには、昇順、降順、ユーザ指定順70の3種類がある
ことは先に述べたが、ソート基準指定画面390は、こ
れら3種類を選択するための構成要素である昇順ボタン
391、降順ボタン392、ユーザ指定順ボタン393
で構成されている。ユーザ指定順ボタン393をクリッ
クすると現れる画面が、図39(b)に示すユーザ指定
画面394である。ユーザ指定画面394は、表形式3
5の見出しデータと検索データ34の該項目データとを
対応付けるための構成要素395、データの対応付けが
全て終了したことを指定するための構成要素である了解
ボタン398で構成される。データ対応付け構成要素3
95では、左側に表形式35の見出しデータを表示し、
その右側に検索データ34の該項目データを並べて表示
する。左側に表示される見出しデータ396A、396
B、396Cは、対応付け定義画面33においてユーザ
がドロップした列、あるいは行のデータであり、スクロ
ールバー3951によりデータのスクロールが可能にな
っている。また、右側に表示される検索データは、対応
付け定義画面33においてユーザがドラッグした項目の
データであり、検索データ表示用領域397A〜397
C内で表示される。検索データ表示用領域397A〜3
97C内でユーザにより指定された検索データを表示す
るための領域が、指定検索データ表示領域3971A〜
3971Cである。指定検索データ表示領域3971A
〜3971Cには、初期状態として、検索データ34に
表示されているデータ順序に従い、異なるデータが表示
される。同一データが複数ある場合は、重複して表示し
ない仕組みとなっている。ここで、指定検索データ表示
領域3971A〜3971Cのデータが、左側の見出し
データ396A〜396Cと対応していなかった場合、
ユーザは、プルダウンメニュー3972A〜3972C
をクリックし、全ての検索データを表示するための領域
(ただしデータの重複は無い)から左側の見出しデータ
に対応するデータをクリックする。検索データ表示領域
3971C1〜3971C3は、スクロールバー397
3Cによりデータのスクロールが可能となっている。こ
の例の場合、検索データ34の、もとの並び順であるS
−10、S−11、S−12と、表形式35の見出しデ
ータの並び順であるテレビ、ラジオ、洗濯機の対応関係
が異なるため、テレビ396AにS−12、ラジオ39
6BにS−10、洗濯機396CにS−11を対応付け
ている。以上の操作の結果、指定検索データ表示領域3
971A〜3971Cに表示されるデータを得ることが
でき、この表示順序をユーザ指定順70(S-12、S-
10、S-11、…)とすることができる。
【0186】次に、図40〜44を用い、数値項目対応
付け(ステップ364)について説明する。数値項目対
応付け(ステップ364)は、0次表13の該数値項目
と、数値項目貼り付け領域の該位置とを対応付ける処理
である。この処理により、分配化の有無、及び、数値項
目に関する情報をパラメータテーブル15に格納するこ
とができる。本実施例では、ドロップを、必ず1行、あ
るいは1列に対しのみ行われ規則とし、複数行、複数列
にわたるドロップは受け付けないことにしている。この
ような規則とすることにより、検索データ34の複数の
項目が、表形式35の数値項目領域に1列にドロップさ
れたか、あるいは1行にドロップされたかにより、分配
化の有無を判断する方式とした。すなわち、分配化指定
無しの、前記パターン1、パターン2においては、該数
値項目を横並びでドロップする規則とし、分配化指定有
りの、前記パターン3、パターン4においては、該数値
項目を縦並びでドロップする規則とした。以後、ステッ
プ364において、複数の数値項目が縦並びでドロップ
された状態を列属性、横並びでドロップされた状態を行
属性と呼ぶこととする。
付け(ステップ364)について説明する。数値項目対
応付け(ステップ364)は、0次表13の該数値項目
と、数値項目貼り付け領域の該位置とを対応付ける処理
である。この処理により、分配化の有無、及び、数値項
目に関する情報をパラメータテーブル15に格納するこ
とができる。本実施例では、ドロップを、必ず1行、あ
るいは1列に対しのみ行われ規則とし、複数行、複数列
にわたるドロップは受け付けないことにしている。この
ような規則とすることにより、検索データ34の複数の
項目が、表形式35の数値項目領域に1列にドロップさ
れたか、あるいは1行にドロップされたかにより、分配
化の有無を判断する方式とした。すなわち、分配化指定
無しの、前記パターン1、パターン2においては、該数
値項目を横並びでドロップする規則とし、分配化指定有
りの、前記パターン3、パターン4においては、該数値
項目を縦並びでドロップする規則とした。以後、ステッ
プ364において、複数の数値項目が縦並びでドロップ
された状態を列属性、横並びでドロップされた状態を行
属性と呼ぶこととする。
【0187】ところで、先に述べたように、数値項目対
応付け(ステップ364)においても、検索データ34
の該項目をドラッグし、表形式35の該位置へドロップ
することにより該定義を行う。しかし、この場合、見出
し項目対応付け(ステップ363)とは異なり、表形式
35へのドロップが可能なのはただ1つの座標だけであ
る。すなわち、見出し項目対応付け(ステップ363)
では、1列全体、あるいは行全体に対して可能であった
ドロップが、ここでは、検索データ34の1レコード目
の1データが貼り付けられる座標に対してのみ許される
こととする。
応付け(ステップ364)においても、検索データ34
の該項目をドラッグし、表形式35の該位置へドロップ
することにより該定義を行う。しかし、この場合、見出
し項目対応付け(ステップ363)とは異なり、表形式
35へのドロップが可能なのはただ1つの座標だけであ
る。すなわち、見出し項目対応付け(ステップ363)
では、1列全体、あるいは行全体に対して可能であった
ドロップが、ここでは、検索データ34の1レコード目
の1データが貼り付けられる座標に対してのみ許される
こととする。
【0188】図40は、前記パターン1の対応付けを示
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。分配化指定無しのため、表形式35の1
行に対して対応付けを行う行属性の状態である。具体的
には、検索データ34内の「4月予算」34B2と表形
式35の座標3501、「4月実績」34B3と座標3
502とを対応付ける。以下順に、34B3〜34B1
1を表形式35の該座標に対応付ける。以上の対応付け
により、パラメータテーブル15に格納する数値項目に
関する情報が割り出される。すなわち、フィールド15
7に格納する数値項目数として10、フィールド158
1〜1590に格納する項目名として「4月予算」、
「4月実績」、……「8月実績」が割り出される。ま
た、行属性であることから、フィールド159、160
に格納する分配化パラメータp、qは共に初期値のまま
であるとする。
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。分配化指定無しのため、表形式35の1
行に対して対応付けを行う行属性の状態である。具体的
には、検索データ34内の「4月予算」34B2と表形
式35の座標3501、「4月実績」34B3と座標3
502とを対応付ける。以下順に、34B3〜34B1
1を表形式35の該座標に対応付ける。以上の対応付け
により、パラメータテーブル15に格納する数値項目に
関する情報が割り出される。すなわち、フィールド15
7に格納する数値項目数として10、フィールド158
1〜1590に格納する項目名として「4月予算」、
「4月実績」、……「8月実績」が割り出される。ま
た、行属性であることから、フィールド159、160
に格納する分配化パラメータp、qは共に初期値のまま
であるとする。
【0189】図41は、前記パターン2の対応付けを示
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。先の例と同様、分配化指定無しのため、
表形式35の1行に対して対応付けを行う行属性の状態
である。具体的には、検索データ34内の「予算」34
A3と座標3501、「実績」34A4と座標3502
とを対応付ける。以上の対応付けにより、パラメータテ
ーブル15のフィールド157に格納する数値項目数と
して2、フィールド1581〜1582に格納する項目
名として「予算」、「実績」が割り出される。また、行
属性であることから、フィールド159、160に格納
する分配化パラメータp、qは共に初期値のままである
とする。
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。先の例と同様、分配化指定無しのため、
表形式35の1行に対して対応付けを行う行属性の状態
である。具体的には、検索データ34内の「予算」34
A3と座標3501、「実績」34A4と座標3502
とを対応付ける。以上の対応付けにより、パラメータテ
ーブル15のフィールド157に格納する数値項目数と
して2、フィールド1581〜1582に格納する項目
名として「予算」、「実績」が割り出される。また、行
属性であることから、フィールド159、160に格納
する分配化パラメータp、qは共に初期値のままである
とする。
【0190】図42は、前記パターン3の対応付けを示
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。分配化指定有りのため、表形式35の1
列に対して対応付けを行う列属性の状態である。具体的
には、検索データ34内の「予算」34A3と座標35
11、「実績」34A4と座標3512とを対応付け
る。以上の対応付けにより、パラメータテーブル15の
フィールド158に格納する数値項目数として2、フィ
ールド1581〜1582に格納する項目名として「予
算」、「実績」が割り出される。また、先に述べたよう
に、ブロック化と分配化を組み合わせる場合は、分配化
パラメータpは必ず1となり、列方向に対応付けを行な
った数値項目の数がqとなる。従って、パラメータテー
ブル15のフィールド159に格納するp=1、フィー
ルド160に格納するq=2が割り出される。
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。分配化指定有りのため、表形式35の1
列に対して対応付けを行う列属性の状態である。具体的
には、検索データ34内の「予算」34A3と座標35
11、「実績」34A4と座標3512とを対応付け
る。以上の対応付けにより、パラメータテーブル15の
フィールド158に格納する数値項目数として2、フィ
ールド1581〜1582に格納する項目名として「予
算」、「実績」が割り出される。また、先に述べたよう
に、ブロック化と分配化を組み合わせる場合は、分配化
パラメータpは必ず1となり、列方向に対応付けを行な
った数値項目の数がqとなる。従って、パラメータテー
ブル15のフィールド159に格納するp=1、フィー
ルド160に格納するq=2が割り出される。
【0191】以上3つの例では、検索データ34の全数
値項目を、表形式35の該座標に対応付ける場合につい
て説明した。しかし、分配化のみの前記パターン4の場
合、分配化パラメータp、及びqを割り出すためには、
最初の繰返し単位を指定するだけでパラメータ情報とし
ては十分である。そのため、対応付け定義画面33で
は、数値項目対応付け(ステップ364)に限り、パタ
ーン4の定義簡略化のために、繰返しを指定するための
ボタンを用意する。これを、以後繰返しボタン39と呼
ぶ。以下、繰返しボタン39を使用する場合について図
43を用いて説明する。
値項目を、表形式35の該座標に対応付ける場合につい
て説明した。しかし、分配化のみの前記パターン4の場
合、分配化パラメータp、及びqを割り出すためには、
最初の繰返し単位を指定するだけでパラメータ情報とし
ては十分である。そのため、対応付け定義画面33で
は、数値項目対応付け(ステップ364)に限り、パタ
ーン4の定義簡略化のために、繰返しを指定するための
ボタンを用意する。これを、以後繰返しボタン39と呼
ぶ。以下、繰返しボタン39を使用する場合について図
43を用いて説明する。
【0192】図43は、前記パターン4の対応付けを示
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。分配化有りのため、表形式35の1列に
対して対応付けを行う列属性の状態である。先に述べた
ように、対応付けを行うのは、最初の繰返し単位の座標
に対してのみであり、以降の項目の対応付けは、前記繰
り返しボタン39で指定する。具体的には、「4月予
算」34B2と座標3511、「4月実績」34B3と
座標3512とを対応付け後、繰返しボタン39を指定
する。繰り返しボタン39の指定により、「4月予算」
34B2、「4月実績」34B3に続く8つの項目も、
同様の対応付けの繰り返しであると認識される。数値項
目対応付け(ステップ364)においては、繰り返しボ
タン39は、了解ボタン37と同様、定義操作の終了も
同時に意味する。ユーザによる定義操作が終了すると、
分配化パラメータp、qを割り出す。この場合、分配化
パラメータは、先に分配化の考え方で説明したように、
p=1、q=2である。図で示すように、分配化パラメ
ータpは、検索データ34の列番号の差であると考える
ことができる。よってここでは、「4月実績」34B3
の列番号3と、「4月予算」34B2の列番号2との差
である1がpとなる。また、分配化パラメータqは、表
形式35に対して列方向に対応付けが行われた数である
と考えることができる。よってここでは、座標3511
と3512の個数である2がqとなる。以上の対応付け
により、パラメータテーブル15のフィールド157に
格納する数値項目数として10、フィールド1581〜
1582に格納する数値項目名として「4月予算」、
「4月実績」、……、「8月実績」が割り出される。ま
た、フィールド159に格納するp=1、フィールド1
60に格納するq=2が割り出される。
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。分配化有りのため、表形式35の1列に
対して対応付けを行う列属性の状態である。先に述べた
ように、対応付けを行うのは、最初の繰返し単位の座標
に対してのみであり、以降の項目の対応付けは、前記繰
り返しボタン39で指定する。具体的には、「4月予
算」34B2と座標3511、「4月実績」34B3と
座標3512とを対応付け後、繰返しボタン39を指定
する。繰り返しボタン39の指定により、「4月予算」
34B2、「4月実績」34B3に続く8つの項目も、
同様の対応付けの繰り返しであると認識される。数値項
目対応付け(ステップ364)においては、繰り返しボ
タン39は、了解ボタン37と同様、定義操作の終了も
同時に意味する。ユーザによる定義操作が終了すると、
分配化パラメータp、qを割り出す。この場合、分配化
パラメータは、先に分配化の考え方で説明したように、
p=1、q=2である。図で示すように、分配化パラメ
ータpは、検索データ34の列番号の差であると考える
ことができる。よってここでは、「4月実績」34B3
の列番号3と、「4月予算」34B2の列番号2との差
である1がpとなる。また、分配化パラメータqは、表
形式35に対して列方向に対応付けが行われた数である
と考えることができる。よってここでは、座標3511
と3512の個数である2がqとなる。以上の対応付け
により、パラメータテーブル15のフィールド157に
格納する数値項目数として10、フィールド1581〜
1582に格納する数値項目名として「4月予算」、
「4月実績」、……、「8月実績」が割り出される。ま
た、フィールド159に格納するp=1、フィールド1
60に格納するq=2が割り出される。
【0193】図44は、前記パターン4の対応付けを示
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。分配化有りのため、表形式35の1列に
対して対応付けを行う列属性の状態であるが、この場
合、表形式35の座標3511〜3515に対応付ける
ための検索データ34の項目が、隣り合わせではなく1
列おきに存在する。つまり、「4月予算」34B1と座
標3511、「5月予算」と座標3512、…、「8月
予算」34B11と座標3515とを対応付ける。以
下、この例における分配化パラメータの割り出しについ
て説明する。図43で、分配化パラメータp、qの割り
出しの考え方について述べたが、この例においても、同
様の考え方を適用することが可能である。つまり、列番
号の差となる2がpであり、列方向に対応付けが行われ
た数5がqであると考えることができる。この場合、以
上の対応付けで全ての数値項目との対応付け関係が認識
できたことになるため、繰り返しボタン39は必要な
い。以上の対応付けにより、パラメータテーブル15の
フィールド157に格納する数値項目数として10、フ
ィールド1581〜1582に格納する数値項目名とし
て「4月予算」、「4月実績」、……、「8月実績」が
割り出される。また、フィールド159に格納するp=
2、フィールド160に格納するq=5が割り出され
る。
す図である。図中、矢印は、ドラッグ&ドロップの関係
を表している。分配化有りのため、表形式35の1列に
対して対応付けを行う列属性の状態であるが、この場
合、表形式35の座標3511〜3515に対応付ける
ための検索データ34の項目が、隣り合わせではなく1
列おきに存在する。つまり、「4月予算」34B1と座
標3511、「5月予算」と座標3512、…、「8月
予算」34B11と座標3515とを対応付ける。以
下、この例における分配化パラメータの割り出しについ
て説明する。図43で、分配化パラメータp、qの割り
出しの考え方について述べたが、この例においても、同
様の考え方を適用することが可能である。つまり、列番
号の差となる2がpであり、列方向に対応付けが行われ
た数5がqであると考えることができる。この場合、以
上の対応付けで全ての数値項目との対応付け関係が認識
できたことになるため、繰り返しボタン39は必要な
い。以上の対応付けにより、パラメータテーブル15の
フィールド157に格納する数値項目数として10、フ
ィールド1581〜1582に格納する数値項目名とし
て「4月予算」、「4月実績」、……、「8月実績」が
割り出される。また、フィールド159に格納するp=
2、フィールド160に格納するq=5が割り出され
る。
【0194】図45は、上述の操作を実現するための、
対応付けパラメータ入力処理部16の構成である。以
下、対応付けパラメータ入力処理部16を構成する各部
の機能について説明する。パラメータ入力制御部161
は、ユーザからの入力受付処理、及び、定義操作全体の
制御処理を行う。ユーザが、マウス207により入力操
作を実行すると、マウス制御部206が、操作の種別
(クリック、ドラッグ、ドロップ)と物理座標(画面の
左上を起点としたドット単位で管理した座標)を判断
し、それらの情報をパラメータ入力制御部161に渡
す。該情報を受け取ったパラメータ入力制御部161
は、構成要素管理部162、処理遷移管理部163と連
携をとることにより、ユーザが行った操作の有効性を評
価する。ここでいう有効性の評価とは、ユーザにより、
現在処理中の定義ステップにおいて、意味のある構成要
素に対し意味のある操作が行われたかどうかを評価する
ことを表す。パラメータ入力制御部161は、前記評価
の結果、操作の有効性を保証すると、該操作に応じた適
当な処理を実施する。具体的には、表形式管理部16
6、0次表管理部164への制御の移行、あるいは、パ
ラメータテーブル15への情報の格納を行う。構成要素
管理部162は、検索データ34、表形式35等の構成
要素と、該物理座標との対応関係を管理しており、パラ
メータ入力制御部161から受け取った該物理座標が、
どの構成要素に対応するのかを割り出す。構成要素管理
部162は、上記割り出し処理を行った後、該構成要素
の情報を、処理遷移管理部163に渡す。処理遷移管理
部163では、上記各定義ステップ毎に、実行されるべ
きマウス操作と構成要素の対応を管理している。例え
ば、ステップ361の場合は、表形式35に対するマウ
スクリック、了解ボタン37に対するマウスクリック、
前記取消ボタン38に対するマウスクリックだけを有効
な操作として管理しており、それ以外の操作は無効であ
るとみなす。処理遷移管理部163は、先に述べた有効
/無効の判断を行った後、これらの情報をパラメータ入
力制御部161に渡す。処理遷移管理部163は、上記
判断が有効であった場合、操作の対象としている構成要
素名、及び制御を移す管理部名も、パラメータ入力制御
部161に渡す情報に含める。0次表管理部164は、
検索データ34と、0次表管理テーブル165を管理す
る。図35で説明したように、0次表管理部164は、
検索データ34を列番号で管理しており、パラメータ入
力制御部161からドラッグされた位置の物理座標を渡
されると、対応する列番号を割り出す機能を有する。ま
た、0次表管理テーブル165は、見出し項目の対応付
け(ステップ363)、及び数値項目の対応付け(ステ
ップ364)において、検索データ34におけるドラッ
グ情報を管理するためのテーブルである。表形式管理部
166は、ユーザ表22を読み込む機能があり、読み込
んだデータを表形式データ管理テーブル167に格納す
る。また、読み込んだデータを表示するための表形式3
5を管理する。さらに、見出し領域管理テーブル16
8、数値項目管理テーブル169を管理する。見出し領
域管理テーブル168は、表の初期位置の指定(ステッ
プ361)、貼り付け初期位置の指定(ステップ36
2)における見出し領域に関する情報、及び、見出し項
目の対応付け(ステップ363)における見出し項目に
関する情報を格納するテーブルである。また、数値項目
管理テーブル169に、数値項目の対応付け(ステップ
364)における数値項目に関する情報を格納する。0
次表管理テーブル165、表形式データ管理テーブル1
67、見出し領域管理テーブル168、及び、数値項目
管理テーブル169は、対応付けパラメータ入力処理部
16が、パラメータテーブル15への格納に先立ち一時
的に情報を格納するために、主記憶202に記憶領域を
確保する。
対応付けパラメータ入力処理部16の構成である。以
下、対応付けパラメータ入力処理部16を構成する各部
の機能について説明する。パラメータ入力制御部161
は、ユーザからの入力受付処理、及び、定義操作全体の
制御処理を行う。ユーザが、マウス207により入力操
作を実行すると、マウス制御部206が、操作の種別
(クリック、ドラッグ、ドロップ)と物理座標(画面の
左上を起点としたドット単位で管理した座標)を判断
し、それらの情報をパラメータ入力制御部161に渡
す。該情報を受け取ったパラメータ入力制御部161
は、構成要素管理部162、処理遷移管理部163と連
携をとることにより、ユーザが行った操作の有効性を評
価する。ここでいう有効性の評価とは、ユーザにより、
現在処理中の定義ステップにおいて、意味のある構成要
素に対し意味のある操作が行われたかどうかを評価する
ことを表す。パラメータ入力制御部161は、前記評価
の結果、操作の有効性を保証すると、該操作に応じた適
当な処理を実施する。具体的には、表形式管理部16
6、0次表管理部164への制御の移行、あるいは、パ
ラメータテーブル15への情報の格納を行う。構成要素
管理部162は、検索データ34、表形式35等の構成
要素と、該物理座標との対応関係を管理しており、パラ
メータ入力制御部161から受け取った該物理座標が、
どの構成要素に対応するのかを割り出す。構成要素管理
部162は、上記割り出し処理を行った後、該構成要素
の情報を、処理遷移管理部163に渡す。処理遷移管理
部163では、上記各定義ステップ毎に、実行されるべ
きマウス操作と構成要素の対応を管理している。例え
ば、ステップ361の場合は、表形式35に対するマウ
スクリック、了解ボタン37に対するマウスクリック、
前記取消ボタン38に対するマウスクリックだけを有効
な操作として管理しており、それ以外の操作は無効であ
るとみなす。処理遷移管理部163は、先に述べた有効
/無効の判断を行った後、これらの情報をパラメータ入
力制御部161に渡す。処理遷移管理部163は、上記
判断が有効であった場合、操作の対象としている構成要
素名、及び制御を移す管理部名も、パラメータ入力制御
部161に渡す情報に含める。0次表管理部164は、
検索データ34と、0次表管理テーブル165を管理す
る。図35で説明したように、0次表管理部164は、
検索データ34を列番号で管理しており、パラメータ入
力制御部161からドラッグされた位置の物理座標を渡
されると、対応する列番号を割り出す機能を有する。ま
た、0次表管理テーブル165は、見出し項目の対応付
け(ステップ363)、及び数値項目の対応付け(ステ
ップ364)において、検索データ34におけるドラッ
グ情報を管理するためのテーブルである。表形式管理部
166は、ユーザ表22を読み込む機能があり、読み込
んだデータを表形式データ管理テーブル167に格納す
る。また、読み込んだデータを表示するための表形式3
5を管理する。さらに、見出し領域管理テーブル16
8、数値項目管理テーブル169を管理する。見出し領
域管理テーブル168は、表の初期位置の指定(ステッ
プ361)、貼り付け初期位置の指定(ステップ36
2)における見出し領域に関する情報、及び、見出し項
目の対応付け(ステップ363)における見出し項目に
関する情報を格納するテーブルである。また、数値項目
管理テーブル169に、数値項目の対応付け(ステップ
364)における数値項目に関する情報を格納する。0
次表管理テーブル165、表形式データ管理テーブル1
67、見出し領域管理テーブル168、及び、数値項目
管理テーブル169は、対応付けパラメータ入力処理部
16が、パラメータテーブル15への格納に先立ち一時
的に情報を格納するために、主記憶202に記憶領域を
確保する。
【0195】次に、0次表管理テーブル165、見出し
領域管理テーブル168、数値項目管理テーブル169
のデータ構造について説明する。
領域管理テーブル168、数値項目管理テーブル169
のデータ構造について説明する。
【0196】まず始めに、図46を用いて、0次表管理
テーブル165のデータ構造を説明する。0次表管理テ
ーブル165は、0次表13の全項目に対して、その名
前と、ステップ363、364における対応付けの有無
を格納するためのテーブルである。0次表13にn個の
項目がある場合、0次表管理テーブル165は、n行2
列の配列となる。該情報は、検索データ34での列番号
順に格納される。各行の1列目には項目名、2列目には
対応付けの有無が格納される。図37で示した例の場
合、1行目のフィールドである1651には「品番」と
対応付け有り、2行目1652には「月」と対応付け有
り、3行目1653には「予算」と対応付け無し、4行
目1654には「実績」と対応付け無しが格納される。
テーブル165のデータ構造を説明する。0次表管理テ
ーブル165は、0次表13の全項目に対して、その名
前と、ステップ363、364における対応付けの有無
を格納するためのテーブルである。0次表13にn個の
項目がある場合、0次表管理テーブル165は、n行2
列の配列となる。該情報は、検索データ34での列番号
順に格納される。各行の1列目には項目名、2列目には
対応付けの有無が格納される。図37で示した例の場
合、1行目のフィールドである1651には「品番」と
対応付け有り、2行目1652には「月」と対応付け有
り、3行目1653には「予算」と対応付け無し、4行
目1654には「実績」と対応付け無しが格納される。
【0197】次に、図47を用いて、表形式データ管理
テーブル167の説明をする。表形式データ管理テーブ
ル167は、ユーザ表22のデータを格納するためのも
のであり、スプレッドシート21の座標系に従った配列
構造をしている。つまり、スプレッドシート21の座標
系の起点である1行1列目と、表形式データ管理テーブ
ル167の1行1列目を対応させる。配列の大きさ(行
番号、列番号の最大値)は、表形式管理部166がユー
ザ表22のデータを読み込んだ後に適当な大きさを決定
する。図47では、図35で示した表形式35における
データの格納例を示している。図中*印は、データが何
も入っていないことを表している。
テーブル167の説明をする。表形式データ管理テーブ
ル167は、ユーザ表22のデータを格納するためのも
のであり、スプレッドシート21の座標系に従った配列
構造をしている。つまり、スプレッドシート21の座標
系の起点である1行1列目と、表形式データ管理テーブ
ル167の1行1列目を対応させる。配列の大きさ(行
番号、列番号の最大値)は、表形式管理部166がユー
ザ表22のデータを読み込んだ後に適当な大きさを決定
する。図47では、図35で示した表形式35における
データの格納例を示している。図中*印は、データが何
も入っていないことを表している。
【0198】次に、図48を用いて、見出し領域管理テ
ーブル168の説明をする。見出し領域管理テーブル1
68は、14行3列の配列である。1行目1681に
は、ステップ361で指定する表の初期座標を格納す
る。1列目1681Aには、該初期位置の列番号、2列
目1681Bには行番号を格納する。2行目1682に
は、ステップ362で指定する貼り付け初期座標を格納
する。1列目1682Aには、該初期位置の列番号、2
列目1682Bには行番号を格納する。3行目1683
から14行目16814までに格納する情報は、パラメ
ータテーブル15に格納する縦見出し項目、及び横見出
し項目に関する情報に対応している。つまり、3行目1
683の情報は、フィールド153及び155に格納す
る縦見出し項目数、横見出し項目数であり、4行目16
84から8行目1688の情報は、フィールド1561
〜1565に格納する縦見出し項目1、…、縦見出し項
目5に関するパラメータ(項目名、ソート基準)であ
り、9行目1689から13行目16813の情報は、
フィールド1581〜1585に格納する横見出し項目
1、…、横見出し項目5に関するパラメータ(項目名、
ソート基準)である。ここで、縦見出し項目、横見出し
項目がそれぞれ5個づつであるのは、図36でも示した
ように、本実施例における縦見出し項目、横見出し項目
の数の上限を5個づつとしているからである。以下で、
ステップ363における、見出し領域管理テーブル16
8への情報格納について説明する。
ーブル168の説明をする。見出し領域管理テーブル1
68は、14行3列の配列である。1行目1681に
は、ステップ361で指定する表の初期座標を格納す
る。1列目1681Aには、該初期位置の列番号、2列
目1681Bには行番号を格納する。2行目1682に
は、ステップ362で指定する貼り付け初期座標を格納
する。1列目1682Aには、該初期位置の列番号、2
列目1682Bには行番号を格納する。3行目1683
から14行目16814までに格納する情報は、パラメ
ータテーブル15に格納する縦見出し項目、及び横見出
し項目に関する情報に対応している。つまり、3行目1
683の情報は、フィールド153及び155に格納す
る縦見出し項目数、横見出し項目数であり、4行目16
84から8行目1688の情報は、フィールド1561
〜1565に格納する縦見出し項目1、…、縦見出し項
目5に関するパラメータ(項目名、ソート基準)であ
り、9行目1689から13行目16813の情報は、
フィールド1581〜1585に格納する横見出し項目
1、…、横見出し項目5に関するパラメータ(項目名、
ソート基準)である。ここで、縦見出し項目、横見出し
項目がそれぞれ5個づつであるのは、図36でも示した
ように、本実施例における縦見出し項目、横見出し項目
の数の上限を5個づつとしているからである。以下で、
ステップ363における、見出し領域管理テーブル16
8への情報格納について説明する。
【0199】ステップ363において、縦見出し領域へ
の対応付けが行われた場合は、3行目、1列目の168
3Aの値をインクリメント後、4行目1684から順に
情報を格納する。また、横見出し領域への対応付けが行
われた場合は、3行目、2列目の1683Bの値をイン
クリメント後、9行目1689から順に情報を格納す
る。4行目1684から8行目1688までは、1列目
に列番号、2列目に項目名、3列目に前記ソート基準を
格納し、9行目1689から13行目16813まで
は、1列目に行番号、2列目には項目名、3列目にソー
ト基準を格納する。以後、4行目1684から8行目1
688に格納する3つの情報を総称し、縦見出し項目対
応付け情報と呼び、9行目1689から13行目168
13に格納する3つの情報を総称し、横見出し項目対応
付け情報と呼ぶこととする。
の対応付けが行われた場合は、3行目、1列目の168
3Aの値をインクリメント後、4行目1684から順に
情報を格納する。また、横見出し領域への対応付けが行
われた場合は、3行目、2列目の1683Bの値をイン
クリメント後、9行目1689から順に情報を格納す
る。4行目1684から8行目1688までは、1列目
に列番号、2列目に項目名、3列目に前記ソート基準を
格納し、9行目1689から13行目16813まで
は、1列目に行番号、2列目には項目名、3列目にソー
ト基準を格納する。以後、4行目1684から8行目1
688に格納する3つの情報を総称し、縦見出し項目対
応付け情報と呼び、9行目1689から13行目168
13に格納する3つの情報を総称し、横見出し項目対応
付け情報と呼ぶこととする。
【0200】ところで、見出し領域管理テーブル165
の情報(項目名、ソート基準)を、パラメータテーブル
15に容易に格納するためには、縦見出し項目名1、
…、縦見出し項目名5の順序、同様に、横見出し項目名
1、…、横見出し項目名5の順序で格納されているのが
望ましい。しかし、ステップ363においてユーザが対
応付ける順序は、この順序であるとは限らない。そのた
め、ステップ363では、パラメータテーブル15への
パラメータ格納に先立ち、該順序にソートする処理を行
う。4行目1684から8行目1688の1列目に格納
する列番号、及び、9行目1689から13行目168
13の1列目に格納する行番号は、前記ソート処理のた
めに用いる。このようなソート処理を行うことにより、
縦見出し項目名1、…、縦見出し項目名5、横見出し項
目名1、…、横見出し項目名5の順序で、パラメータテ
ーブル15へのパラメータ格納を行うことができる。
の情報(項目名、ソート基準)を、パラメータテーブル
15に容易に格納するためには、縦見出し項目名1、
…、縦見出し項目名5の順序、同様に、横見出し項目名
1、…、横見出し項目名5の順序で格納されているのが
望ましい。しかし、ステップ363においてユーザが対
応付ける順序は、この順序であるとは限らない。そのた
め、ステップ363では、パラメータテーブル15への
パラメータ格納に先立ち、該順序にソートする処理を行
う。4行目1684から8行目1688の1列目に格納
する列番号、及び、9行目1689から13行目168
13の1列目に格納する行番号は、前記ソート処理のた
めに用いる。このようなソート処理を行うことにより、
縦見出し項目名1、…、縦見出し項目名5、横見出し項
目名1、…、横見出し項目名5の順序で、パラメータテ
ーブル15へのパラメータ格納を行うことができる。
【0201】次に、図49を用いて、数値項目管理テー
ブル169のデータ構造について説明する。数値項目管
理テーブル169は、21行4列の配列である。1行目
1691の、1列目1691Aに格納する情報は、前記
列属性/行属性のどちらかの状態である。ただし、対応
付ける数値項目が1個だけの場合には何も入らない。2
列目1691Bに格納する情報は、対応付けが行われた
項目の個数である。3列目1691C、4列目1691
Dに格納する情報は、分配化パラメータのp、qであ
る。2行目1692から21行目16921までは、数
値項目の対応付けの情報を格納する領域である。ここ
で、この領域を20行確保しているのは、本実施例にお
いては、数値項目の上限を20個としているためであ
る。各行は、1、2列目にはドロップした座標の列番
号、行番号を格納し、3、4列目にはドラッグした数値
項目の項目名、及び、検索データ34での列番号を格納
する。以後、これら4つの情報を総称し、数値項目対応
付け情報と呼ぶこととする。2行目から21行目の3列
目に格納する項目名は、パラメータテーブル15の数値
項目に関するパラメータに対応している。
ブル169のデータ構造について説明する。数値項目管
理テーブル169は、21行4列の配列である。1行目
1691の、1列目1691Aに格納する情報は、前記
列属性/行属性のどちらかの状態である。ただし、対応
付ける数値項目が1個だけの場合には何も入らない。2
列目1691Bに格納する情報は、対応付けが行われた
項目の個数である。3列目1691C、4列目1691
Dに格納する情報は、分配化パラメータのp、qであ
る。2行目1692から21行目16921までは、数
値項目の対応付けの情報を格納する領域である。ここ
で、この領域を20行確保しているのは、本実施例にお
いては、数値項目の上限を20個としているためであ
る。各行は、1、2列目にはドロップした座標の列番
号、行番号を格納し、3、4列目にはドラッグした数値
項目の項目名、及び、検索データ34での列番号を格納
する。以後、これら4つの情報を総称し、数値項目対応
付け情報と呼ぶこととする。2行目から21行目の3列
目に格納する項目名は、パラメータテーブル15の数値
項目に関するパラメータに対応している。
【0202】以下、ステップ364における、数値項目
管理テーブル169への数値項目対応付け情報の格納に
ついて説明する。
管理テーブル169への数値項目対応付け情報の格納に
ついて説明する。
【0203】ステップ364において、ユーザにより初
めて数値項目対応付けが行われる際には、数値項目管理
テーブル169の2行目1692に、該数値項目対応付
け情報を格納するのみである。しかし、2回目以降の数
値項目対応付けでは、前記列属性/行属性の判定、ある
いは、正しい座標へドロップが行われているかどうかの
チェックを行う必要がある。というのも、先に述べたよ
うに、数値項目対応付けは、同一列、あるいは同1行に
対してのみ行われるという規則としているため、対応付
けが行われている方向が、列であるのか行であるのかを
常に意識している必要があるのである。そのため、ユー
ザにより2回目の対応付けが行われると、列属性である
のか行属性であるのかを調べるために、現在の数値項目
対応付け情報と、既に格納されている2行目1692の
対応付け情報とを比較する。実際に比較するのは、1、
2列目の列番号、及び行番号である。上記比較の結果、
列番号が等しければ列属性を設定し、行番号が等しけれ
ば行属性を設定する。2回目の対応付け情報は、3行目
に格納される。3回目以降の対応付けでは、まず始め
に、対応付けの状態が、列属性か行属性かを調べ、列属
性の場合は、現在の数値項目対応付け情報の列番号と比
較し、行属性の場合は、同様に行番号と比較することに
よりチェックを行う。3回目以降の対応付け情報は、3
行目1693以降に順次格納される。
めて数値項目対応付けが行われる際には、数値項目管理
テーブル169の2行目1692に、該数値項目対応付
け情報を格納するのみである。しかし、2回目以降の数
値項目対応付けでは、前記列属性/行属性の判定、ある
いは、正しい座標へドロップが行われているかどうかの
チェックを行う必要がある。というのも、先に述べたよ
うに、数値項目対応付けは、同一列、あるいは同1行に
対してのみ行われるという規則としているため、対応付
けが行われている方向が、列であるのか行であるのかを
常に意識している必要があるのである。そのため、ユー
ザにより2回目の対応付けが行われると、列属性である
のか行属性であるのかを調べるために、現在の数値項目
対応付け情報と、既に格納されている2行目1692の
対応付け情報とを比較する。実際に比較するのは、1、
2列目の列番号、及び行番号である。上記比較の結果、
列番号が等しければ列属性を設定し、行番号が等しけれ
ば行属性を設定する。2回目の対応付け情報は、3行目
に格納される。3回目以降の対応付けでは、まず始め
に、対応付けの状態が、列属性か行属性かを調べ、列属
性の場合は、現在の数値項目対応付け情報の列番号と比
較し、行属性の場合は、同様に行番号と比較することに
よりチェックを行う。3回目以降の対応付け情報は、3
行目1693以降に順次格納される。
【0204】ところで、数値項目管理テーブル169の
情報である項目名を、パラメータテーブル15に容易に
格納するためには、数値項目名1、…、数値項目名20
の順序で格納されているのが望ましい。しかし、ステッ
プ364においてユーザが対応付ける順序は、必ずしも
この順序であるとは限らない。そのため、ステップ36
4では、パラメータテーブル15へのパラメータ格納に
先立ち、該順序にソートする処理を行う。また、このソ
ート処理は、後述する分配化パラメータp、pの割り出
しにも必要である。前記ソート処理では、対応付けの状
態が列属性であれば、2列目に格納されている行番号で
ソートを行い、行属性であれば、1列目に格納されてい
る列番号でソートを行う。このようなソート処理を行う
ことにより、数値項目管理テーブル169での対応付け
情報の格納順序を、数値項目名1、…、数値項目名20
の並び方にする事が出来る。
情報である項目名を、パラメータテーブル15に容易に
格納するためには、数値項目名1、…、数値項目名20
の順序で格納されているのが望ましい。しかし、ステッ
プ364においてユーザが対応付ける順序は、必ずしも
この順序であるとは限らない。そのため、ステップ36
4では、パラメータテーブル15へのパラメータ格納に
先立ち、該順序にソートする処理を行う。また、このソ
ート処理は、後述する分配化パラメータp、pの割り出
しにも必要である。前記ソート処理では、対応付けの状
態が列属性であれば、2列目に格納されている行番号で
ソートを行い、行属性であれば、1列目に格納されてい
る列番号でソートを行う。このようなソート処理を行う
ことにより、数値項目管理テーブル169での対応付け
情報の格納順序を、数値項目名1、…、数値項目名20
の並び方にする事が出来る。
【0205】ところで、先に説明したように、ステップ
364におけるドロップ先は、必ず、検索データ34の
1レコード目の1データが貼り付けられる座標でなけれ
ばならないという規則がある。そのため、この規則の下
で正しく対応付けが行われた場合、前記ソート処理を行
った状態では、数値項目管理テーブル169の2行目1
692における1、2列目に格納される列番号、行番号
は、必ず貼り付け初期位置353の列番号、行番号と等
しくなるはずである。したがって、前記ソート処理後に
は、見出し領域管理テーブル168の2行目1682
と、数値項目管理テーブル169の1692を照合する
ことによりチェックを行う必要がある。
364におけるドロップ先は、必ず、検索データ34の
1レコード目の1データが貼り付けられる座標でなけれ
ばならないという規則がある。そのため、この規則の下
で正しく対応付けが行われた場合、前記ソート処理を行
った状態では、数値項目管理テーブル169の2行目1
692における1、2列目に格納される列番号、行番号
は、必ず貼り付け初期位置353の列番号、行番号と等
しくなるはずである。したがって、前記ソート処理後に
は、見出し領域管理テーブル168の2行目1682
と、数値項目管理テーブル169の1692を照合する
ことによりチェックを行う必要がある。
【0206】以下で、ステップ364における分配化パ
ラメータp、qの割り出し処理について説明する。先に
述べたように、ステップ364でのユーザによる定義操
作の終了は、了解ボタン37、あるいは、繰り返しボタ
ン39のクリックによる2通りの場合がある。しかし、
繰り返しボタン39のクリックが有効なのは、図43で
示すような場合のみである。つまり、前記パターン3の
場合であり、かつ、表形式35の該列への対応付けだけ
では残りの数値項目の対応付けが認識されていない場合
である。従って、図40、41、42に示す前記パター
ン1、パターン2、パターン4の場合には、繰り返しボ
タン39のクリックは間違いである。ただし、図42の
場合は、ユーザが間違って繰り返しボタン39をクリッ
クしてしまっても、図43の場合と分配化パラメータの
割り出しロジックが等しいため、特に問題は起こらない
仕組みとなっている。
ラメータp、qの割り出し処理について説明する。先に
述べたように、ステップ364でのユーザによる定義操
作の終了は、了解ボタン37、あるいは、繰り返しボタ
ン39のクリックによる2通りの場合がある。しかし、
繰り返しボタン39のクリックが有効なのは、図43で
示すような場合のみである。つまり、前記パターン3の
場合であり、かつ、表形式35の該列への対応付けだけ
では残りの数値項目の対応付けが認識されていない場合
である。従って、図40、41、42に示す前記パター
ン1、パターン2、パターン4の場合には、繰り返しボ
タン39のクリックは間違いである。ただし、図42の
場合は、ユーザが間違って繰り返しボタン39をクリッ
クしてしまっても、図43の場合と分配化パラメータの
割り出しロジックが等しいため、特に問題は起こらない
仕組みとなっている。
【0207】以下、了解ボタン37のクリック後に行わ
れる分配化パラメータの割り出しについて説明する。前
記割り出しでは、まず始めに、数値項目管理テーブル1
69の1行1列1691Aを参照することにより、対応
付けの状態が、列属性であるか行属性であるかを参照す
る。前記参照の結果、行属性であれば、分配化指定がな
い前記パターン1、あるいはパターン2であると判断で
きるため、2列目1691B、3列目1691Bに、そ
れぞれ0を代入する。またここで、列属性であれば、分
配化指定がある前記パターン3、あるいはパターン4で
あると判断できるため、以下で分配化パラメータp、q
の割り出しを行う。分配化パラメータの割り出しは、ブ
ロック化指定の有無により前記パターン3とパターン4
で割り出しの方法が異なる。というのも、先に説明した
ように、ブロック化指定がある場合、分配化パラメータ
pは必ず1となるため、qの割り出しだけで事足りる
が、ブロック化指定がない場合は、pは必ずしも1とは
限らないため、別にpの割り出しを行う必要があるので
ある。分配化パラメータqは、双方共、対応付けが行わ
れた項目の総数となるため、数値項目管理テーブル16
9の1行目、2列目1691Bに格納されている対応付
け項目数を1691Dに格納する。以下、ブロック化が
ない場合の前記パターン4における分配化パラメータp
の割り出しについて説明する。なお、この説明は、繰り
返しボタン39のクリックを必要とする図43の割り出
し方法とも等しいため、その説明もここに含めることと
する。
れる分配化パラメータの割り出しについて説明する。前
記割り出しでは、まず始めに、数値項目管理テーブル1
69の1行1列1691Aを参照することにより、対応
付けの状態が、列属性であるか行属性であるかを参照す
る。前記参照の結果、行属性であれば、分配化指定がな
い前記パターン1、あるいはパターン2であると判断で
きるため、2列目1691B、3列目1691Bに、そ
れぞれ0を代入する。またここで、列属性であれば、分
配化指定がある前記パターン3、あるいはパターン4で
あると判断できるため、以下で分配化パラメータp、q
の割り出しを行う。分配化パラメータの割り出しは、ブ
ロック化指定の有無により前記パターン3とパターン4
で割り出しの方法が異なる。というのも、先に説明した
ように、ブロック化指定がある場合、分配化パラメータ
pは必ず1となるため、qの割り出しだけで事足りる
が、ブロック化指定がない場合は、pは必ずしも1とは
限らないため、別にpの割り出しを行う必要があるので
ある。分配化パラメータqは、双方共、対応付けが行わ
れた項目の総数となるため、数値項目管理テーブル16
9の1行目、2列目1691Bに格納されている対応付
け項目数を1691Dに格納する。以下、ブロック化が
ない場合の前記パターン4における分配化パラメータp
の割り出しについて説明する。なお、この説明は、繰り
返しボタン39のクリックを必要とする図43の割り出
し方法とも等しいため、その説明もここに含めることと
する。
【0208】図43、及び、図44で説明したように、
分配化パラメータpは、検索データ34において対応付
けを行った項目の列番号の差となる。そのため、複数の
項目を対応付ける場合、その列番号の差は常に等しくな
ければならないという規則がある。例えば、図44のよ
うに、5個の項目を対応付けている場合は、その全ての
項目の列番号の差が等しくなければならないという規則
がある。分配化パラメータpを割り出す際には、このよ
うなチェックも同時に行う。
分配化パラメータpは、検索データ34において対応付
けを行った項目の列番号の差となる。そのため、複数の
項目を対応付ける場合、その列番号の差は常に等しくな
ければならないという規則がある。例えば、図44のよ
うに、5個の項目を対応付けている場合は、その全ての
項目の列番号の差が等しくなければならないという規則
がある。分配化パラメータpを割り出す際には、このよ
うなチェックも同時に行う。
【0209】次に、パラメータ入力処理(ステップ20
01)の、詳細な処理内容について、図50に示すステ
ップ361〜ステップ364の順序で説明する。
01)の、詳細な処理内容について、図50に示すステ
ップ361〜ステップ364の順序で説明する。
【0210】まず始めに、ステップ361(表の初期位
置指定)、ステップ362(貼り付け初期位置指定)に
ついて、図51を用いて説明する。ここで、(a)は、
ステップ361、362の説明で共通に使うフローチャ
ートであり、(b)は、ステップ362の処理のうち、
(a)のフローチャートと異なるステップ4705の部
分だけを抽出したものである。
置指定)、ステップ362(貼り付け初期位置指定)に
ついて、図51を用いて説明する。ここで、(a)は、
ステップ361、362の説明で共通に使うフローチャ
ートであり、(b)は、ステップ362の処理のうち、
(a)のフローチャートと異なるステップ4705の部
分だけを抽出したものである。
【0211】パラメータ入力制御部161は、ユーザか
らのマウスクリック操作を検出すると(ステップ510
1)、構成要素管理部162、処理遷移管理部163と
連携をとることにより、ステップ5101で入力された
該物理座標が表形式35に対応しているかどうかを調べ
る(ステップ5102)。調べた結果、該物理座標が表
形式35に対応していれば、制御を表形式管理部166
に移す。表形式管理部166では、パラメータ入力制御
部161から受け取った該物理座標から、列番号、行番
号を算出し(ステップ5103)、続いて、該列番号、
行番号が見出し領域管理テーブル168に格納済である
かを調べる(ステップ5104)。ここで、ステップ3
61を実行中の場合は、見出し領域管理テーブル168
の1行目1681を調べ、ステップ362を実行中の場
合は、見出し領域管理テーブル168の2行目1682
を調べる。ステップ5104の調査の結果、該行に情報
が格納されていた場合、「既に情報は格納済です」等の
メッセージを表示し(ステップ5106)、再びステッ
プ5101に制御を戻す。
らのマウスクリック操作を検出すると(ステップ510
1)、構成要素管理部162、処理遷移管理部163と
連携をとることにより、ステップ5101で入力された
該物理座標が表形式35に対応しているかどうかを調べ
る(ステップ5102)。調べた結果、該物理座標が表
形式35に対応していれば、制御を表形式管理部166
に移す。表形式管理部166では、パラメータ入力制御
部161から受け取った該物理座標から、列番号、行番
号を算出し(ステップ5103)、続いて、該列番号、
行番号が見出し領域管理テーブル168に格納済である
かを調べる(ステップ5104)。ここで、ステップ3
61を実行中の場合は、見出し領域管理テーブル168
の1行目1681を調べ、ステップ362を実行中の場
合は、見出し領域管理テーブル168の2行目1682
を調べる。ステップ5104の調査の結果、該行に情報
が格納されていた場合、「既に情報は格納済です」等の
メッセージを表示し(ステップ5106)、再びステッ
プ5101に制御を戻す。
【0212】また、表形式管理部166は、ステップ5
104の結果、該行にまだ情報が格納されていないこと
を確認すると、捨てぷ4803で割り出した該列番号、
行番号を、見出し領域管理テーブル168に格納する
(ステップ5105)。ここで、ステップ5105で示
している処理は、ステップ361の場合であるため、該
座標情報を格納するのは見出し領域管理テーブル168
の1行目1681である。一方のステップ362の場合
を、図50(b)に示す。ステップ362では、図36
で説明した、貼り付け初期位置条件のチェック処理が別
に必要である。貼り付け初期位置条件のチェックは、ス
テップ51051で行う。ステップ51051の調査の
結果、該指定が正しければ、該列番号、行番号を見出し
領域管理テーブル168の2行目に格納する(ステップ
51052)。また、ステップ51051のチェックの
結果、指定が正しくなければ、「指定が正しく行われて
いません」等のメッセージを表示して(ステップ510
53)、再びステップ5101に制御を戻す。
104の結果、該行にまだ情報が格納されていないこと
を確認すると、捨てぷ4803で割り出した該列番号、
行番号を、見出し領域管理テーブル168に格納する
(ステップ5105)。ここで、ステップ5105で示
している処理は、ステップ361の場合であるため、該
座標情報を格納するのは見出し領域管理テーブル168
の1行目1681である。一方のステップ362の場合
を、図50(b)に示す。ステップ362では、図36
で説明した、貼り付け初期位置条件のチェック処理が別
に必要である。貼り付け初期位置条件のチェックは、ス
テップ51051で行う。ステップ51051の調査の
結果、該指定が正しければ、該列番号、行番号を見出し
領域管理テーブル168の2行目に格納する(ステップ
51052)。また、ステップ51051のチェックの
結果、指定が正しくなければ、「指定が正しく行われて
いません」等のメッセージを表示して(ステップ510
53)、再びステップ5101に制御を戻す。
【0213】パラメータ入力制御部161は、ステップ
5102の結果、ユーザが指定した該物理座標が表形式
35でない場合、次に、了解ボタン37に対応している
かどうかを調べる(ステップ5107)。ステップ51
07の結果、了解ボタン37に対応していれば、パラメ
ータ入力制御部161は、定義ステップの終了処理のた
め、該定義情報が見出し領域管理テーブル168に格納
されているかどうかを調べる(ステップ5108)。こ
こで、ステップ361の場合は、見出し領域管理テーブ
ル168の1行目1681を調べ、ステップ362の場
合は同テーブルの2行目1682を調べる。ステップ5
108の結果、該情報が格納されていれば、パラメータ
入力制御部161は、そのままステップ361、あるい
は362を終了するが、格納されていなければ、「情報
は格納されていません」等のメッセージを表示して(ス
テップ5109)、再びステップ5101に戻る。
5102の結果、ユーザが指定した該物理座標が表形式
35でない場合、次に、了解ボタン37に対応している
かどうかを調べる(ステップ5107)。ステップ51
07の結果、了解ボタン37に対応していれば、パラメ
ータ入力制御部161は、定義ステップの終了処理のた
め、該定義情報が見出し領域管理テーブル168に格納
されているかどうかを調べる(ステップ5108)。こ
こで、ステップ361の場合は、見出し領域管理テーブ
ル168の1行目1681を調べ、ステップ362の場
合は同テーブルの2行目1682を調べる。ステップ5
108の結果、該情報が格納されていれば、パラメータ
入力制御部161は、そのままステップ361、あるい
は362を終了するが、格納されていなければ、「情報
は格納されていません」等のメッセージを表示して(ス
テップ5109)、再びステップ5101に戻る。
【0214】ステップ5107の結果、ユーザが指定し
た該物理座標が了解ボタン37に対応していない場合、
パラメータ入力制御部161は、取消ボタン38に対応
しているかどうかを調べる(ステップ5110)。ステ
ップ5110の結果、取消ボタン38に対応していれ
ば、取り消すべき情報が見出し領域管理テーブル168
に格納されているかどうかを調べる(ステップ511
1)。ここで、ステップ361の場合は1行目1681
を調べ、ステップ362の場合は2行目1682を調べ
る。パラメータ入力制御部161は、ステップ5111
の結果、該情報が格納されていれば、該情報を削除し
(ステップ5112)、格納されていなければ、「情報
は格納されていません」等のメッセージを表示して(ス
テップ5113)を表示して、再びステップ5101に
戻る。
た該物理座標が了解ボタン37に対応していない場合、
パラメータ入力制御部161は、取消ボタン38に対応
しているかどうかを調べる(ステップ5110)。ステ
ップ5110の結果、取消ボタン38に対応していれ
ば、取り消すべき情報が見出し領域管理テーブル168
に格納されているかどうかを調べる(ステップ511
1)。ここで、ステップ361の場合は1行目1681
を調べ、ステップ362の場合は2行目1682を調べ
る。パラメータ入力制御部161は、ステップ5111
の結果、該情報が格納されていれば、該情報を削除し
(ステップ5112)、格納されていなければ、「情報
は格納されていません」等のメッセージを表示して(ス
テップ5113)を表示して、再びステップ5101に
戻る。
【0215】次に、ステップ363(見出し項目対応付
け処理)について、図52を用いて説明する。
け処理)について、図52を用いて説明する。
【0216】パラメータ入力制御部161は、ユーザか
らのマウス207による入力を受け付ける(ステップ5
201)と、それがドラッグであるかを調べる(ステッ
プ5202)。調べた結果、ドラッグであれば、構成要
素管理部162、及び処理遷移管理部163と連携をと
ることにより、該物理座標が検索データ34に対応して
いるかどうかを調べる(ステップ5203)。ステップ
5203の結果、該物理座標が検索データ34に対応し
ていれば、0次表管理部164に制御を移す。制御を移
された0次表管理部164は、パラメータ入力制御部1
61から受け取った該物理座標から、検索データ34に
おける列番号を算出する(ステップ5204)。一方、
ステップ5203の結果、該物理座標が検索データ34
に対応していなければ、再びステップ5201に戻る。
らのマウス207による入力を受け付ける(ステップ5
201)と、それがドラッグであるかを調べる(ステッ
プ5202)。調べた結果、ドラッグであれば、構成要
素管理部162、及び処理遷移管理部163と連携をと
ることにより、該物理座標が検索データ34に対応して
いるかどうかを調べる(ステップ5203)。ステップ
5203の結果、該物理座標が検索データ34に対応し
ていれば、0次表管理部164に制御を移す。制御を移
された0次表管理部164は、パラメータ入力制御部1
61から受け取った該物理座標から、検索データ34に
おける列番号を算出する(ステップ5204)。一方、
ステップ5203の結果、該物理座標が検索データ34
に対応していなければ、再びステップ5201に戻る。
【0217】0次表管理部164は、ステップ5204
に引き続き、0次表管理テーブル165の、該列番号に
相当する行の2列目を照合することにより、該項目の定
義の有無を調べる(ステップ5205)。ステップ52
05の結果、該項目が定義済であれば、「既に定義済で
す」等のメッセージを表示後、再びステップ5201に
制御を戻す。また、該項目が未定義であれば、0次表管
理部164は、パラメータ入力制御部161に制御を移
し、ユーザによりドロップが行われる(ステップ520
6)のを待ち続ける。パラメータ入力制御部161は、
ステップ5206でドロップを検出すると、構成要素管
理部162と処理遷移管理部161と連携をとることに
より、ドロップが行われた該物理座標が表形式35に対
応しているかどうかを調べる(ステップ5207)。ス
テップ5207の結果、表形式35に対応していなけれ
ば、「正しい位置にドロップして下さい」等のメッセー
ジを表示して再びステップ5201に戻る。また、ステ
ップ5207の結果、表形式35に対応していれば、パ
ラメータ入力制御部161は、表形式管理部166に制
御を移す。制御を移された表形式管理部166は、パラ
メータ入力制御部161から渡された該物理座標から、
表形式35における列番号、行番号を算出する(ステッ
プ5208)。次に、表形式管理部166は、ステップ
5208で算出した列番号が、縦見出し領域354に含
まれるかどうかを、見出し領域管理テーブル168の1
行目1681と2行目1682を参照することにより調
べる(ステップ5209)。ステップ5209の結果、
該列番号が縦見出し領域354に含まれれば、見出し領
域管理テーブル168の4行目1684から8行目16
88までの1列目を調べ、該列の定義の有無を調べる
(ステップ5210)。ステップ5210の結果、該列
が定義済であれば、「既にこの列は定義済です」等のメ
ッセージを表示して再びステップ5201に戻る。ま
た、ステップ5210の結果、該列が未定義であれば、
表形式管理部166は、ソート基準指定画面370を表
示してユーザにソート基準を指定させる(ステップ52
11)。表形式管理部166は、次に、見出し領域管理
テーブル168に、先のステップで割り出した縦見出し
項目対応付け情報を格納する(ステップ5212)。格
納する縦見出し項目対応付け情報は、表形式35におけ
るドラッグ座標の列番号、検索データ34におけるドロ
ップ項目名、ソート基準である。これら情報の格納先
は、見出し領域管理テーブル168の4行目1684か
ら8行目1688の内、最新情報が格納されている次の
行である。また、この他、見出し領域管理テーブル16
8の3行目、1列目1683Aの縦見出し項目数のイン
クリメントも行う。次に、0次表管理テーブル165に
おける、ステップ5204で算出した列番号に相当する
行の2列目に、定義有りを格納し(ステップ521
3)、再びステップ5201に制御を戻す。
に引き続き、0次表管理テーブル165の、該列番号に
相当する行の2列目を照合することにより、該項目の定
義の有無を調べる(ステップ5205)。ステップ52
05の結果、該項目が定義済であれば、「既に定義済で
す」等のメッセージを表示後、再びステップ5201に
制御を戻す。また、該項目が未定義であれば、0次表管
理部164は、パラメータ入力制御部161に制御を移
し、ユーザによりドロップが行われる(ステップ520
6)のを待ち続ける。パラメータ入力制御部161は、
ステップ5206でドロップを検出すると、構成要素管
理部162と処理遷移管理部161と連携をとることに
より、ドロップが行われた該物理座標が表形式35に対
応しているかどうかを調べる(ステップ5207)。ス
テップ5207の結果、表形式35に対応していなけれ
ば、「正しい位置にドロップして下さい」等のメッセー
ジを表示して再びステップ5201に戻る。また、ステ
ップ5207の結果、表形式35に対応していれば、パ
ラメータ入力制御部161は、表形式管理部166に制
御を移す。制御を移された表形式管理部166は、パラ
メータ入力制御部161から渡された該物理座標から、
表形式35における列番号、行番号を算出する(ステッ
プ5208)。次に、表形式管理部166は、ステップ
5208で算出した列番号が、縦見出し領域354に含
まれるかどうかを、見出し領域管理テーブル168の1
行目1681と2行目1682を参照することにより調
べる(ステップ5209)。ステップ5209の結果、
該列番号が縦見出し領域354に含まれれば、見出し領
域管理テーブル168の4行目1684から8行目16
88までの1列目を調べ、該列の定義の有無を調べる
(ステップ5210)。ステップ5210の結果、該列
が定義済であれば、「既にこの列は定義済です」等のメ
ッセージを表示して再びステップ5201に戻る。ま
た、ステップ5210の結果、該列が未定義であれば、
表形式管理部166は、ソート基準指定画面370を表
示してユーザにソート基準を指定させる(ステップ52
11)。表形式管理部166は、次に、見出し領域管理
テーブル168に、先のステップで割り出した縦見出し
項目対応付け情報を格納する(ステップ5212)。格
納する縦見出し項目対応付け情報は、表形式35におけ
るドラッグ座標の列番号、検索データ34におけるドロ
ップ項目名、ソート基準である。これら情報の格納先
は、見出し領域管理テーブル168の4行目1684か
ら8行目1688の内、最新情報が格納されている次の
行である。また、この他、見出し領域管理テーブル16
8の3行目、1列目1683Aの縦見出し項目数のイン
クリメントも行う。次に、0次表管理テーブル165に
おける、ステップ5204で算出した列番号に相当する
行の2列目に、定義有りを格納し(ステップ521
3)、再びステップ5201に制御を戻す。
【0218】表形式管理部166は、ステップ5209
の結果、ユーザの指定した座標が縦見出し領域354で
ない場合、ステップ5208で算出した該行番号が、横
見出し領域355に含まれるかどうかを、見出し領域管
理テーブル168の1行目1681と2行目1682を
参照することにより調べる(ステップ5214)。ステ
ップ5214の結果、横見出し領域355でなければ、
ユーザは間違った指定をしていることになるため、「正
しい位置にドロップして下さい」等のメッセージを表示
して再びステップ5201に制御を戻す。また、ステッ
プ5214の結果、ユーザの指定した座標が横見出し領
域355に含まれれば、見出し領域管理テーブル168
の9行目1689から13行目16813までを調べ、
該行の定義の有無を調べる(ステップ5215)。ステ
ップ5215の結果、該行が定義済であれば、「既にこ
の行は定義済です」等のメッセージを表示して再びステ
ップ5201に制御を戻す。また、ステップ5215の
結果、該行が未定義であれば、ソート基準指定画面37
0を表示してユーザにソート基準を指定させる(ステッ
プ5216)。その後、見出し領域管理テーブル168
に、横見出し項目対応付け情報を格納する(ステップ5
217)。格納する横見出し項目対応付け情報は、先に
述べたように、表形式35におけるドラッグ座標の行番
号、検索データ34におけるドロップ項目名、ソート基
準である。これら情報の格納先は、見出し領域管理テー
ブル168の9行目1689から13行目16813の
内、最新情報が格納されている次の行である。また、こ
の他、見出し領域管理テーブル168の3行目、2列目
1683Bの横見出し項目数のインクリメントも行う。
次に、0次表管理テーブル165における、ステップ5
204で算出した列番号に相当する行の2列目に、定義
有りを格納し(ステップ5218)、再びステップ52
01に制御を戻す。
の結果、ユーザの指定した座標が縦見出し領域354で
ない場合、ステップ5208で算出した該行番号が、横
見出し領域355に含まれるかどうかを、見出し領域管
理テーブル168の1行目1681と2行目1682を
参照することにより調べる(ステップ5214)。ステ
ップ5214の結果、横見出し領域355でなければ、
ユーザは間違った指定をしていることになるため、「正
しい位置にドロップして下さい」等のメッセージを表示
して再びステップ5201に制御を戻す。また、ステッ
プ5214の結果、ユーザの指定した座標が横見出し領
域355に含まれれば、見出し領域管理テーブル168
の9行目1689から13行目16813までを調べ、
該行の定義の有無を調べる(ステップ5215)。ステ
ップ5215の結果、該行が定義済であれば、「既にこ
の行は定義済です」等のメッセージを表示して再びステ
ップ5201に制御を戻す。また、ステップ5215の
結果、該行が未定義であれば、ソート基準指定画面37
0を表示してユーザにソート基準を指定させる(ステッ
プ5216)。その後、見出し領域管理テーブル168
に、横見出し項目対応付け情報を格納する(ステップ5
217)。格納する横見出し項目対応付け情報は、先に
述べたように、表形式35におけるドラッグ座標の行番
号、検索データ34におけるドロップ項目名、ソート基
準である。これら情報の格納先は、見出し領域管理テー
ブル168の9行目1689から13行目16813の
内、最新情報が格納されている次の行である。また、こ
の他、見出し領域管理テーブル168の3行目、2列目
1683Bの横見出し項目数のインクリメントも行う。
次に、0次表管理テーブル165における、ステップ5
204で算出した列番号に相当する行の2列目に、定義
有りを格納し(ステップ5218)、再びステップ52
01に制御を戻す。
【0219】パラメータ入力制御部161は、ステップ
5202の結果、ユーザの操作がドラッグでない場合、
該操作がクリックであるかどうかを調べる(ステップ5
219)。ステップ5219の結果、該操作がクリック
でない場合、再びステップ5201に戻るが、クリック
の場合、クリックされた物理座標が了解ボタン37に対
応するのかを調べる(ステップ5220)。ステップ5
220の結果、了解ボタン37に対応すれば、ステップ
363の定義操作を終了するために、見出し領域管理テ
ーブル168に、縦見出し項目対応付け情報が格納され
ているかを調べる(ステップ5221)。ここで、縦見
出し項目だけに着目するのは、縦見出し項目への対応付
けは必ず行われる必要があるが、横見出し項目の対応付
けは必ずしも行われるとは限らないからである。パラメ
ータ入力制御部161は、縦見出し項目対応付け情報の
有無を調べるために、具体的には、見出し領域管理テー
ブル168の3行目、1列目1683Aに格納されてい
る縦見出し項目数の総数を見る。ここで、縦見出し項目
数が0であれば、「情報が格納されていません」等のメ
ッセージを表示して再びステップ5201に戻る。ま
た、ステップ5221で該数が0でなければ、先に述べ
たように、4行目1684から8行目1688の1列目
に格納されている行番号、及び、9行目1689から1
3行目16813の1列目に格納されている列番号でソ
ートを行う(ステップ5222)。その後、パラメータ
入力制御部161は、見出し領域管理テーブル168の
情報をパラメータテーブル15に格納する(ステップ5
223)。このとき、見出し領域管理テーブル168の
3行目、2列目1683Bが0でなければ、ブロック化
指定有りと認識し、パラメータテーブル15のフィール
ド151にブロック化指定有りを格納する。また、16
83Aに格納された数をフィールド153に格納し、1
683Bに格納された数をフィールド155に格納す
る。さらに、4行目1684から8行目1688に格納
された項目名、及びソート基準を、フィールド154に
格納し、9行目1689から13行目16813に格納
された項目名、及びソート基準をフィールド156に格
納する。
5202の結果、ユーザの操作がドラッグでない場合、
該操作がクリックであるかどうかを調べる(ステップ5
219)。ステップ5219の結果、該操作がクリック
でない場合、再びステップ5201に戻るが、クリック
の場合、クリックされた物理座標が了解ボタン37に対
応するのかを調べる(ステップ5220)。ステップ5
220の結果、了解ボタン37に対応すれば、ステップ
363の定義操作を終了するために、見出し領域管理テ
ーブル168に、縦見出し項目対応付け情報が格納され
ているかを調べる(ステップ5221)。ここで、縦見
出し項目だけに着目するのは、縦見出し項目への対応付
けは必ず行われる必要があるが、横見出し項目の対応付
けは必ずしも行われるとは限らないからである。パラメ
ータ入力制御部161は、縦見出し項目対応付け情報の
有無を調べるために、具体的には、見出し領域管理テー
ブル168の3行目、1列目1683Aに格納されてい
る縦見出し項目数の総数を見る。ここで、縦見出し項目
数が0であれば、「情報が格納されていません」等のメ
ッセージを表示して再びステップ5201に戻る。ま
た、ステップ5221で該数が0でなければ、先に述べ
たように、4行目1684から8行目1688の1列目
に格納されている行番号、及び、9行目1689から1
3行目16813の1列目に格納されている列番号でソ
ートを行う(ステップ5222)。その後、パラメータ
入力制御部161は、見出し領域管理テーブル168の
情報をパラメータテーブル15に格納する(ステップ5
223)。このとき、見出し領域管理テーブル168の
3行目、2列目1683Bが0でなければ、ブロック化
指定有りと認識し、パラメータテーブル15のフィール
ド151にブロック化指定有りを格納する。また、16
83Aに格納された数をフィールド153に格納し、1
683Bに格納された数をフィールド155に格納す
る。さらに、4行目1684から8行目1688に格納
された項目名、及びソート基準を、フィールド154に
格納し、9行目1689から13行目16813に格納
された項目名、及びソート基準をフィールド156に格
納する。
【0220】パラメータ入力制御部161は、ステップ
5220の結果、該物理座標が了解ボタン37に対応し
ていなければ、取消ボタン38に対応してるかどうかを
調べる(ステップ5224)。調べた結果、取消ボタン
38に対応していなければ、意味のない位置がクリック
されたことになるため、再びステップ5201に戻る。
また、取消ボタン38に対応していれば、見出し領域管
理テーブル168に、削除するべき情報が格納されてい
るかどうかを調べる(ステップ5225)。具体的に
は、見出し領域管理テーブル168の3行目、1列目の
1683A、あるいは、2列目1683Bに格納されて
いる数が0か否かを調べる。ここで、どちらとも0が格
納されていれば、「情報が格納されていません」等のメ
ッセージを表示して再びステップ5201に戻る。ま
た、どちらかが0以外であれば、見出し領域管理テーブ
ル168の3行目、1列目1683Aと、2列目168
3Bを0とし、4行目1682から8行目1688、及
び、9行目1689から13行目16813に格納され
ている全ての情報を情報を削除し(ステップ522
5)、再びステップ5201に戻る。
5220の結果、該物理座標が了解ボタン37に対応し
ていなければ、取消ボタン38に対応してるかどうかを
調べる(ステップ5224)。調べた結果、取消ボタン
38に対応していなければ、意味のない位置がクリック
されたことになるため、再びステップ5201に戻る。
また、取消ボタン38に対応していれば、見出し領域管
理テーブル168に、削除するべき情報が格納されてい
るかどうかを調べる(ステップ5225)。具体的に
は、見出し領域管理テーブル168の3行目、1列目の
1683A、あるいは、2列目1683Bに格納されて
いる数が0か否かを調べる。ここで、どちらとも0が格
納されていれば、「情報が格納されていません」等のメ
ッセージを表示して再びステップ5201に戻る。ま
た、どちらかが0以外であれば、見出し領域管理テーブ
ル168の3行目、1列目1683Aと、2列目168
3Bを0とし、4行目1682から8行目1688、及
び、9行目1689から13行目16813に格納され
ている全ての情報を情報を削除し(ステップ522
5)、再びステップ5201に戻る。
【0221】次に、ステップ364(数値項目対応付け
処理)について、図53を用いて説明する。
処理)について、図53を用いて説明する。
【0222】パラメータ入力制御部161は、ユーザか
らのマウスによる入力を受け付ける(ステップ530
1)と、それがドラッグであるかを調べる(ステップ5
302)。調べた結果、ドラッグであれば、構成要素管
理部162、及び処理遷移管理部163と連携をとるこ
とにより、該物理座標が検索データ34に対応している
かどうかを調べる(ステップ5303)。ステップ53
03の結果、該物理座標が検索データ34に対応してい
れば、0次表管理部164に制御を移す。制御を移され
た0次表管理部164は、パラメータ入力制御部161
から渡された該物理座標から、検索データ34における
列番号を算出する(ステップ5304)。ここで、検索
データ34に対応していなければ、再びステップ530
1に制御を戻す。0次表管理部164は、ステップ53
04に続いて、0次表管理テーブル165の、該列番号
に相当する行の2列目を照合することにより、該項目の
定義の有無を調べる(ステップ5305)。0次表管理
部164は、ステップ5305の結果、該項目が定義済
であれば、「既に定義済です」等のメッセージを表示
後、再びステップ5301に制御を戻す。また、該項目
が未定義であれば、ユーザによりドロップが行われる
(ステップ5306)のを待ち続ける。
らのマウスによる入力を受け付ける(ステップ530
1)と、それがドラッグであるかを調べる(ステップ5
302)。調べた結果、ドラッグであれば、構成要素管
理部162、及び処理遷移管理部163と連携をとるこ
とにより、該物理座標が検索データ34に対応している
かどうかを調べる(ステップ5303)。ステップ53
03の結果、該物理座標が検索データ34に対応してい
れば、0次表管理部164に制御を移す。制御を移され
た0次表管理部164は、パラメータ入力制御部161
から渡された該物理座標から、検索データ34における
列番号を算出する(ステップ5304)。ここで、検索
データ34に対応していなければ、再びステップ530
1に制御を戻す。0次表管理部164は、ステップ53
04に続いて、0次表管理テーブル165の、該列番号
に相当する行の2列目を照合することにより、該項目の
定義の有無を調べる(ステップ5305)。0次表管理
部164は、ステップ5305の結果、該項目が定義済
であれば、「既に定義済です」等のメッセージを表示
後、再びステップ5301に制御を戻す。また、該項目
が未定義であれば、ユーザによりドロップが行われる
(ステップ5306)のを待ち続ける。
【0223】パラメータ入力制御部161は、ステップ
5306でドロップを検出すると、構成要素管理部16
2、及び処理遷移管理部163と連携をとることによ
り、ドロップが行われた該物理座標が表形式35に対応
しているかどうかを調べる(ステップ5307)。ステ
ップ5307の結果、表形式35に対応していなけれ
ば、「正しい位置にドロップして下さい」等のメッセー
ジを表示して再びステップ5301に戻る。また、ステ
ップ5307の結果、表形式35に対応していれば、表
形式管理部166に制御を移す。制御を移された表形式
管理部166は、パラメータ入力制御部161から渡さ
れた該物理座標から、表形式35における列番号、行番
号を算出する(ステップ5308)。表形式管理部16
6は、次に、ステップ5308で算出した座標が、数値
領域356に含まれるかどうかを、見出し領域管理テー
ブル168の1行目1681、及び2行目1682を参
照することにより調べる(ステップ5309)。ステッ
プ5309の結果、該座標が数値領域356に含まれれ
ば、数値項目管理テーブル169の2行目1692から
21行目16921までを調べ、該座標の定義の有無を
調べる(ステップ5310)。表形式管理部166は、
ステップ5310の結果、該座標が定義済であれば、
「既にこの座標は定義済です」等のメッセージを表示し
て再びステップ5301に制御を戻す。また、ステップ
5310の結果、該座標が未定義であれば、数値項目管
理テーブル169に数値項目対応付け情報を格納する
(ステップ5311)。
5306でドロップを検出すると、構成要素管理部16
2、及び処理遷移管理部163と連携をとることによ
り、ドロップが行われた該物理座標が表形式35に対応
しているかどうかを調べる(ステップ5307)。ステ
ップ5307の結果、表形式35に対応していなけれ
ば、「正しい位置にドロップして下さい」等のメッセー
ジを表示して再びステップ5301に戻る。また、ステ
ップ5307の結果、表形式35に対応していれば、表
形式管理部166に制御を移す。制御を移された表形式
管理部166は、パラメータ入力制御部161から渡さ
れた該物理座標から、表形式35における列番号、行番
号を算出する(ステップ5308)。表形式管理部16
6は、次に、ステップ5308で算出した座標が、数値
領域356に含まれるかどうかを、見出し領域管理テー
ブル168の1行目1681、及び2行目1682を参
照することにより調べる(ステップ5309)。ステッ
プ5309の結果、該座標が数値領域356に含まれれ
ば、数値項目管理テーブル169の2行目1692から
21行目16921までを調べ、該座標の定義の有無を
調べる(ステップ5310)。表形式管理部166は、
ステップ5310の結果、該座標が定義済であれば、
「既にこの座標は定義済です」等のメッセージを表示し
て再びステップ5301に制御を戻す。また、ステップ
5310の結果、該座標が未定義であれば、数値項目管
理テーブル169に数値項目対応付け情報を格納する
(ステップ5311)。
【0224】ところで、先に説明したように、数値項目
対応付け(ステップ364)において、複数の座標へド
ロップする場合は、1列あるいは1行に対してのみ行う
規則としている。従って、表形式管理部166は、ステ
ップ5311において、新たに格納しようとしている情
報がこの規則を満たしているかどうかを確認した上で格
納する。そのため、表形式管理部166は、ステップ5
311におけるチェックの際に、ドロップ先座標の不整
合を検出すると、戻り値としてエラー有りを返す。表形
式管理部166は、次に、ステップ5311におけるエ
ラーの有無を調べる(ステップ5324)。ここで、エ
ラーが返されていなければ、0次表管理テーブル165
における、ステップ5304で算出した列番号に相当す
る行の2列目に、定義有りを格納(ステップ5312)
後、再びステップ5301に制御を戻す。また、ステッ
プ5324でエラーが返されていた場合、再びステップ
5301に制御を戻す。
対応付け(ステップ364)において、複数の座標へド
ロップする場合は、1列あるいは1行に対してのみ行う
規則としている。従って、表形式管理部166は、ステ
ップ5311において、新たに格納しようとしている情
報がこの規則を満たしているかどうかを確認した上で格
納する。そのため、表形式管理部166は、ステップ5
311におけるチェックの際に、ドロップ先座標の不整
合を検出すると、戻り値としてエラー有りを返す。表形
式管理部166は、次に、ステップ5311におけるエ
ラーの有無を調べる(ステップ5324)。ここで、エ
ラーが返されていなければ、0次表管理テーブル165
における、ステップ5304で算出した列番号に相当す
る行の2列目に、定義有りを格納(ステップ5312)
後、再びステップ5301に制御を戻す。また、ステッ
プ5324でエラーが返されていた場合、再びステップ
5301に制御を戻す。
【0225】パラメータ入力制御部161は、ステップ
5302の結果、ユーザの操作がドラッグでない場合、
該操作がクリックであるかどうかを調べる(ステップ5
313)。ステップ5313の結果、該操作がクリック
でない場合、再びステップ5301に戻るが、クリック
の場合、該クリックされた物理座標が了解ボタン37、
あるいは繰り返しボタン39に対応するかどうかを調べ
る(ステップ5314)。パラメータ入力制御部161
は、ステップ5314の結果、該物理座標が了解ボタン
37、あるいは繰り返しボタン39に対応していれば、
定義を終了するために、数値項目管理テーブル169
に、数値項目対応付け情報が格納されているかを調べる
(ステップ5315)。具体的には、数値項目管理テー
ブル169の1行目、2列目1691Bに格納されてい
る対応付け個数が0か否かを調べる。ここで、対応付け
個数が0であれば、「情報が格納されていません」等の
メッセージを表示して再びステップ5301に戻る。ま
た、ステップ5315で該個数が0でなければ、先に述
べたように、1691Aの行/列属性を調べた後、2行
目1692から21行目16921のソートを行う(ス
テップ5316)。その後、先に述べた、数値項目管理
テーブル169の2行目1692における1、2列目に
格納される列番号、行番号が、貼り付け初期位置353
の列番号、行番号と等しいかどうかを調べる(ステップ
5317)。具体的には、見出し領域管理テーブル16
8の2行目1682と、数値項目管理テーブル169の
1692を照合する。ステップ5317の結果、前記条
件が満たされていれば、パラメータ入力制御部161
が、パラメータテーブル15へのパラメータ格納処理を
行う(ステップ5318)。また、ステップ5317の
結果、前記条件が満たされていなければ、パラメータ入
力制御部161は、「指定が正しく行われていません。
全ての情報を削除します」等のメッセージを表示して
(ステップ5320)、数値項目管理テーブル169に
格納された全ての情報を削除する(ステップ532
1)。その後、再びステップ5301に戻る。
5302の結果、ユーザの操作がドラッグでない場合、
該操作がクリックであるかどうかを調べる(ステップ5
313)。ステップ5313の結果、該操作がクリック
でない場合、再びステップ5301に戻るが、クリック
の場合、該クリックされた物理座標が了解ボタン37、
あるいは繰り返しボタン39に対応するかどうかを調べ
る(ステップ5314)。パラメータ入力制御部161
は、ステップ5314の結果、該物理座標が了解ボタン
37、あるいは繰り返しボタン39に対応していれば、
定義を終了するために、数値項目管理テーブル169
に、数値項目対応付け情報が格納されているかを調べる
(ステップ5315)。具体的には、数値項目管理テー
ブル169の1行目、2列目1691Bに格納されてい
る対応付け個数が0か否かを調べる。ここで、対応付け
個数が0であれば、「情報が格納されていません」等の
メッセージを表示して再びステップ5301に戻る。ま
た、ステップ5315で該個数が0でなければ、先に述
べたように、1691Aの行/列属性を調べた後、2行
目1692から21行目16921のソートを行う(ス
テップ5316)。その後、先に述べた、数値項目管理
テーブル169の2行目1692における1、2列目に
格納される列番号、行番号が、貼り付け初期位置353
の列番号、行番号と等しいかどうかを調べる(ステップ
5317)。具体的には、見出し領域管理テーブル16
8の2行目1682と、数値項目管理テーブル169の
1692を照合する。ステップ5317の結果、前記条
件が満たされていれば、パラメータ入力制御部161
が、パラメータテーブル15へのパラメータ格納処理を
行う(ステップ5318)。また、ステップ5317の
結果、前記条件が満たされていなければ、パラメータ入
力制御部161は、「指定が正しく行われていません。
全ての情報を削除します」等のメッセージを表示して
(ステップ5320)、数値項目管理テーブル169に
格納された全ての情報を削除する(ステップ532
1)。その後、再びステップ5301に戻る。
【0226】ステップ5318では、パラメータ入力制
御部161が、先に述べた数値項目管理テーブル169
のチェックを行い、ユーザにより正しく対応付けが行わ
れたことを確認した上で、パラメータテーブル15への
パラメータ格納を実行する。パラメータ入力制御部16
1は、チェックの際に、対応付けの不整合を検出する
と、戻り値としてエラー有りを返す。パラメータ入力制
御部161は、次に、ステップ5318におけるエラー
の有無を調べる(ステップ5318)。ここで、エラー
が返されていることがわかると、「指定が正しく行われ
ていません。全ての情報を削除します」等のメッセージ
を表示して(ステップ5320)、数値項目管理テーブ
ル169に格納された全ての情報を削除する(ステップ
5321)。続くステップ5320を実行するが、エラ
ーが返されていなければ、そのまま数値項目対応付け処
理(ステップ364)を終了する。その後、再びステッ
プ5301に戻る。
御部161が、先に述べた数値項目管理テーブル169
のチェックを行い、ユーザにより正しく対応付けが行わ
れたことを確認した上で、パラメータテーブル15への
パラメータ格納を実行する。パラメータ入力制御部16
1は、チェックの際に、対応付けの不整合を検出する
と、戻り値としてエラー有りを返す。パラメータ入力制
御部161は、次に、ステップ5318におけるエラー
の有無を調べる(ステップ5318)。ここで、エラー
が返されていることがわかると、「指定が正しく行われ
ていません。全ての情報を削除します」等のメッセージ
を表示して(ステップ5320)、数値項目管理テーブ
ル169に格納された全ての情報を削除する(ステップ
5321)。続くステップ5320を実行するが、エラ
ーが返されていなければ、そのまま数値項目対応付け処
理(ステップ364)を終了する。その後、再びステッ
プ5301に戻る。
【0227】パラメータ入力制御部161は、ステップ
5314の結果、了解ボタン37、あるいは繰り返しボ
タン39に対応していなければ、取消ボタン38に対応
しているかどうかを調べる(ステップ5322)。調べ
た結果、取消ボタン38に対応していなければ、意味の
ない位置がクリックされたことになるため、再びステッ
プ5301に戻る。また、取消ボタン38に対応してい
れば、数値項目管理テーブル169に削除するべき情報
が格納されているかどうかを調べる(ステップ532
3)。具体的には、数値項目管理テーブル169の1行
目、2列目1691Bに格納されている対応付け個数が
0か否かを調べる(ステップ5320)。ここで、対応
付け個数が0であれば、「情報が格納されていません」
等のメッセージを表示して再びステップ5301に戻
る。また、ステップ5321で該個数が0でなければ、
数値項目管理テーブル169に格納されている全ての情
報を削除する(ステップ5321)。その後、再びステ
ップ5301に戻る。
5314の結果、了解ボタン37、あるいは繰り返しボ
タン39に対応していなければ、取消ボタン38に対応
しているかどうかを調べる(ステップ5322)。調べ
た結果、取消ボタン38に対応していなければ、意味の
ない位置がクリックされたことになるため、再びステッ
プ5301に戻る。また、取消ボタン38に対応してい
れば、数値項目管理テーブル169に削除するべき情報
が格納されているかどうかを調べる(ステップ532
3)。具体的には、数値項目管理テーブル169の1行
目、2列目1691Bに格納されている対応付け個数が
0か否かを調べる(ステップ5320)。ここで、対応
付け個数が0であれば、「情報が格納されていません」
等のメッセージを表示して再びステップ5301に戻
る。また、ステップ5321で該個数が0でなければ、
数値項目管理テーブル169に格納されている全ての情
報を削除する(ステップ5321)。その後、再びステ
ップ5301に戻る。
【0228】次に、ステップ5311の数値項目管理テ
ーブル格納処理について、図54を用いて説明する。
ーブル格納処理について、図54を用いて説明する。
【0229】表形式管理部166は、まず始めに、数値
項目管理テーブル169に格納されている数値項目対応
付け情報の個数を調べる(ステップ5401)。具体的
には、数値項目管理テーブル169の1行目、2列目1
691Bに格納された対応付け個数を調べる。ステップ
5401の結果、該数が0であれば、2行目1692に
該数値項目対応付け情報を格納(ステップ5402)
後、ステップ5311を終了する。また、ステップ54
01の結果、概数が1であれば、2行目1692に格納
された座標との比較を行う(ステップ5403)。ステ
ップ5403の結果、該列番号が等しい場合は、1行
目、1列目1691Aに列属性を設定し(ステップ54
04)、続いて、3行目1693に該数値項目対応付け
情報を格納する(ステップ5406)。また、ステップ
5403の結果、該行番号が等しい場合は、1行目1列
目1691Aに行属性を設定し(ステップ5405)、
続いて、3行目1693に該数値項目対応付け情報を格
納する。さらに、ステップ5403の結果、列も行も等
しくなかった場合は、ユーザによる指定が正しく行われ
ていないことになるため、「指定が正しく行われていま
せん」等のメッセージを表示してステップ5311を終
了すると同時に、戻り値にエラーを設定する(ステップ
5407)。
項目管理テーブル169に格納されている数値項目対応
付け情報の個数を調べる(ステップ5401)。具体的
には、数値項目管理テーブル169の1行目、2列目1
691Bに格納された対応付け個数を調べる。ステップ
5401の結果、該数が0であれば、2行目1692に
該数値項目対応付け情報を格納(ステップ5402)
後、ステップ5311を終了する。また、ステップ54
01の結果、概数が1であれば、2行目1692に格納
された座標との比較を行う(ステップ5403)。ステ
ップ5403の結果、該列番号が等しい場合は、1行
目、1列目1691Aに列属性を設定し(ステップ54
04)、続いて、3行目1693に該数値項目対応付け
情報を格納する(ステップ5406)。また、ステップ
5403の結果、該行番号が等しい場合は、1行目1列
目1691Aに行属性を設定し(ステップ5405)、
続いて、3行目1693に該数値項目対応付け情報を格
納する。さらに、ステップ5403の結果、列も行も等
しくなかった場合は、ユーザによる指定が正しく行われ
ていないことになるため、「指定が正しく行われていま
せん」等のメッセージを表示してステップ5311を終
了すると同時に、戻り値にエラーを設定する(ステップ
5407)。
【0230】ステップ5401の結果、1行目、2列目
1691Bに格納された数が2個以上であるいうこと
は、既に1行目、1列目1691Aには前記列/行属性
が設定されていることを表す。従って、新たに格納する
予定の座標は、該属性が列である場合には、格納済座標
の列番号と等しい必要があり、該属性が行である場合に
は、格納済座標の行番号と等しい必要がある。そのた
め、ステップ5408以降では、新たに格納する予定の
座標が、前記条件を満たしているかをチェックする。
1691Bに格納された数が2個以上であるいうこと
は、既に1行目、1列目1691Aには前記列/行属性
が設定されていることを表す。従って、新たに格納する
予定の座標は、該属性が列である場合には、格納済座標
の列番号と等しい必要があり、該属性が行である場合に
は、格納済座標の行番号と等しい必要がある。そのた
め、ステップ5408以降では、新たに格納する予定の
座標が、前記条件を満たしているかをチェックする。
【0231】表形式管理部166は、まず始めに、該属
性が列であるか、行であるかを調べる(ステップ540
8)。ステップ5408の結果、該属性が列であれば、
格納済座標の列番号と等しいかどうかを調べる(ステッ
プ5409)。具体的には、2行目、1列目1692A
との比較を行う。ここで、該列番号と等しければ、数値
項目対応付け情報を、数値項目管理テーブル169に格
納する。これら情報の格納先は、数値項目管理テーブル
169の2行目1692から21行目16921の内、
最新情報が格納されている次の行である。また、ステッ
プ5409の結果、該列番号と等しくなければ、ステッ
プ5407を行う。
性が列であるか、行であるかを調べる(ステップ540
8)。ステップ5408の結果、該属性が列であれば、
格納済座標の列番号と等しいかどうかを調べる(ステッ
プ5409)。具体的には、2行目、1列目1692A
との比較を行う。ここで、該列番号と等しければ、数値
項目対応付け情報を、数値項目管理テーブル169に格
納する。これら情報の格納先は、数値項目管理テーブル
169の2行目1692から21行目16921の内、
最新情報が格納されている次の行である。また、ステッ
プ5409の結果、該列番号と等しくなければ、ステッ
プ5407を行う。
【0232】表形式管理部166は、ステップ5408
の結果、該属性が行であれば、格納済座標の行番号と等
しいかどうかを調べる(ステップ5411)。具体的に
は、2行目、2列目(1692B)との比較を行う。ス
テップ5411の結果、該行番号と等しければ、数値項
目対応付け情報を、数値項目管理テーブル169に格納
する。その後、ステップ5410を行う。また、ステッ
プ5409の結果、該行番号と等しくなければ、ステッ
プ5407を行う。
の結果、該属性が行であれば、格納済座標の行番号と等
しいかどうかを調べる(ステップ5411)。具体的に
は、2行目、2列目(1692B)との比較を行う。ス
テップ5411の結果、該行番号と等しければ、数値項
目対応付け情報を、数値項目管理テーブル169に格納
する。その後、ステップ5410を行う。また、ステッ
プ5409の結果、該行番号と等しくなければ、ステッ
プ5407を行う。
【0233】次に、ステップ5316のパラメータテー
ブル格納処理について、図55を用いて説明する。
ブル格納処理について、図55を用いて説明する。
【0234】パラメータテーブル格納処理は、パラメー
タ入力制御部161が、分配化パラメータを割り出し
後、パラメータテーブル15に格納する処理である。こ
の処理において、ユーザにより正しく指定が行われてい
ないことが検出されると、戻り値としてエラーを返す。
タ入力制御部161が、分配化パラメータを割り出し
後、パラメータテーブル15に格納する処理である。こ
の処理において、ユーザにより正しく指定が行われてい
ないことが検出されると、戻り値としてエラーを返す。
【0235】分配化パラメータの割り出しは、先に述べ
たように、了解ボタン37をクリックする場合と、繰り
返しボタン39をクリックする場合とで処理が異なる。
そのため、ステップ5501では、パラメータ入力制御
部161が、該クリックが了解ボタン37であるか、繰
り返しボタン39であるかを調べる。ステップ5501
の結果、該クリックが了解ボタン37であればステップ
5502以降の処理を行う。先に述べたように、対応付
けの状態が、列属性であるか行属性であるかによって、
分配化パラメータの有無を判断できる。そのため、ステ
ップ5502では、対応付けの状態を調べる。具体的に
は、数値項目管理テーブル169の1行目、1列目16
91Aを調べる。ステップ5502の結果、対応付けの
状態が行属性であれば、分配化指定が無しと判断できる
ため、1行目、3列目1691Cに0(=p)を格納
し、同様に、1行目、4列目1691Dに0(=q)を
格納する(ステップ5510)。これに続いて、パラメ
ータテーブル15へのパラメータ格納処理を行う(ステ
ップ5509)。ステップ5509で格納する情報は、
分配化パラメータp、qと、パラメータテーブル15の
フィールド157、158に格納する数値項目に関する
情報である。具体的には、数値項目管理テーブル169
の1行目、3列目1691Cに格納された数をパラメー
タテーブル15のフィールド159に格納し、同様に、
1行目、4列目1691Dに格納された数をフィールド
160に格納する。また、1行目2列目1691Bに格
納された数を前記フィールド157に格納し、2行目1
692以降の3列目に格納された0次表13の項目名を
フィールド158に格納する。
たように、了解ボタン37をクリックする場合と、繰り
返しボタン39をクリックする場合とで処理が異なる。
そのため、ステップ5501では、パラメータ入力制御
部161が、該クリックが了解ボタン37であるか、繰
り返しボタン39であるかを調べる。ステップ5501
の結果、該クリックが了解ボタン37であればステップ
5502以降の処理を行う。先に述べたように、対応付
けの状態が、列属性であるか行属性であるかによって、
分配化パラメータの有無を判断できる。そのため、ステ
ップ5502では、対応付けの状態を調べる。具体的に
は、数値項目管理テーブル169の1行目、1列目16
91Aを調べる。ステップ5502の結果、対応付けの
状態が行属性であれば、分配化指定が無しと判断できる
ため、1行目、3列目1691Cに0(=p)を格納
し、同様に、1行目、4列目1691Dに0(=q)を
格納する(ステップ5510)。これに続いて、パラメ
ータテーブル15へのパラメータ格納処理を行う(ステ
ップ5509)。ステップ5509で格納する情報は、
分配化パラメータp、qと、パラメータテーブル15の
フィールド157、158に格納する数値項目に関する
情報である。具体的には、数値項目管理テーブル169
の1行目、3列目1691Cに格納された数をパラメー
タテーブル15のフィールド159に格納し、同様に、
1行目、4列目1691Dに格納された数をフィールド
160に格納する。また、1行目2列目1691Bに格
納された数を前記フィールド157に格納し、2行目1
692以降の3列目に格納された0次表13の項目名を
フィールド158に格納する。
【0236】先に述べたように、ステップ5502の結
果が列属性であると判断されると、さらに、ブロック化
の有無を判断しなければならない。そのため、ステップ
5503では、ブロック化の有無を調べる。具体的に
は、パラメータテーブル15のフィールド151を参照
する。ステップ5503の結果、ブロック化指定が有る
と判断されると、先に述べた考え方に従い、1行目、3
列目1691Cに1(=p)を格納し、同様に、1行
目、4列目1691Dに前記1行目、2列目1691B
に格納された対応付け項目数(=q)を格納する(ステ
ップ5508)。これに続いて、ステップ5509を行
う。
果が列属性であると判断されると、さらに、ブロック化
の有無を判断しなければならない。そのため、ステップ
5503では、ブロック化の有無を調べる。具体的に
は、パラメータテーブル15のフィールド151を参照
する。ステップ5503の結果、ブロック化指定が有る
と判断されると、先に述べた考え方に従い、1行目、3
列目1691Cに1(=p)を格納し、同様に、1行
目、4列目1691Dに前記1行目、2列目1691B
に格納された対応付け項目数(=q)を格納する(ステ
ップ5508)。これに続いて、ステップ5509を行
う。
【0237】先に述べたように、ステップ5503の結
果で、ブロック化指定が無しと判断されるのは、図42
で示したような前記パターン3の場合である。この場
合、数値項目管理テーブル169の2行目1692以降
の全ての行において、該行の4列目に格納される0次表
13の列番号の差が全て等しくなければならないという
条件がある。ステップ5504では、前記条件を満たし
ているかどうかのチェックを行う。ステップ5501の
結果、前記条件を満たしていなければ、パラメータテー
ブル格納処理(ステップ5318)の戻り値にエラーを
設定する。また、ステップ5501の結果、前記条件を
満たしていれば、先に述べた考え方に従い、1行目、3
列目1691Cに前記列番号の差(=p)を格納し、同
様に、1行目、4列目1691Dに1行目、2列目16
91Bに格納された対応付け項目数(=q)を格納する
(ステップ5505)。これに続いて、パラメータテー
ブル15へのパラメータ格納処理を行う(ステップ55
06)。ステップ5506で格納する情報は、分配化パ
ラメータp、qと、パラメータテーブル15のフィール
ド157、158に格納する前記数値項目に関する情報
である。具体的には、数値項目管理テーブル169の1
行目、3列目1691Cに格納された数をパラメータテ
ーブル15のフィールド159に格納し、同様に、前記
1行目、4列目1691Dに格納された数を前記フィー
ルド160に格納する。ところで、ステップ5506の
場合は、ステップ5509の場合と異なり、数値項目管
理テーブル169に格納された項目名をそのままパラメ
ータテーブル15に格納することはできない。というの
も、この場合、検索データ34の全ての数値項目に対し
てドラッグ&ドロップ操作をしているわけではないた
め、数値項目管理テーブル169に情報として格納され
ていないからである。従って、この場合は、0次表管理
テーブル165に格納された項目名を、パラメータテー
ブル15に格納する方法とする。以下で、具体的な格納
方法について説明する。
果で、ブロック化指定が無しと判断されるのは、図42
で示したような前記パターン3の場合である。この場
合、数値項目管理テーブル169の2行目1692以降
の全ての行において、該行の4列目に格納される0次表
13の列番号の差が全て等しくなければならないという
条件がある。ステップ5504では、前記条件を満たし
ているかどうかのチェックを行う。ステップ5501の
結果、前記条件を満たしていなければ、パラメータテー
ブル格納処理(ステップ5318)の戻り値にエラーを
設定する。また、ステップ5501の結果、前記条件を
満たしていれば、先に述べた考え方に従い、1行目、3
列目1691Cに前記列番号の差(=p)を格納し、同
様に、1行目、4列目1691Dに1行目、2列目16
91Bに格納された対応付け項目数(=q)を格納する
(ステップ5505)。これに続いて、パラメータテー
ブル15へのパラメータ格納処理を行う(ステップ55
06)。ステップ5506で格納する情報は、分配化パ
ラメータp、qと、パラメータテーブル15のフィール
ド157、158に格納する前記数値項目に関する情報
である。具体的には、数値項目管理テーブル169の1
行目、3列目1691Cに格納された数をパラメータテ
ーブル15のフィールド159に格納し、同様に、前記
1行目、4列目1691Dに格納された数を前記フィー
ルド160に格納する。ところで、ステップ5506の
場合は、ステップ5509の場合と異なり、数値項目管
理テーブル169に格納された項目名をそのままパラメ
ータテーブル15に格納することはできない。というの
も、この場合、検索データ34の全ての数値項目に対し
てドラッグ&ドロップ操作をしているわけではないた
め、数値項目管理テーブル169に情報として格納され
ていないからである。従って、この場合は、0次表管理
テーブル165に格納された項目名を、パラメータテー
ブル15に格納する方法とする。以下で、具体的な格納
方法について説明する。
【0238】先に分配化の考え方で説明したように、前
記パターン3における、分配対象項目(=数値項目)と
は、分配化キー項目に続く全ての項目である。そのた
め、分配化キー項目の次に位置する最初の分配対象項目
の列番号がわかれば、0次表管理テーブル165から該
当する数値項目名を判断することが可能である。ここ
で、最初の分配対象項目というのは、貼り付け初期位置
353に対応する項目と等しい。そのため、数値項目管
理テーブル169の2行目、4列目1692Dに格納さ
れた列番号を参照し、0次表管理テーブル165の前記
列番号以降の項目数、及び、項目名をパラメータテーブ
ル15のフィールド157、及び158に格納する。
記パターン3における、分配対象項目(=数値項目)と
は、分配化キー項目に続く全ての項目である。そのた
め、分配化キー項目の次に位置する最初の分配対象項目
の列番号がわかれば、0次表管理テーブル165から該
当する数値項目名を判断することが可能である。ここ
で、最初の分配対象項目というのは、貼り付け初期位置
353に対応する項目と等しい。そのため、数値項目管
理テーブル169の2行目、4列目1692Dに格納さ
れた列番号を参照し、0次表管理テーブル165の前記
列番号以降の項目数、及び、項目名をパラメータテーブ
ル15のフィールド157、及び158に格納する。
【0239】ステップ5501の結果、該クリックが繰
り返しボタン39であれば、ステップ5511以降の処
理を行うが、ここでの処理の内、先に説明した処理と異
なるのは、ステップ5512の結果により、戻り値にエ
ラーを設定すること(ステップ5516)だけである。
つまり、ステップ5511はステップ5502と、ステ
ップ5513はステップ5504と、ステップ5514
はステップ5505と、ステップ5515はステップ5
506とそれぞれ対応している。
り返しボタン39であれば、ステップ5511以降の処
理を行うが、ここでの処理の内、先に説明した処理と異
なるのは、ステップ5512の結果により、戻り値にエ
ラーを設定すること(ステップ5516)だけである。
つまり、ステップ5511はステップ5502と、ステ
ップ5513はステップ5504と、ステップ5514
はステップ5505と、ステップ5515はステップ5
506とそれぞれ対応している。
【0240】以上説明したように、本実施例によれば、
ユーザが、GUIのドラッグ&ドロップにより前記ブロ
ック化と分配化のパラメータの指定を容易に行うことが
できるため、作業効率の向上を図ることができる。
ユーザが、GUIのドラッグ&ドロップにより前記ブロ
ック化と分配化のパラメータの指定を容易に行うことが
できるため、作業効率の向上を図ることができる。
【0241】
【発明の効果】本発明によれば、表のデータ配置構造の
変換を、変換の仕様を定めるためのパラメータを指定す
るだけで、該パラメータを用いたブロック化と整列化と
の組合せ、更に分配化との組合わせにより実現でき、任
意のデータ配置構造の変換を行うことができる効果を奏
する。
変換を、変換の仕様を定めるためのパラメータを指定す
るだけで、該パラメータを用いたブロック化と整列化と
の組合せ、更に分配化との組合わせにより実現でき、任
意のデータ配置構造の変換を行うことができる効果を奏
する。
【0242】また、本発明によれば、パラメータの指定
を、ユーザがGUIのドラッグ&ドロップにより容易に
行うことができるため、作業効率の向上を図ることがで
きる効果も奏する。
を、ユーザがGUIのドラッグ&ドロップにより容易に
行うことができるため、作業効率の向上を図ることがで
きる効果も奏する。
【図1】本発明の一実施例におけるデータ処理システム
の全体構成図である。
の全体構成図である。
【図2】本発明の一実施例におけるクライアントのハー
ドウェア構成図である。
ドウェア構成図である。
【図3】本発明の一実施例における0次表、1次表、ユ
ーザ表の一例を示す図である。
ーザ表の一例を示す図である。
【図4】本発明の一実施例におけるブロック化の一例を
示す図である。
示す図である。
【図5】本発明の一実施例におけるブロック化の一例を
示す図である。
示す図である。
【図6】本発明の一実施例におけるブロック化の一例を
示す図である。
示す図である。
【図7】本発明の一実施例におけるユーザによるソート
基準指定機能を示す図である。
基準指定機能を示す図である。
【図8】本発明の一実施例におけるブロック化における
チェック機能を示す図である。
チェック機能を示す図である。
【図9】本発明の一実施例におけるブロック化で変換可
能な表形式を示す図である。
能な表形式を示す図である。
【図10】本発明の一実施例における分配化の一例を示
す図である。
す図である。
【図11】本発明の一実施例における分配化の一例を示
す図である。
す図である。
【図12】本発明の一実施例における分配化パラメータ
を示す図である。
を示す図である。
【図13】本発明の一実施例における分配化の並べ換え
を説明する図である。
を説明する図である。
【図14】本発明の一実施例における分配化パラメータ
の一例を示す図である。
の一例を示す図である。
【図15】本発明の一実施例におけるブロック化と分配
化の組み合わせの一例を示す図である。
化の組み合わせの一例を示す図である。
【図16】本発明の一実施例におけるブロック化と分配
化の組み合わせの一例を示す図である。
化の組み合わせの一例を示す図である。
【図17】本発明の一実施例におけるブロック化と分配
化の組み合わせの一例を示す図である。
化の組み合わせの一例を示す図である。
【図18】本発明の一実施例におけるデータ配置構造の
変換のパターン化を示す図である。
変換のパターン化を示す図である。
【図19】本発明の一実施例におけるパラメータテーブ
ルの一例を示す図である。
ルの一例を示す図である。
【図20】本発明の一実施例における対応付け処理動作
を示す図である。
を示す図である。
【図21】本発明の一実施例におけるブロック化処理動
作を示す図である。
作を示す図である。
【図22】本発明の一実施例におけるキー項目データテ
ーブルの一例を示す図である。
ーブルの一例を示す図である。
【図23】本発明の一実施例におけるmax_indの
一例とind_listの一例を示す図である。
一例とind_listの一例を示す図である。
【図24】本発明の一実施例におけるブロック化チェッ
ク処理動作の一例を示す図である。
ク処理動作の一例を示す図である。
【図25】本発明の一実施例におけるキー項目データテ
ーブル格納処理の一例を示す図である。
ーブル格納処理の一例を示す図である。
【図26】本発明の一実施例におけるブロック化サブチ
ェック処理動作の一例を示す図である。
ェック処理動作の一例を示す図である。
【図27】本発明の一実施例におけるブロック化サブチ
ェック処理を説明するための図である。
ェック処理を説明するための図である。
【図28】本発明の一実施例における0次表チェック処
理動作の一例を示す図である。
理動作の一例を示す図である。
【図29】本発明の一実施例におけるブロック化におけ
るブランクレコード挿入処理の一例を示す図である。
るブランクレコード挿入処理の一例を示す図である。
【図30】本発明の一実施例におけるブロック化並べ換
え処理の写像の一例を示す図である。
え処理の写像の一例を示す図である。
【図31】本発明の一実施例におけるブロック化並べ換
え処理動作の一例を示す図である。
え処理動作の一例を示す図である。
【図32】本発明の一実施例における分配化処理動作を
示す図である。
示す図である。
【図33】本発明の一実施例における分配化並べ換え処
理の写像の一例を示す図である。
理の写像の一例を示す図である。
【図34】本発明の一実施例における分配化並べ換え処
理動作の一例を示す図である。
理動作の一例を示す図である。
【図35】本発明の一実施例における対応付け定義画面
の一例を示す図である。
の一例を示す図である。
【図36】本発明の一実施例における見出し領域、数値
領域の指定の一例を示す図である。
領域の指定の一例を示す図である。
【図37】本発明の一実施例における見出し項目の対応
付けの一例を示す図である。
付けの一例を示す図である。
【図38】本発明の一実施例における見出し項目の対応
付けの一例を示す図である。
付けの一例を示す図である。
【図39】本発明の一実施例におけるソート基準の指定
の一例を示す図である。
の一例を示す図である。
【図40】本発明の一実施例における数値項目の対応付
けの一例を示す図である。
けの一例を示す図である。
【図41】本発明の一実施例における数値項目の対応付
けの一例を示す図である。
けの一例を示す図である。
【図42】本発明の一実施例における数値項目の対応付
けの一例を示す図である。
けの一例を示す図である。
【図43】本発明の一実施例における数値項目の対応付
けの一例を示す図である。
けの一例を示す図である。
【図44】本発明の一実施例における数値項目の対応付
けの一例を示す図である。
けの一例を示す図である。
【図45】本発明の一実施例における対応付けパラメー
タ入力処理部の構成を示す図である。
タ入力処理部の構成を示す図である。
【図46】本発明の一実施例における0次表管理テーブ
ルの構成を示す図である。
ルの構成を示す図である。
【図47】本発明の一実施例における表形式データ管理
テーブルの構成を示す図である。
テーブルの構成を示す図である。
【図48】本発明の一実施例における見出し領域管理テ
ーブルの構成を示す図である。
ーブルの構成を示す図である。
【図49】本発明の一実施例における数値項目管理テー
ブルの構成を示す図である。
ブルの構成を示す図である。
【図50】本発明の一実施例におけるパラメータ入力処
理の動作を示す図である。
理の動作を示す図である。
【図51】本発明の一実施例における表の初期位置、貼
り付け初期位置指定処理の動作を示す図である。
り付け初期位置指定処理の動作を示す図である。
【図52】本発明の一実施例における見出し項目対応付
け処理の動作を示す図である。
け処理の動作を示す図である。
【図53】本発明の一実施例における数値項目対応付け
処理の動作を示す図である。
処理の動作を示す図である。
【図54】本発明の一実施例における数値項目テーブル
格納処理の動作を示す図である。
格納処理の動作を示す図である。
【図55】本発明の一実施例におけるパラメータテーブ
ル格納処理の動作を示す図である。
ル格納処理の動作を示す図である。
1…サーバ、2…クライアント、3…DBエンジン、4
…ハードディスク、5…DB表、6…信号線、7…オペ
レーティングシステム、8…対応付け処理部、9…ソー
ト処理部、10…ブロック化処理(変換)部(整列化処
理(変換)部も含む)、11…分配化処理(変換)部、
12…データ転送処理部、13…0次表、14…1次
表、15…パラメータテーブル、16…対応付けパラメ
ータ入力処理部、17…キー項目データテーブル、18
…キー項目最大数テーブル、19…キー項目データテー
ブルインデックス、20…表計算手段、21…スプレッ
ドシート、22…ユーザ表、33…対応付け定義画面、
34…検索データ構成要素、35…表形式構成要素、3
6処理遷移構成要素、37…了解ボタン、38…取消ボ
タン、161…パラメータ入力制御部、162…構成要
素管理部、163…処理遷移管理部、164…0次表管
理部、165…0次表管理テーブル、166…表形式管
理部、167…表形式データ管理テーブル、168…見
出し領域管理テーブル、69数値項目管理テーブル、2
00…制御装置、201…CPU、202…主記憶、2
03…ハードディスク、204…キーボード制御部、2
05…キーボード、206…マウス制御部、207…マ
ウス、208…表示制御部、209…表示装置、210
…LAN制御部、211…記憶装置、212…入出力装
置
…ハードディスク、5…DB表、6…信号線、7…オペ
レーティングシステム、8…対応付け処理部、9…ソー
ト処理部、10…ブロック化処理(変換)部(整列化処
理(変換)部も含む)、11…分配化処理(変換)部、
12…データ転送処理部、13…0次表、14…1次
表、15…パラメータテーブル、16…対応付けパラメ
ータ入力処理部、17…キー項目データテーブル、18
…キー項目最大数テーブル、19…キー項目データテー
ブルインデックス、20…表計算手段、21…スプレッ
ドシート、22…ユーザ表、33…対応付け定義画面、
34…検索データ構成要素、35…表形式構成要素、3
6処理遷移構成要素、37…了解ボタン、38…取消ボ
タン、161…パラメータ入力制御部、162…構成要
素管理部、163…処理遷移管理部、164…0次表管
理部、165…0次表管理テーブル、166…表形式管
理部、167…表形式データ管理テーブル、168…見
出し領域管理テーブル、69数値項目管理テーブル、2
00…制御装置、201…CPU、202…主記憶、2
03…ハードディスク、204…キーボード制御部、2
05…キーボード、206…マウス制御部、207…マ
ウス、208…表示制御部、209…表示装置、210
…LAN制御部、211…記憶装置、212…入出力装
置
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 17/21 19/00 (72)発明者 中根 啓一 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 田中 勝 神奈川県川崎市幸区鹿島田890番地株式会 社日立製作所情報システム事業部内 (72)発明者 藤井 泰文 神奈川県川崎市幸区鹿島田890番地株式会 社日立製作所情報システム事業部内
Claims (20)
- 【請求項1】列を示す項目と行を識別する項目により定
義され、該列を示す項目のうち行を識別する項目(デー
タ)を含む2つ以上の項目(キー項目)と前記キー項目
により識別される項目(数値項目)とを有するデータ配
置構造の表を変換元の表としてあらかじめ与えられ、 前記キー項目のうちブロック化キー項目とする項目は、
該変換元の表の複数行に含まれるデータを該項目が一致
する前記数値項目のデータを1行にまとめるために作用
して変換先の表における縦の見出しとなる項目にブロッ
ク化データ配置構造変換を施し、更に前記キー項目のう
ち整列キー項目とする項目は、前記数値項目を該項目の
順序に従って整列させるために作用して前記変換先の表
における横の見出しとなる項目に整列データ配置構造変
換を施して前記変換先の表のデータ配置構造を得ること
を特徴とするデータ配置構造変換方法。 - 【請求項2】該変換先の表は、該データ配置構造変換に
先立ち、該変換元の表のうち前記ブロック化キー項目の
データが該変換先の表の縦の見出しとして与えられてお
り、更に該変換元の表のうち、前記整列キー項目のデー
タが該変換先の表の横の見出しとして与えられており、
該変換元の表のうち前記数値項目を表す文字列が前記縦
の見出しあるいは横の見出しとして与えられ、 該ブロック化キー項目の指定は、該変換元の表の該キー
項目と該変換先の表の縦の見出しとの対応関係を指定す
ることにより行い、更に該整列キー項目の指定は、該変
換元の表の該キー項目と該変換先の表の横の見出しとの
対応関係を指定することにより行うことを特徴とする請
求項1記載のデータ配置構造変換方法。 - 【請求項3】列を示す項目と行を識別する項目により定
義され、前記列を示す項目のうち行を識別する項目(デ
ータ)を含む1つ以上の項目(キー項目)と前記キー項
目により識別される2つ以上の項目(数値項目)とを有
する有するデータ配置構造の表を変換元の表としてあら
かじめ与えられ、 前記変換元の表の1行に含まれるデータを、分配の仕様
を定めるために外部から入力された分配化パラメータに
より定められた数の行に分け、複数行として分配化デー
タ配置構造変換を施して変換先の表を作成することを特
徴とするデータ配置構造変換方法。 - 【請求項4】該変換先の表は、該データ配置構造変換に
先立ち、該変換元の表のうち前記キー項目のデータが該
変換先の表の縦の見出しとして与えられており、更に前
記数値項目を表す文字列が前記変換先の表の縦の見出
し、あるいは横の見出しとして前記分配化の仕様に従っ
て縦方向に並べて与えられ、 前記分配化パラメータは、前記変換元の表の1行に含ま
れるデータのうち前記変換先の表における1行に配置す
るデータの連続する個数と該変換後の表における該変換
元の表の1行に含まれるデータの配置される列の数であ
るとし、 上記分配化パラメータは、上記変換元の表の該数値項目
と変換先の表の該当する座標との対応関係を指定するこ
とにより行うことを特徴とする請求項3記載のデータ配
置構造変換方法。 - 【請求項5】前記分配化パラメータのうち、前記変換元
の表の1行に含まれるデータのうち、前記変換先の表に
おける1行に配置するデータの連続する個数は、上記対
応関係を指定した2つ以上の数値項目の列番号の差であ
るとし、該変換後の表における該変換元の表の1行に含
まれるデータの配置される列の数は、上記変換先の表
で、あらかじめ与えられている縦方向に並べられている
数値項目の数であるとすることを特徴とする請求項4記
載のデータ配置構造変換方法。 - 【請求項6】前記変換元の表のデータを、前記2つ以上
のキー項目のデータを基にしてソートし、ソート済の変
換先の表を作成することを特徴とする請求項1記載のデ
ータ配置構造変換方法。 - 【請求項7】列を示す項目と行を識別する項目により定
義され、該列を示す項目のうち行を識別する項目(デー
タ)を含む2つ以上の項目(キー項目)と前記キー項目
により識別され、縦の見出しあるいは横の見出しで表わ
される項目(数値項目)とを有するデータ配置構造の表
を変換元の表としてあらかじめ与えられ、 前記キー項目のうちブロック化キー項目とする項目は、
該変換元の表の複数行に含まれるデータを該項目が一致
する前記数値項目のデータを1行にまとめるために作用
して変換先の表における縦の見出しとなる項目にブロッ
ク化データ配置構造変換し、更に整列キー項目を前記ブ
ロック化キー項目の優先順位を低くしてソートし、更に
前記キー項目のうち整列キー項目とする項目は、前記数
値項目を該項目の順序に従って整列させるために作用し
て前記変換先の表における横の見出しとなる項目に整列
データ配置構造変換して前記変換先の表のデータ配置構
造を得ることを特徴とするデータ配置構造変換方法。 - 【請求項8】前記キー項目のデータを基にソートする際
のソート基準を、昇順、降順の他、前記変換先の表の縦
の見出しあるいは横の見出しであらかじめ与えられてい
る任意のデータの順序とすることを特徴とする請求項7
記載のデータ配置構造変換方法。 - 【請求項9】前記変換元の表のデータを、前記1つ以上
のキー項目のデータを基にしてソートし、 前記分配化データ配置構造変換は、前記ソート済の表を
前記変換元の表として分配化を行うことを特徴とする請
求項3記載のデータ配置構造変換方法。 - 【請求項10】前記キー項目のデータを基にソートする
際のソート基準を、昇順、降順の他、前記変換先の表の
縦の見出しあるいは横の見出しであらかじめ与えられて
いる任意のデータの順序とすることを特徴とする請求項
4記載のデータ配置構造変換方法。 - 【請求項11】前記あらかじめ与えられた表及び前記ブ
ロック化後の表のいずれかを、変換元の表として、該変
換元の前記表の1行に含まれるデータを、分配の仕様を
定めるために外部から入力された分配化パラメータによ
り定められた数の行に分け、複数行として分配化後の表
を作成する分配化データ配置構造変換を更に有すること
を特徴とする請求項1記載のデータ配置構造変換方法。 - 【請求項12】該変換先の表は、前記キー項目に対応す
る縦見出しあるいは横見出しが与えられており、該変換
元の表は、前記数値項目を表す文字列が前記縦の見出し
あるいは横の見出し中に縦並びまたは横並びで与えら
れ、 前記ブロック化指定の有無は、該変換元の表の該キー項
目が該変換先の表の横の見出しに対応づけられたかによ
り判断し、前記分配化指定の有無は該変換元の表の該数
値項目が該変換先の表に縦並びで対応づけられたかによ
り判断することを特徴とする請求項1記載のデータ配置
構造変換方法。 - 【請求項13】行を示す項目と列を示す項目とにより定
義されるデータ配置構造を有する変換元の表として記憶
する記憶手段と、ブロック化キー項目と整列キー項目と
を入力する入力手段と、前記記憶手段に記憶された変換
元の表のデータ配置構造を読出して変換元の表の複数行
に含まれるデータを、前記入力装置で入力されたブロッ
ク化キー項目が一致するデータを1行にまとめてブロッ
ク化データ配置構造に変換し、前記入力手段で入力され
た整列キー項目の順序に従って整列させる整列化データ
配置構造に変換して行を示す項目と列を示す項目とによ
り定義されるデータ配置構造を有する変換先の表を作成
する表作成手段とを備えたことを特徴とするデータ配置
構造変換システム。 - 【請求項14】前記表作成手段において、前記キー項目
のデータを基にソートすることを特徴とする請求項13
記載のデータ配置構造変換システム。 - 【請求項15】行を示す項目と列を示す項目とにより定
義されるデータ配置構造を有する変換元の表として記憶
する記憶手段と、ブロック化キー項目と整列キー項目と
分配化パラメータとを入力する入力手段と、前記記憶手
段に記憶された変換元の表のデータ配置構造を読出して
変換元の表の複数行に含まれるデータを、前記入力装置
で入力されたブロック化キー項目が一致するデータを1
行にまとめてブロック化データ配置構造に変換し、前記
入力手段で入力された整列キー項目の順序に従って整列
させる整列化データ配置構造に変換し、前記入力手段か
ら入力された分配化パラメータにより定められた数の行
に分配化して分配化データ配置構造に変換して行を示す
項目と列を示す項目とにより定義されるデータ配置構造
を有する変換先の表を作成する表作成手段とを備えたこ
とを特徴とするデータ配置構造変換システム。 - 【請求項16】前記表作成手段において、前記キー項目
のデータを基にソートすることを特徴とする請求項15
記載のデータ配置構造変換システム。 - 【請求項17】行を示す項目と列を示す項目とにより定
義されるデータ配置構造を有する変換元の表として記憶
する記憶手段を備えたサーバを設け、ブロック化キー項
目と整列キー項目とを入力する入力手段と、前記サーバ
の記憶手段に記憶された変換元の表のデータ配置構造を
読出して変換元の表の複数行に含まれるデータを、前記
入力装置で入力されたブロック化キー項目が一致するデ
ータを1行にまとめてブロック化データ配置構造に変換
し、前記入力手段で入力された整列キー項目の順序に従
って整列させる整列化データ配置構造に変換して行を示
す項目と列を示す項目とにより定義されるデータ配置構
造を有する変換先の表を作成する表作成手段とを備えた
クライアントを設けたことを特徴とするクライアントサ
ーバシステム。 - 【請求項18】前記表作成手段において、前記キー項目
のデータを基にソートすることを特徴とする請求項17
記載のクライアントサーバシステム。 - 【請求項19】行を示す項目と列を示す項目とにより定
義されるデータ配置構造を有する変換元の表として記憶
する記憶手段を備えたサーバを設け、ブロック化キー項
目と整列キー項目と分配化パラメータとを入力する入力
手段と、前記サーバの記憶手段に記憶された変換元の表
のデータ配置構造を読出して変換元の表の複数行に含ま
れるデータを、前記入力装置で入力されたブロック化キ
ー項目が一致するデータを1行にまとめてブロック化デ
ータ配置構造に変換し、前記入力手段で入力された整列
キー項目の順序に従って整列させる整列化データ配置構
造に変換し、前記入力手段から入力された分配化パラメ
ータにより定められた数の行に分配化して分配化データ
配置構造に変換して行を示す項目と列を示す項目とによ
り定義されるデータ配置構造を有する変換先の表を作成
する表作成手段とを備えたクライアントを設けたことを
特徴とするクライアントサーバシステム。 - 【請求項20】前記表作成手段において、前記キー項目
のデータを基にソートすることを特徴とする請求項19
記載のクライアントサーバシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6082860A JPH07295776A (ja) | 1994-04-21 | 1994-04-21 | データ配置構造変換方法およびそのシステム並びにクライアントサーバシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6082860A JPH07295776A (ja) | 1994-04-21 | 1994-04-21 | データ配置構造変換方法およびそのシステム並びにクライアントサーバシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07295776A true JPH07295776A (ja) | 1995-11-10 |
Family
ID=13786103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6082860A Pending JPH07295776A (ja) | 1994-04-21 | 1994-04-21 | データ配置構造変換方法およびそのシステム並びにクライアントサーバシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07295776A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002175421A (ja) * | 2000-09-29 | 2002-06-21 | Daiwa Securities Smbc Co Ltd | 金融商品発注装置、金融商品発注方法、金融商品発注用プログラム及び情報記録媒体 |
JP2005242587A (ja) * | 2004-02-25 | 2005-09-08 | Fuji Xerox Co Ltd | クロス表作成のためのプログラム及び方法及び装置 |
JP2007149014A (ja) * | 2005-11-30 | 2007-06-14 | Just Syst Corp | データ処理装置およびデータ処理方法 |
JP2007188187A (ja) * | 2006-01-11 | 2007-07-26 | Hitachi Ltd | 帳票作成支援装置、帳票作成支援方法、および帳票作成支援プログラム |
JP2010204951A (ja) * | 2009-03-03 | 2010-09-16 | Mizuho Information & Research Institute Inc | 帳票作成処理システム、帳票作成処理方法及び帳票作成処理プログラム |
US7886224B2 (en) | 2006-09-29 | 2011-02-08 | Kabushiki Kaisha Toshiba | System and method for transforming tabular form date into structured document |
JP5189497B2 (ja) * | 2006-11-29 | 2013-04-24 | 1stホールディングス株式会社 | 帳票作成システム及びこれを用いたネットワークシステム、並びに帳票作成方法。 |
JP2016024783A (ja) * | 2014-07-24 | 2016-02-08 | 富士通株式会社 | 表生成方法、表生成プログラム及び表生成装置 |
JP2016173724A (ja) * | 2015-03-17 | 2016-09-29 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、情報処理方法 |
-
1994
- 1994-04-21 JP JP6082860A patent/JPH07295776A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002175421A (ja) * | 2000-09-29 | 2002-06-21 | Daiwa Securities Smbc Co Ltd | 金融商品発注装置、金融商品発注方法、金融商品発注用プログラム及び情報記録媒体 |
JP2005242587A (ja) * | 2004-02-25 | 2005-09-08 | Fuji Xerox Co Ltd | クロス表作成のためのプログラム及び方法及び装置 |
JP4501459B2 (ja) * | 2004-02-25 | 2010-07-14 | 富士ゼロックス株式会社 | クロス表作成のためのプログラム及び方法及び装置 |
JP2007149014A (ja) * | 2005-11-30 | 2007-06-14 | Just Syst Corp | データ処理装置およびデータ処理方法 |
JP2007188187A (ja) * | 2006-01-11 | 2007-07-26 | Hitachi Ltd | 帳票作成支援装置、帳票作成支援方法、および帳票作成支援プログラム |
JP4663526B2 (ja) * | 2006-01-11 | 2011-04-06 | 株式会社日立製作所 | 帳票作成支援装置、帳票作成支援方法、および帳票作成支援プログラム |
US7886224B2 (en) | 2006-09-29 | 2011-02-08 | Kabushiki Kaisha Toshiba | System and method for transforming tabular form date into structured document |
JP5189497B2 (ja) * | 2006-11-29 | 2013-04-24 | 1stホールディングス株式会社 | 帳票作成システム及びこれを用いたネットワークシステム、並びに帳票作成方法。 |
JP2010204951A (ja) * | 2009-03-03 | 2010-09-16 | Mizuho Information & Research Institute Inc | 帳票作成処理システム、帳票作成処理方法及び帳票作成処理プログラム |
JP2016024783A (ja) * | 2014-07-24 | 2016-02-08 | 富士通株式会社 | 表生成方法、表生成プログラム及び表生成装置 |
JP2016173724A (ja) * | 2015-03-17 | 2016-09-29 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7571185B2 (en) | Tree system diagram output method, computer program and recording medium | |
US7085803B1 (en) | Platform-independent programmable batch processing engine | |
JP2711204B2 (ja) | リレーショナルデータベースのユーザインターフェースを生成する方法 | |
US6240395B1 (en) | Device and method for project management | |
US5630122A (en) | Computerized report-based interactive database query interface | |
US5692175A (en) | Decision modeling and analysis for object oriented data access and analysis system | |
US5414809A (en) | Graphical display of data | |
US6678693B1 (en) | Database design system, database design method and record medium | |
US20100017698A1 (en) | Flexible Multiple Spreadsheet Data Consolidation System | |
WO1999022310A1 (en) | Software system and method for extending classifications and attributes in production analysis | |
US20080059437A1 (en) | Data mining system | |
US7139768B1 (en) | OLE DB data access system with schema modification features | |
JPH07295776A (ja) | データ配置構造変換方法およびそのシステム並びにクライアントサーバシステム | |
US20100185967A1 (en) | Information Processing Device, and File Managing Method | |
US5765005A (en) | Method for preparing form | |
EP1555609A1 (en) | Data processing method and data processing program | |
JPH07210432A (ja) | データ配置構造変換方法およびデータ配置構造変換システム | |
JPH07296084A (ja) | データ処理システムおよびその方法 | |
JPH10171655A (ja) | データ処理システム | |
JP4386402B2 (ja) | ツリー系統図出力方法及びツリー系統図出力プログラム | |
JPH06325043A (ja) | ガント・チャート表示編集処理装置 | |
JPH0421229B2 (ja) | ||
JPH087685B2 (ja) | ル−ル動作モニタシステム | |
Protsko et al. | Mondrian: system for automatic generation of dataflow diagrams | |
JPH0797315B2 (ja) | 作図処理装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040217 |