(57)【特許請求の範囲】
【請求項１】
レベルの異なる複数のキー項目を有するレコードを複数記憶するレコード記憶手段と、
上記複数のキー項目の内で、グラフ化区切りの範囲を示すキー項目を範囲指定項目として定義記憶すると共に、グラフの出力タイミングを示すキー項目をタイミング項目として定義記憶する定義記憶手段と、
上記レコード記憶手段に記憶された各レコードを順次読出して、その各レコードの内容を１レコードを１行とした表形式で出力するレコード出力手段と、
上記各レコードの読み出し毎に、その読み出されたレコード内のデータをグラフ要素データとして記憶する要素データ記憶手段と、
上記各レコードの読み出し毎に、その読み出されたレコードの範囲指定項目の内容が次レコードの範囲指定項目の内容と異なるか否かを判別し、異なると判別された際は、上記要素データ記憶手段に記憶された各グラフ要素データの内で、上記範囲指定項目の内容が一致する範囲の複数のグラフ要素データを、１つのグラフ単位として括るグラフ括り手段と、
上記各レコードの読み出し毎に、その読み出されたレコードのタイミング項目の内容が次レコードのタイミング項目の内容と異なるか否かを判別し、異なると判別された際は、上記グラフ括り手段で括られたグラフ単位毎に、そのグラフ単位内に含まれるグラフ要素データに基づいてグラフを作成し、その作成された各グラフ単位毎のグラフを、上記タイミング項目の内容が変化したレコードが表形式で出力される位置に対応付けて出力するグラフ出力手段と、
を具備したことを特徴とするグラフ生成出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表に対応するグラフを生成して出力するグラフ生成出力装置に関する。
【０００２】
【従来の技術】
近年、例えば、事務処理を主とするオフィスコンピュータや汎用コンピュータ等において、表計算やデータベース等の各種アプリケーションプログラムが利用されており、集計した表データを各種表形式で出力する機能が知られている。
【０００３】
また、指定されたデータやグラフ形式の設定内容に基づいて、グラフを生成して出力する機能が知られている。
そして、上記２つの機能によって、表に対応するグラフを生成して出力することが、従来より行われていた。これは、例えば、生成され表示された表に基づいて、オペレータ等が、逐一、グラフ化すべきデータ項目を指定してグラフの種類を決定し（どの様なデータ要素で１つのグラフを構成するかを決定し）、更にグラフの出力位置を座標指定する等するものであった。
【０００４】
【発明が解決しようとする課題】
上記従来のグラフ生成出力装置では、表に対応するグラフを生成して出力する際、オペレータ等が、逐一、グラフ化対象の項目を指定して、グラフの種類やグラフの表示位置を設定する必要があった。
【０００５】
この為、特にグラフ化すべきデータが多い場合には、グラフ化作業が非常に手間の掛かるものとなっていた。
本発明の課題は、簡単な設定を行うことで、表に対応する様々な種類のグラフを順次生成し、更に生成したグラフの出力形態を自在に設定できるグラフ生成出力装置を提供することである。
【０００６】
【課題を解決するための手段】
この発明は、レベルの異なる複数のキー項目を有するレコードを複数記憶するレコード記憶手段と、上記複数のキー項目の内で、グラフ化区切りの範囲を示すキー項目を範囲指定項目として定義記憶すると共に、グラフの出力タイミングを示すキー項目をタイミング項目として定義記憶する定義記憶手段と、上記レコード記憶手段に記憶された各レコードを順次読出して、その各レコードの内容を１レコードを１行とした表形式で出力するレコード出力手段と、上記各レコードの読み出し毎に、その読み出されたレコード内のデータをグラフ要素データとして記憶する要素データ記憶手段と、上記各レコードの読み出し毎に、その読み出されたレコードの範囲指定項目の内容が次レコードの範囲指定項目の内容と異なるか否かを判別し、異なると判別された際は、上記要素データ記憶手段に記憶された各グラフ要素データの内で、上記範囲指定項目の内容が一致する範囲の複数のグラフ要素データを、１つのグラフ単位として括るグラフ括り手段と、上記各レコードの読み出し毎に、その読み出されたレコードのタイミング項目の内容が次レコードのタイミング項目の内容と異なるか否かを判別し、異なると判別された際は、上記グラフ括り手段で括られたグラフ単位毎に、そのグラフ単位内に含まれるグラフ要素データに基づいてグラフを作成し、その作成された各グラフ単位毎のグラフを、上記タイミング項目の内容が変化したレコードが表形式で出力される位置に対応付けて出力するグラフ出力手段と、を具備したことを特徴とする。
【００１４】
【発明の実施の形態】
以下、図面を参照して、本発明の一実施形態について説明する。
尚、以下の実施例の説明では、表の一例である帳票を作成して出力する帳票作成装置を例にして説明するが、本発明はこれに限るものではなく、表作成の為の定義に従って表の作成・出力を行うものに適用される。
【００１５】
図１は、本実施例の帳票作成装置が適用されるコンピュータシステムの一例を示す構成ブロック図である。
同図において、ＣＰＵ１は、コンピュータシステム全体を制御する中央処理装置である。
【００１６】
入力部２は、例えばキーボード等である。
ＲＡＭ３は、オペレータ等によって入力設定されるグラフ化の為の設定内容が記憶されるグラフ化テーブル４、グラフ作成に用いられるデータ等を記憶するグラフデータメモリ５等の記憶領域を有するメモリである。
【００１７】
グラフ化テーブル４は、詳しくは後述するが、オペレータ等によって入力された設定内容である“対象データ”、“データ範囲”、“出力タイミング“と、グラフの出力領域のデータとから構成されるテーブルである。
【００１８】
グラフデータメモリ５は、上記ＲＡＭ３内の記憶領域であり、上記グラフ化テーブル４に記憶された設定内容に応じてグラフを作成する処理過程で得られるグラフ作成に用いられるデータ（後述するグラフ要素データ）等を一時的に記憶する。
【００１９】
表示部６は、例えばディスプレイであり、後述するグラフの設定画面、出力形態定義票等を表示する。また、作成した帳票、グラフ等を表示する。
印字部７は、作成した帳票、グラフ等を印字出力するプリンタである。
【００２０】
外部記憶装置８は、例えばＨＤＤ（ハードディスクドライブ）であり、帳票及びグラフを作成する元となるレコード群より構成されるレコードファイル、上記出力形態定義票等が記憶されている。出力形態定義票は、帳票の基本フォームを定義するものであり、上記レコードファイルに基づいて帳票を生成・出力する際に用いられるものである。また、外部記憶装置８には、例えば表計算（帳票計算）やデータベース等の各種アプリケーションプログラムが記憶されている。
【００２１】
媒体駆動装置９は、後述する可搬記憶媒体１１に記憶されているプログラム、データ等の読み出し、あるいは書込み等をＣＰＵ１の制御によって実行するものであり、例えばＦＤＤ、ＣＤ−ＲＯＭドライブ等である。
【００２２】
可搬記憶媒体１１は、少なくとも本実施例によるグラフ出力機能を有するアプリケーションプログラムが、媒体駆動装置９で読み出し可能であり且つＣＰＵ１により実行可能な形式で記憶されている。また、可搬記憶媒体１１は、コンピュータシステムとは独立しており、持ち運び可能な記憶媒体である。可搬記憶媒体１１は、例えば、ＦＤ（フロッピーディスク）、ＭＯ（光磁気ディスク）、ＣＤ−ＲＯＭ、メモリカード等に、磁気的、あるいは光学的、又は電気的に、上記本実施例によるグラフ生成出力装置のアプリケーションプログラムのプログラムコードが、コンピュータで読み出し可能な形式で記憶されているものである。
【００２３】
また、上記本発明によるグラフ生成・出力機能を有するアプリケーションプログラムは、外部記憶装置８に記憶されているものであっても良い。
あるいは、ネットワーク接続装置１０等による通信機能によって、例えばパソコン通信、ワープロ通信等で外部から本実施例のアプリケーションプログラムのプログラムコードを読み込んで、これを利用するものであっても良い。この場合、上記外部記憶装置８、可搬記憶媒体１１等の記憶手段に上記アプリケーションプログラムを記憶して利用するものであっても良いし、例えば、上記ネットワーク接続装置１０を介して、その接続先のコンピュータ等から、それに記憶されている上記アプリケーションプログラムのプログラムコードを、必要に応じてオンラインで受信しながら利用するものであっても良い。
【００２４】
図２は、グラフ出力形態の設定方法を説明する図である。
図２（ａ）は出力形態定義票２０、図２（ｂ）は設定ウィンドウ３０、図２（ｃ）はグラフ化テーブル４０を示す。
【００２５】
図２（ａ）に示す出力形態定義票２０は、従来より帳票の出力定義に用いられていたものと略同様であるが、従来と異なる点は、グラフ出力位置を定義する「グラフ領域」があることである。また、出力形態定義票２０は、後述するグラフ化定義における“データ領域（対象データ）”の定義において、出力形態定義票２０内のセルを指定することで、グラフ化対象データを直接的に指定することに利用されるものである。
【００２６】
出力形態定義票２０において、座標２１は、各セルの座標位置を定義するためのものであり、同図では列方向にＡ〜Ｊ、行方向に１、２、３の座標があり、例えば同図においてセル内に黒丸が示してあるセル２４の座標は“Ｄ１”である。
【００２７】
尚、上記黒丸は、詳しくは後述するが、上記グラフ化対象データに対応するセルを指定したことをイメージ的に示すものである。
出力形態定義票２０において、属性は、列方向の属性２２としてレコードデータをグループ化するためのキーレベルＧ１、Ｇ２、３（明細）が設定されている。また、行方向の属性２３としてもキーレベルＧ１、Ｇ２、３（明細）が設定されているが、これは、その帳票内における各定義内容の表示開始位置（イメージ枠の開始位置）を行方向のセル単位で示すものである。
【００２８】
上記列方向の属性２２としてのキーレベルＧ１、Ｇ２、３（明細）は、例えば後述する図３のレコードファイルのように、レコードデータがグループ化（階層化）されている（すなわち例えばＧ２がキー３（明細）の合計（小計）、更にＧ１がＧ２の合計（総計）となるように階層化（段階的に集計）されている）レコードに対応するものである。
【００２９】
図２（ｂ）に示す設定ウィンドウ３０は、オペレータ等によりグラフ化定義の設定内容を入力するために表示部６に表示される入力画面であり、データ領域３１、データ範囲３２、及び出力タイミング３３を設定する。
【００３０】
また、表示部６には、図２（ａ）の出力形態定義票２０が表示され、オペレータ等は、出力形態定義票２０を参照して、設定ウィンドウ３０上でグラフ化設定入力作業を行う。
【００３１】
設定ウィンドウ３０において、データ領域３１は、グラフ化の対象となるデータが入るセル（出力形態定義票２０のセル）の座標を入力することで、グラフ化の対象データ（グラフ要素データ）を指定する。オペレータ等は、表示された出力形態定義票２０を参照することで、所望のデータの帳票上の出力位置を知ることができるので、例えば図２（ａ）の出力形態定義票２０上に黒丸で示したセル２４のデータを用いたい場合は、データ領域３１として“Ｄ１”を入力する。
【００３２】
データ範囲３２は、１つのグラフとしてまとめる単位（グラフ単位）を指定するものであり、まず“グループ”、“明細”のいずれかを選択入力し、更にグループを選択した場合はそのレベル（Ｇ１、またはＧ２）を入力する。例えば“グループ”の“Ｇ１”を入力した場合は、例えば図２（ａ）に示す属性Ｇ１の範囲を１グラフ単位として指定したことになり、このグラフ単位毎にグラフを作成する。
【００３３】
“出力タイミング”３３は、作成したグラフの出力形態（表示位置等）を間接的に指定するものであり、上記“データ範囲”３２と同様に、まずグループ、明細のいずれかを選択入力し、更にグループを選択した場合はそのレベル（Ｇ１、またはＧ２）を入力する。
【００３４】
尚、“タイミング”という用語を用いているのは、本発明によるグラフ生成出力装置の一実施例においてはレコードファイルのレコードを順次リードして、リードしたレコードを出力形態定義票２０に基づいて帳票として順次出力する処理過程において、あるレコード（指定された属性のレコード）をリードした時点（タイミング）で、作成したグラフをグラフ領域２５に出力するようにしているからである。例えば、“出力タイミング”３３として“Ｇ１”を設定した場合は、属性がＧ１のレコードをリードした時点がグラフの出力タイミングとなる。
【００３５】
図２（ｃ）に示すグラフ化テーブル４０は、上記設定ウィンドウ３０上での設定内容を一時的に記憶するテーブルであり、例えば図１のＲＡＭ３内にグラフ化テーブル４である。
【００３６】
グラフ化テーブル４０には、図２（ｃ）に示すように、例えば上記設定ウィンドウ３０の設定内容に応じて、データ領域４１、データ範囲４２、及び出力タイミング４３の設定データとして、それぞれ“Ｄ１”、“Ｇ２”、“Ｇ２”が記憶される。また、出力領域４４にはグラフの出力領域の座標を示すデータとして、例えば図２のグラフ領域２５に対応する座標範囲「セル範囲＝Ｇ１：Ｉ３」が記憶される。尚、特に図示しないが、出力領域４４の設定として、セル範囲とともにそのオフセットデータが記憶してあり、このオフセットによって図２のグラフ領域２５は上記「セル範囲＝Ｇ１：Ｉ３」より一回り小さくなっている。
【００３７】
尚、上記及び以後の本実施形態の説明の図面において、黒丸又は丸（白丸）で示すのは、説明を分かりやすくするためであり、実際に黒丸又は丸が表示されるものではない。あるいは、オペレータ等が指定データを確認できるように何らかの記号を表示するようにしてもよいが、この場合は帳票として出力されるデータの表示を妨げないようにする。
【００３８】
図３は、レコードファイル５０の一例を示す図である。
同図に示すレコードファイル５０は、明細レコードとこの明細レコードを段階的に集計（小計、合計）した集計レコードとをまとめて１つのファイルにしたものであり、例えばレコード１、２、４、５は明細レコード、レコード３、６は中間集計結果を示す集計レコード、レコード７はこれらの合計を示す集計レコードである。
【００３９】
レコードファイル５０において、キー５１は、図２（ａ）においても説明したように、レコードデータをグループ化（階層化）するキーであり、同図に示す例ではキー１（Ｇ１）、キー２（Ｇ２）、キー３（明細）の３つのキーから成る。図２（ａ）において説明したレコードの属性は、リードしたレコードの最下位キーによって判定する。すなわち、例えばレコード１、レコード２にはキー３（明細）の項目に「インク」、「ＯＥＭ」があるので、最下位キーはキー３（属性は明細）であると判定される。同様に、レコード３は、キー３には項目が存在せず、キー２に「北米」があるので、最下位キーはキー２（属性はＧ２）であると判定される。
【００４０】
項目データ５２は、各レコードに共通する項目毎のデータであり、同図には例えば項目１、項目２、項目３がある。以下の説明においては、例えば項目１として４月の売上金額、項目２として５月の売上金額、項目３として６月の売上金額があるものとして説明する。尚、項目データ５２の項目数は３つに限るものではなく、例えば１月〜１２月までの一年間の各月毎の売上金額データが入ったレコードファイルであってもよい。
【００４１】
図４、図５、及び図６は、本発明のグラフ生成出力装置によるグラフの生成・出力処理を説明するフローチャート（その１、その２、及びその３）である。
尚、以下の説明においては、オープンするレコードファイルとして、図３に示すレコードファイル５０を一例にして説明するものとする。
【００４２】
図４において、処理が開始されると、ＣＰＵ１は、まず、グラフ化テーブル４をリードして（ステップＳ１）、該グラフ化テーブル４内にオペレータ等によってグラフ化の定義設定が行われているか否かを判定する（ステップＳ２）。
【００４３】
グラフ化の定義が行われていない場合には（ステップＳ２、ＮＯ）、表の出力のみを行う。すなわち、従来より行われていたように、レコードファイルの先頭レコードから順次レコードをリードして、このリードした各レコードを出力形態定義票に従って表形式のフォームで順次出力する（フォーム出力する）処理を繰り返し行い、全レコードのフォーム出力が終了した時点で処理を終了する（ステップＳ３）。
【００４４】
グラフ化の定義が行われている場合には（ステップＳ２、ＹＥＳ）、定義内容の中から、まず、“データ範囲”の定義がグループ指定であるか否かを判定する（ステップＳ４）。
【００４５】
グループ指定である場合には（ステップＳ４、ＹＥＳ）、図５に示す処理に移る。
グループ指定ではない場合には（ステップＳ４、ＮＯ）、“データ範囲”の定義が“明細単位”であるものと判定して、図６に示す処理に移る。
【００４６】
“データ範囲”の定義がグループ指定である場合の処理について、図５を参照して以下に説明する。
尚、以下の説明では、グラフ化テーブル４の設定が、図２に示すグラフ化テーブル４０の設定内容であるものを例にして説明する。
【００４７】
まず、レコードファイル５０をオープンする（ステップＳ５）。続いて、オープンしたレコードファイル５０の先頭レコード（レコード１）をリードする（ステップＳ６）。そして、リードしたレコードデータを出力形態定義票に従って表形式でフォーム出力する（ステップＳ７）。
【００４８】
ステップＳ７の処理は、例えば、リードしたレコードの最下位キーを判定して、このレコードの属性を判別し、判別した属性に対応する出力形態定義票中のフォーマットに従ってフォーム出力する。例えば、レコード１の場合は、最下位キーがキー３（明細）の“インク”であるので、属性が“明細”のフォーマットに従って帳票出力される。すなわち、レコード１の各項目データ５２は、出力形態定義票２０における座標“Ｄ１”“Ｅ１”“Ｆ１”の位置に出力される。
【００４９】
同様に、例えば、レコード３の場合は、キー３（明細）の項目は存在せず、最下位キーはキー２（Ｇ２）の“北米”であるので、属性が“Ｇ２”のフォーマットに従って帳票出力される。すなわち、レコード３の各項目データ５２は、出力形態定義票２０におけるセル“Ｄ２”“Ｅ２”“Ｆ２”に対応して出力される。
【００５０】
上記ステップＳ７の処理は、従来よりある帳票出力処理と略同様であるので、詳細な説明は省略する。
次に、グラフ化テーブル４０の“データ領域（対象データ）”の設定（例えば、図２では“Ｄ１”）より、レコードの各項目データ５２の出力座標の中で設定と一致するものがあるか否かを判定する（ステップＳ８）。例えば、レコード１やレコード２の場合は、上記のように属性が“明細”であることからレコードの各項目データ５２の出力座標が“Ａ１”〜“Ｆ１”となっているので、設定“Ｄ１”と一致するものがある。一方、例えば、レコード３の場合は、上記のように属性が“Ｇ２”のフォーマットに従って帳票出力されるので、レコード３の各項目データ５２の出力座標は“Ａ２”〜“Ｆ２”であり、一致するものはない。
【００５１】
以下、上記“データ領域（対象データ）”の設定と一致する座標の項目データを“対象データ”という。
リードしたレコードのフォーム出力項目に“対象データ”がある場合には（ステップＳ８、ＹＥＳ）、この対象データをグラフ要素データとして例えばＲＡＭ３内のグラフデータメモリ５に記憶する（ステップＳ９）。そして、リードしたレコードの次のレコードがあるか否かを判定する（ステップＳ１０）。
【００５２】
対象データがない場合には（ステップＳ８、ＮＯ）、リードしたレコードはグラフ化の対象ではないので、そのままステップＳ１０の処理に移る。
次レコードがある場合には（ステップＳ１０、ＹＥＳ）、次レコードをリードする（ステップＳ１１）。そして、次レコードの“データ範囲”の項目のデータが前レコードから変化したか否かを判定する（ステップＳ１２）。
【００５３】
これは、例えば、図２に示す例では“データ範囲”が“Ｇ２”であるので、次レコードが図３のレコード２である場合は、キー５１のキー２（Ｇ２）の項目のデータである“北米”は、前レコードのキー２（Ｇ２）の項目のデータである“北米”と同じであるので、次レコードの“データ範囲”の項目のデータは前レコードから変化しないと判定される（ステップＳ１２、ＮＯ）。
【００５４】
一方、例えば次レコードがレコード４の場合は、キー２（Ｇ２）の項目のデータは、前のレコード３の“北米”から“欧州”に変化するので、データ変化有りと判定される（ステップＳ１２、ＹＥＳ）。
【００５５】
上記判定処理において、データ変化有りと判定された場合には（ステップＳ１２、ＹＥＳ）、それまでに記憶したグラフ要素データをまとめて１つのグラフを生成するものとして、グラフ要素データを１グラフ単位として括る処理を行う（ステップＳ１３）。尚、上記それまでに記憶したグラフ要素データとは、未だ１グラフ単位として括られていないグラフ要素データを意味する。
【００５６】
上記判定処理において、データ変化なしと判定された場合には（ステップＳ１２、ＮＯ）、ステップＳ１３の処理は行わない。
そして、次に、リードした次レコードにおいて、“出力タイミング”の項目のデータに変化があるか否かを判定する（ステップＳ１４）。
【００５７】
これは、上記ステップＳ１２の処理で説明した“データ範囲”の項目のデータ変化の有無の判定処理と同様に、グラフ化テーブル４０で定義されている“出力タイミング”（図２の例では“Ｇ２”）の項目のデータが前レコードと同一であるか否かを判定するものである。
【００５８】
“出力タイミング”の項目のデータ変化有りと判定された場合には（ステップＳ１４、ＹＥＳ）、続いて、上記ステップＳ１３の処理によって括られたグラフ単位毎に、各グラフを構成するグラフ要素データに基づいてグラフを作成する（ステップＳ１５）。そして、作成したグラフを所定の位置（範囲）に出力する（ステップＳ１６）。本実施例では、例えば、図２（ａ）に示すように、帳票の出力座標（Ａ１：Ｆ３）の右側に、グラフ領域として「セル範囲＝Ｇ１：Ｉ３」の範囲の領域が定義されており、このグラフ領域内に上記作成したグラフが、例えば円グラフで出力される。勿論、円グラフに限るものではなく、例えば棒グラフ等であってもよく、様々な形式のグラフ出力を行うことができる。尚、この様なグラフ作成処理は、グラフを構成する構成要素データと１グラフ単位とが決まれば、既存のグラフ作成用のアプリケーションソフトウェアの機能を利用することで実現できるので、ここでの詳細な説明は省略する。
【００５９】
図２の例では、“データ範囲”と“出力タイミング”は共に“Ｇ２”に設定されているので、ステップＳ１３の処理で１つのグラフ単位として括られた後、直ちにステップＳ１５、Ｓ１６の処理に移って、グラフの生成・出力処理を行う。
【００６０】
したがって、生成・出力されるグラフは１つであり、その出力位置はグラフを構成するグラフ要素データの帳票出力位置に対応する位置となる。すなわち、図３の例では、レコード４、レコード７を次レコードとしてリードしたとき、それぞれ、それまでに記憶したグラフ要素データに基づいて１つのグラフを作成し、出力する。
【００６１】
これにより、例えば、図７に示すように帳票、及びグラフが出力される。
これに対し、例えば、“データ領域”及び“データ範囲”の設定は図２と同じとし、“出力タイミング”のみ“Ｇ１”にした場合は、レコード４、レコード７を次レコードとしてリードしたとき、それぞれ、それまでに記憶したグラフ要素データを１つのグラフ単位として括る処理を行うが、ステップＳ１４の判定において“出力タイミング”の項目のデータ変化はないものと判定されるので、グラフ作成、出力処理は行わずに、ステップＳ７の処理に戻る。そして、レコード８を次レコードとしてリードすると、キー１（Ｇ１）の項目のデータが“電卓”から“時計”に変化するので、この時点でそれまでにそれぞれ括られたグラフ単位毎に、グラフ要素データに基づいてグラフを作成し、出力する。
【００６２】
図３の例では、レコード８をリードしたとき、それまでに括られたグラフ単位は２つあるので、２つのグラフが作成・出力される。
これにより、例えば、図８に示すように帳票、及びグラフが出力される。
【００６３】
尚、帳票、及びグラフ出力は、図１の表示部６に表示されるものであっても良いし、印字部７でプリントアウトされるものであっても良い。
上記ステップＳ１６の処理において、各グラフの出力が行われると、それまでにＲＡＭ３内のグラフデータメモリ５内に記憶しておいた全グラフ要素データを消去して、ステップＳ７の処理に戻る。
【００６４】
以下、同様にして、レコードファイル５０内の全レコードデータをリードするまでステップＳ７〜ステップＳ１７の処理を繰り返す。
そして、全データをリードし、ステップＳ１０において次レコードなしと判定されると（ステップＳ１０、ＮＯ）、消去されずに記憶されているグラフ要素データがあるか否かを判定する（ステップＳ１８）。これは、例えば、図２に示す設定で、図３のレコードファイル５０のレコードがレコード１〜レコード３であるような場合、“データ範囲”の項目のデータ変化がないまま全レコードをリードし終えてしまうので、グラフ出力を行うことができずに残っているグラフ要素データが存在することになる。この為、残存するグラフ要素データがある場合には（ステップＳ１８、ＹＥＳ）、未だ１グラフ単位として括られていないグラフ要素データがある場合には、これをまとめて１グラフ単位として括った後、括られたグラフ単位毎にグラフ要素データに基づいてグラフを作成し（ステップＳ１９）、作成した各グラフを出力して（ステップＳ２０）、全処理を終了する。
【００６５】
以上、図４のステップＳ４の処理で、データ範囲のグループ指定有り（ステップＳ４、ＹＥＳ）と判定された場合の処理を説明した。
続いて、データ範囲のグループ指定なし（ステップＳ４、ＮＯ）と判定された場合の処理を説明する。
【００６６】
以下の処理は、上記ステップＳ４においてデータ範囲のグループ指定なしと判定されたことから、グラフ化の対象として、明細レコード（キー５１の最下位キーがキー３（明細）であるレコード）の項目データ５２の全てが指定されたものとして処理を行う。
【００６７】
すなわち“データ範囲”として“明細”が設定された場合には、データ対象は自動的に決定されるので、オペレータ等は“データ領域”の設定入力を行わなくても良い。
【００６８】
図６に示す処理において、まず、図５のステップＳ５〜ステップＳ７の処理と同様に、レコードファイルをオープンし（ステップＳ２１）、先頭レコードをリードし（ステップＳ２２）、レコードデータを表形式でフォーム出力する（ステップＳ２３）処理を実行する。
【００６９】
続いて、リードしたレコードが、上記明細レコードである場合には、レコードの全ての項目データを各々グラフ要素データとして記憶するとともに、これを１つのグラフ単位として括る（ステップＳ２４）。リードしたレコードが、例えば図３のレコード３、レコード６、７のように明細レコードではない場合は、ステップＳ２４の処理は行わない。
【００７０】
次に、次レコードがあるか否かを判定し（ステップＳ２５）、次レコードがある場合には次レコードをリードする（ステップＳ２６）。
そして、リードした次レコードにおいて、“出力タイミング”のデータ変化があるか否かを判定し（ステップＳ２７）、データ変化がない場合には（ステップＳ２７、ＮＯ）、ステップＳ２３の処理に戻る。
【００７１】
データ変化がある場合には（ステップＳ２７、ＹＥＳ）、括られたグラフ単位毎に、各々のグラフ要素データに基づいてグラフを作成する（ステップＳ２８）。そして、作成した各グラフを出力し（ステップＳ２９）、それまでに記憶した全てのグラフ要素データを消去して（ステップＳ３０）、ステップＳ２３の処理に戻る。
【００７２】
レコードファイルの全てのレコードをリードするまで、上記ステップＳ２３〜ステップＳ３０の処理を繰り返し、次レコード無しと判定されると（ステップＳ２５、ＮＯ）、ステップＳ３１の処理に移る。
【００７３】
ステップＳ３１〜ステップＳ３３の処理は、図５のステップＳ１８〜ステップＳ２０の処理と同様であるので、ここでの説明は省略する。
以上、ステップＳ４においてデータ範囲の設定が“明細”であると判定された場合には、図６に示す処理を行うことで、例えば図９に示すように、明細単位（インク、ＯＥＭ、ＧＭＢＨ、ＵＫ）で、明細の全ての項目データ（４月、５月、６月）をグラフ要素データとする複数のグラフが作成されて表示出力される。
【００７４】
尚、上述したグラフ化テーブルの設定内容、グラフの出力形態は、本発明によるグラフ生成出力装置の一例であり、本発明はこれに限るものではなく、表の出力形式に基づいて種々の形態のグラフを作成して、所望の位置に表示できる。
【００７５】
例えば、図６の処理において、“データ範囲”として“明細”が設定された場合には、データ対象は自動的に全ての項目データが指定されるものとして説明したが、本発明はこれに限るものではない。例えば、“データ領域”の設定は、１つのセルの座標を指定するものに限るものではなく、例えば複数指定、あるいは範囲指定することもできる。これによって、例えば“データ領域”として“Ｄ１”“Ｅ１”を設定して、これらを対象データとすることで、図９に示すグラフをグラフ要素データが“４月”“５月”のグラフを作成することもできる。
【００７６】
これによって、例えば、項目データとして１月〜１２月の各月のデータがある場合に、上半期、下半期、あるいは偶数月、奇数月等の単位で括られたグラフを作成する等、ユーザの所望に応じて様々な形態のグラフを作成して出力することができる。
【００７７】
図７〜図１０は、上記図４〜図６の処理によって生成・出力される帳票及びグラフの一例を示す図である。
尚、既に説明してあるが、図７〜図１０に示す丸（白丸）は、説明を分かり易くするためのものであり、実際の出力においては、丸の位置のセル内には対応するレコードの項目データが表示される。
【００７８】
図７は、グラフ化テーブルの定義として、図２に示す設定が行われた場合の帳票及びグラフの出力例である。すなわち、「データ領域；Ｄ１」、「データ範囲；Ｇ２」、「出力タイミング；Ｇ２」の設定が行われた場合の出力例である。
【００７９】
「データ領域；Ｄ１」の設定に応じて、同図左側の帳票出力においてＤ１の座標に出力されるセル（丸で示すセル）のデータが、グラフ化の対象データとして指定され、グラフを構成する要素であるグラフ要素データとして、ＲＡＭ３内のグラフ作成用の記憶領域（グラフデータメモリ５）に一時的に記憶される。ここでは、各明細レコードの４月のデータが対象データとなり、グラフ要素データとして記憶される。
【００８０】
また、「データ範囲；Ｇ２」の設定に応じて、Ｇ２の各グループ毎にグラフが作成される。ここでは、Ｇ２が“北米”のグループと“欧州”のグループのグラフが作成される。
【００８１】
上記「データ領域；Ｄ１」及び「データ範囲；Ｇ２」の設定によって、同図右側に示すような“北米４月”と“欧州４月”のグラフが作成される。
更に、作成されたグラフは、「出力タイミング；Ｇ２」の設定に応じて、上記Ｇ２の各グループ毎にグラフが作成された時点で、図２（ａ）に示す出力形態定義票２０のフォーマットに従って、そのグラフ領域２５の位置に出力される。
【００８２】
これによって、同図左側に示す帳票の出力過程で、各レコードを上から順次出力する過程において、Ｇ２レベルの集計レコード（“北米”と“欧州”の各集計レコード）に対応する帳票が出力される時点で、対応するグラフが作成され、更に出力されることで、同図右側に示す位置にグラフが出力される。
【００８３】
図８は、グラフ化テーブルの定義として、「データ領域；Ｄ１」、「データ範囲；Ｇ２」、「出力タイミング；Ｇ１」の設定が行われた場合のグラフの出力例である。
【００８４】
同図に示す例では、「データ領域；Ｄ１」、「データ範囲；Ｇ２」の設定は、図７と同じであるので、作成されるグラフは図７と同じであり、出力位置のみが異なることになる。
【００８５】
「出力タイミング；Ｇ１」の設定によって、上記図７において説明したようにして作成されたグラフは、Ｇ１レベルの集計レコード（電卓）をリードして帳票出力する時点でまとめて出力される。
【００８６】
これによって、図８に示すように、“北米４月”と“欧州４月”のグラフが、Ｇ１レベルの集計レコード（電卓）の帳票出力位置の右側に、２つまとめて出力される。
【００８７】
尚、このとき、グラフ出力位置は、“北米４月”が図２（ａ）に示すグラフ領域２５（セル範囲＝Ｇ１：Ｉ３）、“欧州４月”がグラフ領域２５から右側に１領域分シフトした領域（セル範囲＝Ｊ１：Ｌ３）としてもよいし、グラフ領域２５（セル範囲＝Ｇ１：Ｉ３）内に２つのグラフを出力するようにしてもよい。
【００８８】
図９は、データ範囲として“明細”が設定された場合、すなわち図６の処理を行う場合であって、「データ範囲；（明細）」、「出力タイミング；Ｇ２」の設定が行われた場合の出力例である。
【００８９】
「データ範囲；（明細）」の設定が行われることで、対象データは、図９に丸で示すように、各明細レコードの全ての項目データが指定されることになる。よって、本例では「データ領域」の設定は行わなくてもよい。そして、図６のステップＳ２４の処理によって、各明細を１グラフ単位とし、各明細の各項目データをグラフ要素データとして、グラフ作成処理を行うことで、図９の右側に示すようなグラフが作成される。すなわち、各明細の項目名である「インク」、「ＯＥＭ」、「ＧＭＢＨ」、「ＵＫ」を１グラフ単位とし、明細の各項目データである「４月」、「５月」、「６月」のデータをグラフ要素とするグラフが作成される。
【００９０】
そして、「出力タイミング；Ｇ２」の設定によって、Ｇ２レベルの集計レコード（“北米”と“欧州”の各集計レコード）に対応する帳票が出力される時点で、それまでに作成されたグラフが出力されることで、同図右側に示す位置にグラフが出力される。
【００９１】
図１０は、「データ領域；Ｄ２」、「データ範囲；Ｇ１」、「出力タイミング；Ｇ１」の設定が行われた場合の出力例である。
「データ領域；Ｄ２」の設定によって、同図左側の帳票出力においてＤ２の座標に出力されるセル（丸で示すセル）のデータが、グラフ化の対象データとして指定され、グラフを構成する要素であるグラフ要素データとして、グラフ作成用の記憶領域（ＲＡＭ３内のグラフデータメモリ５）に一時的に記憶される。ここでは、Ｇ２レベルの各集計レコード（北米、欧州）の４月のデータが対象データとなり、グラフ要素データとして記憶される。
【００９２】
また、「データ範囲；Ｇ１」の設定に応じて、Ｇ１の各グループ毎にグラフが作成される。ここでは、Ｇ１が“電卓”のグループを一グラフ単位としてグラフが作成される。
【００９３】
そして、上記「データ領域；Ｄ２」及び「データ範囲；Ｇ１」の設定によって、同図右側に示すような“電卓４月”のグラフが作成される。
更に、作成されたグラフは、「出力タイミング；Ｇ１」の設定に応じて、上記Ｇ１の各グループ単位でグラフが作成された時点で、図２（ａ）に示す出力形態定義票２０のフォーマットに従って、そのグラフ領域２５の位置に出力される。
【００９４】
これによって、同図左側に示す帳票の出力過程で、各レコードを上から順次出力する過程において、Ｇ１レベルの集計レコード（“電卓”の集計レコード）に対応する帳票が出力される時点で、グラフが作成され、出力されることで、同図右側に示す位置にグラフが出力される。
【００９５】
尚、上記一実施形態の説明では、レコードファイル５０のレコードを順次リードして、これを順次帳票出力する処理に伴って、設定内容に応じて適宜グラフを作成し、出力するものとして説明したが、本発明はこれに限るものではない。
【００９６】
例えば、出力形態定義票２０のような表出力形式を定義する定義票に従って、既にレコードに基づく表を作成して表示している場合であっても、表の各行のデータを上から順次リードして、対象データとして指定されているセル座標位置に対応する表上のセル内のデータをリードして、データ範囲の設定に応じた行範囲を１グラフ作成単位とし、表上で出力タイミングの設定に応じた行が表示されている位置の右側の領域にグラフを出力することで、上述した一実施形態の処理と同様にして設定内容に対応してグラフを適宜作成・出力することができる。
【００９７】
【発明の効果】
本発明によれば、複数のレコードを表形式で出力する際は、そのレコード内でグラフ化区切りの範囲を示すキー項目とグラフの出力タイミングを示すキー項目とを定義しておくことで、各レコード内に含まれる各項目の内容に基づいて、１つのグラフ単位となるグラフ要素データの括りと、その括られたグラフ要素データで作成されたグラフの出力位置とを自動的に決定してグラフ出力することができる。
【図面の簡単な説明】
【図１】本発明のグラフ生成出力装置が適用されるコンピュータシステムの一例を示す構成ブロック図である。
【図２】（ａ）は出力形態定義票、（ｂ）は設定ウィンドウ、（ｃ）はグラフ化テーブルの一例を示す図である。
【図３】レコードファイルの一例を示す図である。
【図４】グラフの生成・出力処理を説明するフローチャート（その１）である。
【図５】グラフの生成・出力処理を説明するフローチャート（その２）である。
【図６】グラフの生成・出力処理を説明するフローチャート（その３）である。
【図７】グラフ出力の一例を示す図（その１）である。
【図８】グラフ出力の一例を示す図（その２）である。
【図９】グラフ出力の一例を示す図（その３）である。
【図１０】グラフ出力の一例を示す図（その４）である。
【符号の説明】
１  ＣＰＵ
２  入力部
３  ＲＡＭ
４  グラフ化テーブル
５  グラフデータメモリ
６  表示部
７  印字部
８  外部記憶装置
９  媒体駆動装置
１０  ネットワーク接続装置
１１  可搬記憶媒体
２０  出力形態定義票
２１  座標
２２  属性（列方向）
２３  属性（行方向）
２４  座標Ｄ１のセル（対象データ）
２５  グラフ領域
３０  設定ウィンドウ
３１  データ領域
３２  データ範囲
３３  出力タイミング
４０  グラフ化テーブル
４１  データ領域
４２  データ範囲
４３  出力タイミング
４４  出力領域
５０  レコードファイル
５１  キー
５２  項目データ
【図１】
0003567299.tif 000002
【図２】
0003567299.tif 000003
【図３】
0003567299.tif 000004
【図４】
0003567299.tif 000005
【図５】
0003567299.tif 000006
【図６】
0003567299.tif 000007
【図７】
0003567299.tif 000008
【図８】
0003567299.tif 000009
【図９】
0003567299.tif 000010
【図１０】
0003567299.tif 000011