JPH08137967A - 表デ−タ処理方法 - Google Patents

表デ−タ処理方法

Info

Publication number
JPH08137967A
JPH08137967A JP6272021A JP27202194A JPH08137967A JP H08137967 A JPH08137967 A JP H08137967A JP 6272021 A JP6272021 A JP 6272021A JP 27202194 A JP27202194 A JP 27202194A JP H08137967 A JPH08137967 A JP H08137967A
Authority
JP
Japan
Prior art keywords
axis
data
table data
name
value
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
Application number
JP6272021A
Other languages
English (en)
Inventor
Tetsuya Maruoka
哲也 丸岡
Takashi Oota
隆 大小田
Shiro Takeyama
志朗 竹山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP6272021A priority Critical patent/JPH08137967A/ja
Publication of JPH08137967A publication Critical patent/JPH08137967A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 【目的】 フラットな構造の表データを多次元構造の表
データに変更し、その変換操作を利用者が試行錯誤的に
行える表データ処理方式を提供する。 【構成】 リレーショナル形式の表データ300を画面
に表示し(101)、マウスを用いてフィールドを指定
し(108)、このフィールドに属するデータ値を分類
する情報を生成し(110)、これに応じて多次元構造
をしたテーブルを表示する(1008)。また、多次元
項目に変換したフィールドをマウスで指定し(10
9)、この項目を元のフィールドに戻し(111)、こ
れに応じて表データを表示する。 【効果】 マウスを用いた画面上での簡単な操作で、フ
ラットな形式の表データの構造を多次元構造の表データ
に試行錯誤的に変換し、好みの構造をもった表データを
作成できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機を用いた表データ
の処理方法に係わり、特にリレーショナルデータベース
の表のようなフラットな形式の表データを試行錯誤的に
多次元の構造をもつ表データに変換するに好適な表デー
タ処理方法に関する。
【0002】
【従来の技術】多次元表データを扱うソフトウェア製品
としては、Lotus社のImprov、Microsoft社のExcelがあ
る。Improvにおける表データの表現の仕方は以下の通り
である。 Improvでは表の項目(アイテムと呼んでい
る)をまとめてカテゴリとする。図2の例では、アイテ
ム211”男性”および212”女性”はカテゴリ20
1”性別”に属する。表は複数のカテゴリをもつことが
でき、202”基本軸”、203”年度”、204”支
店”がカテゴリ名称である。
【0003】カテゴリ間のアイテムの組み合わせの数だ
けデータを格納するセルが存在する。図2の例では4つ
のカテゴリがそれぞれ2つのアイテムをもつので、2×
2×2×2=16個のセルが存在する。このセルにデー
タを格納する。
【0004】また、Excelにおいてはピボットテーブル
という機能があり、これはスプレッドシート上の指定さ
れた矩形セル内のデータをリレーショナル形式の表デー
タとしてとらえ、項目名称を、縦方向あるいは横方向、
またはデータ部へのいずれかに移動させることで、デー
タ部に移動させたデータの集計値(合計、平均、個数
等)を横方向、縦方向に移動した項目の値のクロス集計
をとるものである。図3のフラットな構造の表データか
ら、図4に示した多次元構造の表を作成することができ
る。図3の例では、表データの項目として、301”年
度”、302”支店”、303”性別”、304”氏
名”、305”年齢”がある。図4のピボットテーブル
化のための指定では、縦方向に項目301”年度”と3
02”支店”を設定し、横方向に303”性別”を設定
し、そして解析データとして、304”氏名”の個数と
305”年齢”の平均値の2つを設定した結果である。
【0005】また、関連する技術が特開平4−1077
68「多次元クロス集計表作成方式」に開示されてい
る。上記従来技術は、クロス集計表を作成するのに必要
となるデータベースの項目や集計計算の種別等の情報を
専用のパラメータ入力画面で設定し、クロス集計表を作
成するものである。
【0006】また、特開平6−124296「帳票作成
方法」では、リレ−ショナルの表デ−タ中に存在してい
る合計や平均のような特別の属性を持つ行を、通常の行
とは異なった例外的な配置を指定できる。この例外的な
配置の指定は、画面に表示された表デ−タの合計や平均
行を直接操作することで実現している。
【0007】
【発明が解決しようとする課題】従来技術では以下に示
す問題がある。 (1)Lotus Improvの場合 多次元テーブルを作成できるが、特にフラットなテーブ
ルから多次元へと変換する機能については述べていな
い。また、カテゴリのアイテムの直積の数だけデータ格
納用のセルがあるが、あるアイテムの組み合わせに属す
るセル中に複数のデータが存在することについても特に
記述されていない。
【0008】(2)Microsoft Excelの場合 作成対象となっているのがクロス集計表であり、縦方
向、横方向の表示項目が多段階になるが、ある項目に属
するデータは合計値や平均値といった一つのデータであ
る。すなわち、一つのセルに格納できるデータを複数に
するとったことには対応していない。
【0009】(3)特開平4−107768の場合 上記(2)と同様の技術である。
【0010】以上示したように従来技術は、多次元構造
とはいっても、項目の組み合わせで特定できる最小のセ
ルには単一のデータのみを格納するもので、図5に示す
ようなテーブル構造のデータは表示できない。
【0011】(4)特開平6−124296の場合 リレ−ショナル形式の表デ−タのレコ−ド中に、平均や
合計のような特殊なレコ−ドが出現するときにはそのレ
コ−ドを他のレコ−ドとは容易に区別できるようにその
レイアウトを変更するものである。表示メカニズムは、
通常レコ−ドについての配置情報をレコ−ド方向に繰り
返して順次配置するものであり、その中に特殊レコ−ド
があれば、特殊レコ−ド用の配置情報を用いてレイアウ
トするものである。元デ−タとなる表デ−タの項目等も
そのままであり、表デ−タの指定した項目のデ−タを解
析して多次元構造の表デ−タに変更するものではない。
【0012】本発明の目的は、図3に示すようなフラッ
トな構造をした表データを図5に示すような多次元構造
の表データに変更するための表データ処理方法を提供す
ることである。
【0013】図5の表示領域501は、項目201”年
度”が”93”で、201”支店”が”大阪”で、20
3”性別”が”女性”という複数項目からの特定できる
領域である。この領域には、”矢上”、”今田”、”広
沢”の3つのデータが表示されており、多次元の項目の
組み合わせで特定できるデータは複数レコードを許して
いることを意味する。また、各々の分類場所では所属し
ているレコード数が異なっていてもよい。表示領域50
1が3レコード分しかないのに、表示領域502には5
レコードが表示されている。
【0014】また、本発明の目的は、図2に示すフラッ
トな表データから図5に示す多次元の表データへの変換
操作を利用者が試行錯誤的に行える表データ処理方式を
提供することである。
【0015】
【課題を解決するための手段】本発明の目的を達成する
ために、リレーショナル形式の表データを記憶装置に格
納しておき、これを表示装置に出力し、その後入力装置
より表示した表データのフィールドを指定する情報を入
力する。さらに、指定したフィールドに属するデータ値
を分類し、分類した値と対応させて、指定したフィール
ド以外のフィールドに属するデータを表示装置に出力す
る。加えて、このフィールドの指定と分類表示を繰り返
し実行する。
【0016】また、本発明の他目的を達成するために、
多次元に分類された表データに対して、入力装置より分
類した項目名称を指定する情報を入力し、入力した項目
を分類項目から消去し、元のレコードの項目として表示
装置に出力する。
【0017】
【作用】リレーショナル形式の表データを記憶装置に格
納しておき、これを表示装置に出力し、その後入力装置
より表示した表データのフィールドを指定する情報を入
力する。さらに、指定したフィールドに属するデータ値
を分類し、分類した値と対応させて、指定したフィール
ド以外のフィールドに属するデータを表示装置に出力す
ることで、フラットな構造の表データを,項目のデータ
値で分類した表データに変換できる。加えて、このフィ
ールドの指定と分類表示を繰り返し実行することによ
り、複数の項目のデータ値で多次元に分類された表デー
タを作成することができる。
【0018】また、多次元に分類された表データに対し
て、入力装置より分類した項目名称を指定する情報を入
力し、入力した項目を分類項目から消去し、元のレコー
ドの項目として表示装置に出力することで、構造の変更
を試行錯誤的に行なうことが可能となる。
【0019】
【実施例】本発明を実施するための計算機システムのハ
ードウェア構成を図6に示す。601は計算機本体であ
り、内部には高速なデータアクセスが可能なメモリ装置
602、およびこのメモリ602に蓄えられたプログラ
ムやデータを取り出し実行する処理装置603が設けら
れている。外部記憶装置であるディスク装置604、お
よび入出力装置であるマウス装置605、ディスプレイ
装置606、キーボード入力装置607が周辺機器とし
て接続されている。
【0020】本発明は、これら機器からのデータ入力、
あるいは機器へのデータの出力、および、データの加工
や検査を、メモリ装置603にロードされたプログラム
に従って制御することで実現される。
【0021】具体的な処理手順について説明する前に本
実施例で用いる用語について説明する。本発明は、図3
に示すようなリレーショナル形式をした表データ300
を図5に示すような多次元形式の表データに変換表示す
るものである。図3における通常の項目(フィールド)
である年度301、支店302、性別303のそれぞれ
は、図5では多次元形式の項目である年度301、支店
302、性別303に変化している。
【0022】これら多次元項目の名称を、リレーショナ
ル形式の表データにおける”項目名称”と区別する意味
で、”軸名称”とよぶ、すなわち項目「支店」は”軸”
に変換されたことになり、この変換を”軸化”とよぶ。
また、”軸化”していない元々の”項目”「氏名」24
1、「年齢」242は、軸名称「データ」でまとめられ
ている。このように、通常の項目は自動的に特別な軸名
称「データ」に属すことになる。また、”軸”の具体的
な要素である「93」211、「94」212は、元々
は項目の一つのデータ値であったわけであるが、”軸
化”により、軸を構成するユニークな要素になる。これ
ら要素を”軸要素”と呼ぶ。例えば、軸名称「支店」2
02は、”軸要素”として「東京」と「大阪」をもつ。
また、軸もその要素が横方向に並ぶもの「性別」20
3、「データ」204と、軸要素が縦方向に並ぶもの
「年度」201、「支店」202がある。前者は表デー
タの上部に表示する理由から、”上部軸”とし、後者
を”左部軸”とする。
【0023】また、リレーショナル形式の表データにつ
いては、図3に示すように、表の縦のまとまりを”項
目”とよび、それぞれの列に対して”項目名称”が付け
られている(301〜305)。また、表データの横の
まとまりは”レコード”とよばれ具体的な対象物の値を
示すデータである。例えば、レコード310は「”9
3”年度、”東京”支店の”男性”である”丸岡”氏
は”31”才である。」という意味になる。
【0024】以下、図1のフローチャートに従い、本発
明の処理手順を説明する。まず、処理に必要となる各種
データの初期化、およびリレーショナル形式の表データ
300のディスプレイへの表示を行なう(101)。本
ステップ101の詳細を図10のフローチャートに従い
説明する。
【0025】まず、リレーショナル形式の表データ30
0をハードディスク装置604からメモリ602へロー
ドする(1001)。次に、画面を表示する(100
2)。ここで生成する画面例は、図9の表データ表示域
920にまだ何も表示されていない状態である。画面の
上部のコマンドボタン領域910には、各種処理の起動
用のコマンドボタンが並んでいる。マウス入力装置60
5を用いてこれらコマンドボタンの領域が指示される
と、各コマンドボタンに応じた処理が実行される。ボタ
ン901「軸化」は、指定された項目のデータを調べ
て、多次元表の軸に変換するためのもの、ボタン902
「非軸化」は逆に軸を軸”データ”の要素の一要素に戻
すためのものである。ボタン903「終了」は本システ
ムの処理を終了するためのものである。
【0026】その後、システムの処理に必要となるデー
タ群を初期化する。このデータ群が図8に示す軸情報デ
ータ群800、および図7の操作対象データ700、7
01、702である。具体的には、操作対象データ70
0に”0”を代入する(1003)。本領域700は利
用者がマウスで指定した軸化や非軸化の対象となる名称
を保持するデータ領域あり、701は操作対象となる軸
が上部軸か左部軸かあるいはデータ軸要素であるのか示
す情報を格納する。また、702は操作対象軸の上部軸
あるいは左部軸での階層レベルを示す数値を格納する領
域である。本ステップではまだ操作対象が選択されてい
ない状態を設定する。
【0027】次に、軸要素データ830を生成し、リレ
ーショナル形式の表データ300を参照し、項目名称を
左より順に取り出していき、この要素並びデータ830
の「要素名称」832に順に格納する(1004)。こ
のように、軸要素データ300は軸要素の表示並びに応
じたデータを格納するものである。本ステップ1004
では、軸「データ」の要素であるリレーショナル形式の
表データの項目名を格納する。また、軸要素の終端を示
すデータとして「要素番号」831に対応する「要素名
称」832に”0”を設定する。本例では「要素名称」
[6]が終端となる。
【0028】次に、上部軸データ810の生成と初期化
を行なう(1005)。本初期化処理では、「軸名称」
[1]に”データ”と設定し、「要素データ」[1]に
ステップ1004で作成した軸要素データ830の領域
のアドレスを設定を設定する。これにより軸名称「デー
タ」が軸要素データ830を指し示すことが可能とな
る。また、上部軸の終端を示すために「軸名称」[2]
に”0”を設定する。このように、上部軸データ810
は、表データを表示する際の表上部に表示する軸名称を
上位から下位の方向に順に保持する。初期表示では軸
「データ」の1階層だけを表示し、元々リレーショナル
形式の表データ300の項目301〜305を本軸名
称”データ”という特殊軸に属する要素とする。
【0029】次に、左部軸データ820を生成し初期値
を設定する(1006)。左部軸の初期状態はまだ軸が
存在しない。ここでは「軸名称」[1]に”0”を設定す
る。本データ領域は前述した810領域と同様の構造を
もち、表データを表示する際の表左部に表示する軸名称
を左から右に順に保持する。なお、ここで、”[1]”
といった記述をしたが、これは、上記データ領域の指定
配列番号へのアクセスを示すものである。
【0030】次ステップでは、レコード分類データ84
0を生成・初期化する(1007)。レコード分類デー
タ840は、多次元の軸要素の値で表データを分類表示
する場合に、各軸要素の組み合わせ毎に対応するリレー
ショナル形式の表示データ300のレコード番号を格納
するデータ領域である。初期状態ではまだ軸化によりレ
コードを分類表示していないので、「項目名」[1]の
箇所841に終端を示す”0”を代入する。
【0031】軸情報データ群800、および操作対象デ
ータ700の生成・初期化が終了すると、次は実際の表
データを表示する(1008)。表データ表示の詳しい
処理手順を図11のフローチャートに従い説明する。
【0032】まず、要素名位置データ870を初期化す
る(1121)。これは、図52に示したデータの「要
素名」[1]871に”0”を設定することで実現す
る。本データ領域870は、表データの画面表示におい
て、データ軸の要素名称をどの位置に表示したかを保持
するための領域である。以後、本データ領域に対してデ
ータを設定するときは、配列番号[1]から[2],
[3]...というように順次設定していき、設定の度に
次の配列番号の箇所に”0”を代入する。
【0033】次に、軸名称部を表示し(1101),上
部軸が存在するか否かを判定し(1102)、もし存在
しなければ、以下の2点を対角頂点とする矩形枠を描画
する(1104)。 (Width,0),(Width+WCELL,He
ight) 一方、上部軸が存在する場合には、関数”上部軸要素表
示(1,1,Width,0)”を呼出し、上部軸の要
素を全て表示する(1103)。関数のカッコ内に記述
した変数は、その関数への引き数として渡される値を示
す。
【0034】そして左部軸の処理である。まず、左部軸
検索データ860を初期化する(1151)。本データ
領域の構造は図8に示すように、軸名称861と要素名
称862をもつ配列型のデータである。本領域には、多
次元の軸要素の組み合わせで分類表示されるレコードを
求めるときの左部軸の検索条件が格納される。本ステッ
プではこれが全部クリアされて、軸名称851の部分に
全て”0”を設定する。(ちなみに、図8における上部
軸検索データ850は、上部軸からの検索条件が格納さ
れる) その後、左部軸が存在するか否かを判定し(110
5)、もし左部軸が存在しない場合には、関数”レコー
ド値表示(Width,Height)”を呼出して、
レコード値の表示する(1107)。この時、ステップ
1107の関数のリターン値として最大レコード数が求
められるので、これを変数MAXRECORDSに代入
する。その後、以下の2つの座標値を対角頂点とする矩
形を描き(1112)、本ステップ1008を終了す
る。
【0035】(0,Height) (0,MAXRECORDS*HCELL+Heigh
t) 一方、判定ステップ1105で左部軸が存在する場合、
関数”左部軸要素表示(1,1,0,Height)”
を呼出し、左部軸の要素部とレコード値を表示する(1
106)。
【0036】ここで軸名称部とは、図5における201
〜204の表データの左上角の領域であり、上部軸の軸
要素部とは213、232、241、242の領域、左
部軸の軸要素部とは211、212、221、222の
領域を指す。また、ステップ1104および1108で
は軸が存在しないので、矩形枠の中には文字列は特に表
示されない。例えば、図9における表示例では926の
部分がこれにあたる。
【0037】軸名称部の表示1101の詳しい処理手順
を図12のフローチャートに従い説明する。まず、プロ
グラム変数HCELL、WCELL、MCELLに値を
設定する(1201)。
【0038】変数HCELLは1つの軸名称表示セルの
高さを示すもので、図13−a)の軸名称部の説明図に
おける1311のサイズである。変数WCELL軸名称
を表示する1つのセルの幅を示し、図13−a)におけ
る1312のサイズである。変数MCELLは上部軸と
左部軸の斜め境界線のためのマージンサイズであり、図
13−a)における1313のサイズである。また、本
実施例における画面の座標位置は、図13−a)のポイ
ント1300を原点座標とし、本ポイントより右方向を
X軸、下方向をY軸として、(X,Y)の座標系で示す
ものとする。
【0039】次に、軸名称部の外枠の座標値Heigh
t,Widthを計算する(1202,1203)。な
お、ステップ1202で上部軸が存在しない場合には、
上部軸個数を仮に”1”と設定して計算する。同様に、
ステップ1203で左部軸が存在しない場合は、左部軸
個数を”1”に設定して計算処理を行なう。座標値(H
eight,Width)は、図13−a)の例では、
ポイント1301に対応する。
【0040】次に、軸名称部の外枠線を描画する(12
04)。2つの座標値 (0,0)、(Width,Height) を対角頂点とする矩形を描画することで実現する。さら
に、上部軸名称と左部軸名称との境界線を描画する(1
205)。具体的には、以下の4点間を結ぶ3本の直線
を描画することで実現する。 (0,0),(WCELL,Height−MCEL
L), (Width−WCELL,Height−HCEL
L), (Width,Height) その後上部軸名称を表示し(1206)、左部軸名称を
表示する(1207)。
【0041】上部軸名称の表示手順1206を図14の
フローチャートに従い説明する。まず、プログラム変数
iに”1”を代入する(1401)。次に、上部軸デー
タ810の「軸名称」[i]813が”0”か否かを調
べ(1402)、もし”0”なら本ステップ1206を
終了する。”0”でない場合には、「軸名称」[i]8
13の軸名称を取り出し、これを以下の座標値計算で求
めた対角2点(x1,y1),(x2,y2)の矩形に
入るように表示する(1403)。
【0042】 x1 ← MCELL y1 ← HCELL*(i−1) x2 ← Width − MCELL y2 ← HCELL*i さらに、このx1、y1、x2、y2各々の座標値を、
上部軸データ810の表示座標値「X1」816、「Y
1」817、「X2」818、「Y2」819にそれぞ
れ代入する(1404)。これは後程の処理で利用者が
マウス605を用いて画面を指示した際に、指示した場
所に置かれたものを認識するためである。その後、変数
iをインクリメントして(1405)、ステップ140
2へ戻る。
【0043】左部軸名称の表示手順1207を図15の
フローチャートに従い説明する。まず、プログラム変数
iに”1”を代入する(1501)。次に、左部軸デー
タ820の「軸名称」[i]823が”0”か否かを調
べ(1502)、もし”0”なら本ステップ1206を
終了する。”0”でない場合には、「軸名称」[i]8
23の軸名称を取り出し、これを以下の座標値計算で求
めた対角2点(x1,y1)、(x2,y2)の矩形に
入るように表示する(1503)。
【0044】 x1 ← WCELL*(i−1)+MCELL y1 ← Height−HCELL x2 ← WCELL*i+MCELL y2 ← H
eight さらに、このx1、y1、x2、y2の各々の座標値
を、上部軸データ820の表示座標値「X1」826、
「Y1」827、「X2」828、「Y2」829にそ
れぞれ代入する(1504)。これは、後程の処理で利
用者がマウス605を用いて画面を指示した際に、指示
した場所に置かれたものを認識するためである。その
後、変数 i をインクリメントし(1505)、ステッ
プ1502へ戻る。
【0045】以上で図11のステップ1101の説明を
終了する。これまでの処理により、上部軸に”データ”
軸が1つ、左部軸には軸が存在しない図13−b)に示
した軸名称部の状態が表データ表示域920には表示さ
れる。
【0046】次に、上部軸の軸要素部を表示するため
の”上部軸要素表示”関数1103の詳細手順を図16
のフローチャートに従い説明する。
【0047】まず、関数の引数を受け取る(160
1)。第1引数のLEVELは表示対象の軸レベル番号
を示し、第2引数MEMBERは表示対象の軸における
要素番号を示す。第3引数および第4引数は表示位置の
左上角の座標値(X軸,Y軸)を示す。図11のステッ
プ1103から本関数が呼ばれたとき、引数の値は、L
EVEL=1、MEMBER=1であり、これは最上部
の第1要素に対応しており、図9の例では、921の年
度の部分となる。次に、上部軸データ810の軸名称
[LEVEL+1]813の箇所が”0”かどうかを調
べ、表示対象の軸要素よりさらに下層に軸が存在するか
どうかを調べる(1602)。さらに、下層軸が存在す
る場合には、引数を次のように設定して自分自身の関
数”上部軸要素表示”を呼び出す(1103)。
【0048】第1引数:LEVEL+1, 第2引数:
1, 第3引数:X0,第4引数:Y0+HCELLこれ
は、自分より下層の軸がある場合には、その下層軸の第
1要素を指定して下層軸要素を先に表示することを意味
する。また、本関数はリターン値として、末尾要素の右
端x座標を返すので、これを変数X1に代入する。そし
て、このX1座標値を利用して、以下の2点を対角頂点
とする矩形枠を描画し、この中心に表示対象の軸要素名
称を表示する(1603)。 (X0,Y0),(X1,Y0+HCELL) 一方、判定ステップ1602で、より下層には軸が存在
しない場合(自分が最下層の場合)には、以下の2点を
対角頂点とする矩形枠を描画し、この中心に表示対象の
軸要素名称を表示する(1604)。 (X0,Y0),(X1,Y0+HCELL) ただし,X1 ← X0+WCELL その後、上部軸データ810の「要素データ」[LEV
EL]815が指し示す軸要素データ830の要素名称
[MEMBER+1]が”0”か否かを判定して隣に要
素があるかどうかを調べる(1606)。もし”0”で
隣に要素が存在しないのであれば、プログラム変数X1
を本関数のリターン値として返す(1608)。これは
表示対象となっている上部軸の要素の並びで末尾要素の
右端の座標値を意味する。また、判定ステップ1606
で隣に要素がまだある場合は、この隣の要素を対象する
ように引数を設定して、自分自身の関数を再帰的に呼び
出す(1103)。以上でステップ1103の説明を終
わる。
【0049】ここで、ステップ1603および1604
において要素名称を表示するとき、対象としている軸が
「データ」軸である場合には、図52の要素名位置デー
タ870に対して、表示した要素名称および表示矩形座
標位置の値をそれぞれ「要素名」871、「X1」87
2、「Y3」873、「X2」874、「Y2」875
に代入していく。これは後で、利用者がマウス605を
用いて画面を指示した際に、指示した場所がデータ軸の
どの要素であるかを識別するために利用する。
【0050】次に、図11の左部軸の軸要素部を表示す
るための”左部軸要素表示”関数1106の詳細手順を
図17のフローチャートに従い説明する。なお、本関数
は”上部軸要素表示”関数1103と似た処理手順を有
するが、大きく違うことは、”上部軸要素表示”関数1
103が要素名称の表示のみを行ったのに対して、”左
部軸要素表示”関数1106では、軸要素名称とあわせ
てレコード値の表示も行なうことである。
【0051】まず、関数の引数を受け取る(170
1)。第1引数のLEVELは表示対象の軸レベル番号
を示し、第2引数MEMBERは表示対象の軸における
要素番号を示す。第3引数および第4引数は表示位置の
左上角の座標値(X軸,Y軸)を示す。図11のステッ
プ1106から本関数が呼ばれたとき、引数の値は、L
EVEL:1、MEMBER:1であり、これは最上部
の第1要素に対応しており、図5の例では、521の軸
「年度」の”93”の部分となる。次に、左部軸検索デ
ータ560に値を設定する(1702)。
【0052】本ステップ1702の詳細の処理手順を図
18−a)のフローチャートに従い説明する。左部軸デ
ータ820の軸名称[LEVEL]823に格納された
値を左部軸検索データ860の軸名称[LEVEL]8
61に設定し(1801)、左部軸データ820の要素
データ[LEVEL]825の指し示す軸要素データ8
30の要素名称[MEMBER]の値を左部軸検索デー
タ860の要素名称[LEVEL]862に設定する
(1802)。
【0053】図17に戻り、さらに左部軸データ820
の軸名称[LEVEL+1]823の箇所が”0”かど
うかを調べ、表示対象の軸要素よりさらに下層に軸が存
在するかどうかを調べる(1703)。下層軸が存在す
る場合には、引数を次のように設定して自分自身の関
数”左部軸要素表示()”を呼び出す(1106)。 第1引数:LEVEL+1、第2引数:1、第3引数:
X0+WCELL、第4引数:Y0 これは、自分より下層の軸がある場合には、その下層軸
の第1要素を指定して下層軸の要素を先に表示すること
を意味する。また、本関数はリターン値として、末尾要
素の最も下のy座標を返すので、これを変数Y1に代入
する。そして、このY1座標値を利用して、以下の2点
を対角頂点とする矩形枠を描画し、この中心に表示対象
の軸要素名称を表示する(1704)。 (X0,Y0),(X0+WCELL,Y1) 一方、判定ステップ1602で、より下層には軸が存在
しない場合(自分が最下層の場合)には、上記表示対象
となっている左部軸の右側に表示すべきレコードデータ
を表示する(1107)。本処理は関数”レコード値表
示(X0+WCELL,Y0)"を呼び出すことで実現
する。これは図11のフローチャートにも出現している
ステップである。詳しい処理手順は後で説明する。本関
数はリターン値として表示したレコードデータの最大レ
コード数を返すので、これをプログラム変数MAXRE
CORDSに代入する。その後、本MAXRECORD
Sの値を利用して、以下の2点を対角頂点とする矩形枠
を描画し、この中心に表示対象の軸要素名称を表示する
(1706)。
【0054】(X0,Y0),(X0+WCELL,Y
1) ただし、Y1 ← Y0+HCELL*MAXRECOR
DS その後、左部軸データ820の「要素データ」[LEV
EL]825が指し示す軸要素データ830の要素名称
[MEMBER+1]が”0”か否かを判定して隣に要
素があるかどうかを調べる(1708)。もし”0”で
隣に要素が存在しないのであれば、左部軸検索データ8
60から設定データを消去し(1710)、プログラム
変数Y1を本関数のリターン値として返す(171
1)。これは上記表示対象の要素の並びで末尾要素の最
も下の座標値を意味する。
【0055】また、判定ステップ1708で隣に要素が
まだある場合は、この隣の要素を対象するように引数を
設定して、自分自身の関数を再帰的に呼び出し(110
6)、ステップ1711へ進む。ここで、ステップ17
04および1706において要素名称を表示するとき、
対象としている軸が「データ」軸である場合には、図5
2の要素名位置データ870に対して、表示した要素名
称および表示矩形座標位置の値をそれぞれ「要素名」8
71、「X1」872、「Y3」873、「X2」87
4、「Y2」875に代入していく。これは後で、利用
者がマウスを用いて画面を指示した際に、指示した場所
がデータ軸のどの要素であるかを識別するために利用す
る。以上でステップ1106の説明を終わる。
【0056】ステップ1107の関数”レコード値表示
()”の詳細な処理手順を図19のフローチャートに従
って説明する。まず引き数を受け取る(1901)。レ
コード値を表示する左上角の座標値のX軸、Y軸をプロ
グラム変数X0、Y0に代入する。次に、上部軸検索デ
ータ850を初期化する(1902)。図8における
「軸名称」[1]851および「要素名称」[1]に
”0”を代入することで初期化する。
【0057】次に、プログラム変数MM1911に”
1”を代入する(1903)。本変数MMは、表示した
レコード数の最大値を保持するための変数であり、初期
値として”1”を設定している。次に、プログラム変数
NN1912に”0”を代入する(1904)。本変数
NNは左部軸の要素を固定して、順次上部軸の要素を右
から左へ進めるためのカウント数を示す。この初期値
に”0”を設定する。そして、プログラム変数XXおよ
びYY1913にステップ1901で受け取ったX0、
Y0の値を代入する(1905)。X0、Y0はこれか
ら表示すべきレコード値の左上座標を保持するためのも
のである。
【0058】その後、関数”上部軸順次検索(1,
1)”を実行する(1906)。このとき引数として渡
す値は上部軸の軸番号および軸要素番号である。ここで
は”1,1”であるので、図5の例では、231の部分
にあたる。また、プログラム変数XX、YY1913に
は、ポイント511の座標値が設定されているので、関
数1906の呼び出しで順次上部軸要素を右へシフトし
ながら、横方向にレコード値の表示をする。そして、そ
の中で表示したレコード数の最大値が変数MM1911
に、上部軸の最下層の要素の表示個数が変数NN191
2に設定される。この変数MM1911およびNN19
12の値を参照して、レコード値表示域の枠線を描画す
る(1907)。これについては後で説明する。そし
て、変数MM1911の値を本関数1107のリターン
値として返す(1908)。
【0059】では、関数”上部軸順次検索()”190
6の詳しい処理手順について図20のフローチャートに
従い説明する。まず引数を受け取る(2001)。第1
引数を変数LEVELに、第2引数を変数MEMBER
に代入する。次に、上部検索データ850にLEVE
L、MEMBERに応じた軸名称および軸要素名称を設
定する(2002)。
【0060】本設定は、図18−b)に示す処理手順で
行なう。上部軸データ810の軸名称[LEVEL]8
13に格納された値を上部軸検索データ850の軸名称
[LEVEL]851に設定し(1821)、上部軸デ
ータ810の要素データ[LEVEL]815の指し示
す軸要素データ830の要素名称[MEMBER]の値
を上部軸検索データ850の要素名称[LEVEL]8
52に設定する(1822)。
【0061】図20に戻り説明する。上部軸データ81
0の軸名称[LEVEL+1]813に”0”が代入さ
れているかどうかを調べる(2003)。もし”0”で
ある場合(上記軸が最下層の場合)は、上部軸検索デー
タ850および左部軸検索データ860に設定されてい
る値を参照してリレーショナル形式の表データ300に
対してデータ検索を行い、この結果を表示する(200
4)。本ステップについては後程説明する。その後ステ
ップ2006へ進む。
【0062】一方、上記軸よりまだ下層の軸がある場合
には、自分自身の関数”上部軸順次検索(LEVEL+
1,1)”を呼び出す(1906)。この呼出しにより、
自分より1つ下層の軸の第1要素へと表示対象を進める
ことになる。次に、上記軸の要素の隣にまだ要素がある
かどうかを調べる(2006)。これは上部軸データ8
10の要素データ[LEVEL]815が指す軸要素デ
ータ830の軸名称[MEMBER+1]832に”
0”が設定されているか否かを調べることで実現する。
もし”0”が設定されている場合(隣にはもう要素がな
い場合)には上部軸検索データ850に対して、ステッ
プ2002で設定したデータを”0”を設定してクリア
する(2008)。その後本関数1906を終了する。
【0063】一方、判定ステップ2006において隣の
要素がまだある場合には、自分自身の関数”上部軸順次
検索(LEVEL,MEMBER+1)”を再帰的に呼
び出す(1906)。これにより、自分の隣の要素へと
表示対象を進めることになる。そして、ステップ200
8へ進む。
【0064】次に、ステップ2004のレコード検索お
よび表示処理について図21のフローチャートに基づき
説明する。まず、上部検索データ850と左部検索デー
タ860に設定された値から検索条件を作成する(21
01)。例えば、図5の表示例において、501の部分
を表示するときには、上部検索データ850および左部
検索データ860は図22に示す状態になっている。ま
た、図9の例における931の部分を表示するにあたっ
ては、図23に示す状態になっている。検索条件の作成
方法は、両者に設定された各行を全てAND条件で結合
すればよい。ただし、軸名称が”データ”のものに関し
ては、条件から除き、別途、プログラム変数FieldName
に設定する。従って、図22の場合の検索条件式は、”
性別=女性かつ年度=94かつ支店=大阪”であり、Fiel
dNameは”氏名”となる。また、図23の場合には検索
条件式は無しであり、FieldNameは”年度”となる。
【0065】次にこの条件式に該当するレコードをリレ
ーショナル形式の表データ300より求め、該当するレ
コード番号の並びを変数RecListに代入する(210
2)。条件式に該当するレコードの求め方は、リレーシ
ョナル形式の表データ300の1レコードを順次取り出
し、これが条件式に該当するかどうかを判定することで
実現できる。ただし、条件式が無い場合には、総てのレ
コード番号をもつ配列をRecListに代入する。次に、変
数RecListに格納された要素数をカウントし、この個数
をプログラム変数Maxに代入する(2103)。
【0066】さらに、生成した条件式および該当するレ
コード番号群を図8のレコード分類データ840に設定
する(2104)。この結果、レコード分類データ84
0は、例えば、図24に示すような値が設定される。次
に、変数Maxが変数MM1911より大きいか否かを
判定し(2105)。もし大きいならば、Maxの値を
MMへ代入する。これによりMMには常に最新の最大レ
コード数が保持される。
【0067】次に、レコード値を表示する関数”レコー
ド値表示(RecList,FieldName,XX+WCELL*N
N,YY)”を呼び出す(2107)。このとき渡す引
数は、第1引数が、値を持ってくるレコード番号のリス
ト、第2引数が値をもってくるフィールド名称、第3引
数が表示場所の左上角のX座標値、第4引数が表示場所
の左上角のY座標値となる。その後、変数NN1912
をインクリメントして(2108)、本ステップ200
4を終了する。なお、判定処理2105でMaxが変数
MM以下の場合には、ステップ2106を飛ばしてステ
ップ2107へ進む。
【0068】では、ステップ2107の関数”レコード
値表示()”の処理手順について図25のフローチャー
トに従い説明する。まず、引数を受け取る(250
1)。第1引数から第4引数までを、それぞれプログラ
ム変数RecList,FieldName,X0,Y0へ代入する。次
に、プログラム変数iに”1”を代入する(250
2)。この変数iはRecListに格納されたレコード番号
を順次取り出すときの何番目かを示す番号を格納する。
そして、RecList[i]のデータが”0”であるかを判
定し(2503)、”0”の場合(もう該当レコードが
無い場合)には、本ステップ2107を終了する。”
0”でない場合は、RecList[i]に格納されたレコー
ド番号を変数RecNoに代入し(2504)、リレーショ
ナル形式の表データ300のレコード番号310がRecN
oであり、フィールド名がFieldNameの箇所のデータを持
ってきて変数Dataに代入する(2505)。そして
このDataの値を次の2点を対角頂点とする矩形の中
に表示する(2506)。
【0069】(X0,Y0+HCELL*(i−1)), (X0+WCELL,Y0+HCELL*i) データ値表示の後は、プログラム変数iをインクリメン
トして(2507)、ステップ2503へ戻る。以上こ
こまでの説明で図19におけるステップ1906の説明
が完了した。
【0070】次に、ステップ1907のレコード値表示
域の枠線描画の処理手順を図26のフローチャートに従
い説明する。まず、プログラム変数iに”1”を設定す
る(2601)。そしてiの値が変数NN以下かどうか
を判定する(2602)、NNより大きい場合には、本
ステップ1907を終了する。NN以下の場合には、以
下の2点を対角頂点とする矩形枠を描画する(260
3)。
【0071】(X0+WCELL*(i−1),Y0) (X0+WCELL*i,Y0+HCELL*MM) その後、変数 i をインクリメントして(2604)、
ステップ2602へ戻り右横の矩形枠を描きにいく。本
ステップ1907により、左部軸のある要素の横1列の
レコード値表示域の矩形枠がNN個描画される。これま
での説明により、図1のステップ101の説明が完了し
た。実際にステップ101では、表示されるデータは図
9の例にあるように、多次元の軸を有すものではない
が、表データのステップ1008は利用者との対話にお
いて、軸構造等が変わる度に呼び出されるステップであ
るので、軸が階層的になった例を引用しながら説明し
た。
【0072】図1に戻り説明を続ける。リレーショナル
形式の表データの表示をした後は、利用者がマウス60
5を用いて入力する情報を受け取る(102)。この入
力情報は画面座標値である。この座標値より利用者が指
示した場所に何が置かれているかを識別し、指示した場
所が「終了」ボタン910かどうかを調べる(10
3)。もし「終了」ボタン910なら処理を終了する。
「終了」ボタン910以外なら、次にデータ軸の要素で
あるかを判定する(104)。この判定は、図52の要
素名位置データ870を利用して行なう。
【0073】マウスの指示座標が「X1」872、「Y
1」873、「X2」874、「Y2」875の値を配
列番号[1]から順次取り出して、2頂点(X1,Y
1)、(X2,Y2)を対角頂点にする矩形内にマウス
の指示座標が入っているかを調べ、もし入っていたな
ら、その時の要素名称871を取得して操作対象データ
700に格納する。さらに、701にはデータ軸要素が
選択されたことを示すために”データ軸要素”を代入す
る(108)。その後ステップ102へ戻り再びマウス
605からの入力を受け付ける。また、要素名位置デー
タ870の終端の配列番号までのデータに該当するもの
がなければ、さらに指示したマウス座標が軸名称である
かを判定する(105)。
【0074】本判定処理は上部軸データ810および左
部軸データ820に格納されたデータを順次調べること
で実現する。「X1」816、「Y1」817、「X
2」818、「Y2」819の値を1行目位から順次取
り出して、2頂点(X1,Y1)、(X2,Y2)を対
角頂点にする矩形内にマウスの指示座標が入っているか
を調べ、もし入っていれば、そのときの軸名称813を
取得して操作対象データ700に格納し(109)、7
01には上部軸または左部軸を示すために、810に該
当する軸がある場合には”上部軸”820に該当するテ
ーブルがある場合には”左部軸”を代入する。そして7
02には該当軸の階層レベル811または821に格納
された数値を代入する(109)。その後ステップ10
2へ戻る。
【0075】また、該当するデータがない場合には、左
部軸データ820の「X1」826、「Y1」827、
「X2」828、「Y2」829の値を配列番号[1]か
ら順次取り出して、同様の処理をおこなう。上部軸デー
タ810にも左部軸データ820にもどちらにも該当す
るデータがない場合には、ステップ106へ進む。ステ
ップ106では、マウスの指示場所がコマンドボタン
「軸化」901であり、かつ操作対象データ700に格
納されている名称は、”データ”軸の要素名称であるか
どうかを判定する(106)。もしそうなら操作対象デ
ータに格納した要素名称を軸に変更する(110)。そ
の後、表データを表示し(1008)、ステップ102
へ戻る。
【0076】また、判定処理106へが成立しなかった
場合は、マウスの指示場所がコマンドボタン「非軸化」
902であり、操作対象データ700に格納されている
名称が、既に軸化されている軸名であるかどうかを調べ
る(107)、もしそうなら、今度は、この操作対象デ
ータ700に格納した軸名称を軸からデータ軸の要素へ
戻る処理を実行する(111)、その後、表データを表
示しなおし、ステップ102へ戻る。
【0077】上記ステップ110の軸化処理について、
図27のフローチャートに従い説明する。まず操作対象
データ700に格納された値を取得して変数FieldName
に設定する(2701)。プログラム変数iに”1”に
設定し(2702)、上部軸データ810の軸名称
[i]813に設定されている値が”0”か否かを調べ
る(2703)。もし”0”なら軸名称はもう終わりと
なり、ステップ2707に進む。もし”0”でない場合
には、上部軸データ810の軸名称[i]813に設定
されている値が”データ”であるかどうかを調べる(2
704)。もし”データ”なら、要素データ[i]の指
す軸要素データ830をアクセスして(2705)、さ
らにステップ2717に進む。もし”データ”でないな
ら、プログラム変数iをインクリメントして(270
6)、ステップ2703に戻り次の軸について調べる。
【0078】上部軸中に”データ”軸がない場合は、左
部軸中にあるかどうかを調べにいく。まず、プログラム
変数iに”1”を代入して(2707)、左部軸データ
820の軸名称[i]823に設定されている値が”0”
か否かを調べる(2708)。もし”0”なら軸名称が
これ以上ないことになり、上部軸にも左部軸にも”デー
タ”軸は存在しなかったことになり、処理を終了する。
もし”0”でない場合は、左部軸データ820の軸名称
[i]823に設定されている値が”データ”であるか
どうかを調べる(2709)。もし”データ”なら、要
素データ[i]の指す軸要素データ830をアクセスし
て(2711)、さらにステップ2701に進む。も
し”データ”でないなら、プログラム変数 iをインク
リメントして(2710)、ステップ2708に戻り次
の軸について調べる。
【0079】”データ”軸が見つかった後は、ステップ
2705またはステップ2711でアクセスした軸要素
データ830の要素名称832を順次調べて、変数Fiel
dNameに一致する値をもつ箇所を取り除く(271
2)、このとき、取り除いたデータより下方のデータを
上方向に詰めるように順次下の要素名称832を上へシ
フトする。その後、”データ”軸が左部軸にあるかどう
かを判定し(2713)、もしそうなら、変数FieldNam
eに格納されている値を上部軸データの最下層に設定す
る(2714)。データ軸が左部軸にない場合(上部軸
にある場合)は、変数FieldNameに格納されている値を
左部軸データの最下層に設定する(2715)。
【0080】その後、軸要素データ830を新たに1つ
確保し、ステップ2714または2715で設定した最
下層の要素データ815または825からこの確保した
領域を指すように設定する(2716)。次に、リレー
ショナル形式の表データ300のフィールド名称が、変
数FieldNameの値と一致するフィールドに対して、デー
タを解析し、ユニークな値を求め、軸要素データ830
に設定する(2717)。
【0081】ステップ2717のフィールドを解析して
軸要素データに要素を設定する処理手順について、図2
8のフローチャートに基づき説明する。リレーショナル
形式の表データ300のフィールド名称が変数FieldNam
eに一致するフィールドをアクセス対象とする(280
1)。そしてプログラム変数iに”1”を設定し(28
02)、リレーショナル形式の表データ300のレコー
ド番号310のi番目が”0”かどうかを調べ(280
3)、”0”なら(レコードデータが終了)本ステップ
2717を終了する。”0”でなければ、アクセスフィ
ールドのi番目のレコード値を取得し、これを変数Valu
eへ設定する(2804)。
【0082】次に、変数Valueがステップ2716でリ
ンクした軸要素データ830の要素名称832中に存在
するか否かを調べる(2805)。もし存在すれば変数
iをインクリメントし(2807)、ステップ2803
へ戻り次のレコードを対象に処理を進める。一方、ステ
ップ2805でValueが軸要素データ830中に存在し
ない場合には、Valueを軸要素データ830に追加する
(2806)。追加方法は、要素名称832が”0”で
ある箇所を要素番号”1”から順次探していき、”0”
であるところにValueを設定し、次の要素番号の要素名
称832に新たに”0”を代入することで実現する。こ
れに軸化の対象にフィールドが持つユニークな値が軸要
素として求められる。以上でステップ110の軸化処理
について説明を終わる。
【0083】次に、図1におけるステップ111の非軸
化処理について図29のフローチャートに基づき説明す
る。非軸化とは、図5において軸化されている、例えば
「年度」201を軸から”データ”軸204の軸要素に
戻す処理のことである。まず、操作対象データ700に
設定されている値をプログラム変数AxisNameに代入する
(2901)。
【0084】次に、プログラム変数iに”1”を代入し
(2902)、上部軸データ810の軸名称[i]813
が”0”であるかを調べる(2903)。もし”0”な
ら左部軸データを対象とするステップ2908へ進
む。”0”でなければ、上部軸データ810の軸名称
[i]813の値がAxisNameと同値でないかを調べる(2
904)。もし同じでないなら、変数iをインクリメン
トし(2907)、ステップ2903へ戻る。同値の場
合は要素データ[i]815の指す軸要素データ830
の領域をフリー(システム資源として使えるようにシス
テム側に返すこと)して(2905)、上部軸データ8
10のi行目を削除して、i行目以降のデータを上方向
に順次詰めていく(2906)。その後ステップ291
4へ進む。
【0085】一方、上部軸中に非軸化対象に指定した軸
がない場合は、プログラム変数iに”1”を代入し(2
908)、さらに左部軸データ820の軸名称[i]82
3が”0”であるかを調べる。もし”0”ならステップ
111非軸化処理を終了する。”0”でない場合は、Ax
isNameと等しい値かを調べ(2910)、もし等しくな
ければ変数iをインクリメントして(2911)、ステ
ップ2909へ戻る。等しい場合は、要素データ[i]
825が指す軸要素データ830をフリーにして(29
21)、左部軸データ820のi行目を削除し、i行目
以降のデータを上方向へ順次詰めていく(2903)。
その後、”データ”軸の軸要素にAxisNameを追加する
(2914)。
【0086】この軸の追加手順を図30のフローチャー
トに従い説明する。まず変数iに”1”を代入する(3
001)。次に、上部軸データ810の軸名称[i]8
13が”0”であるかを調べる(3002)。もし”
0”であれば、左部軸データに”データ”軸を見つけに
いく。”0”でない場合は、軸名称[i]813が”デ
ータ”であるか調べ(3003)、もし”データ”でな
ければ変数iをインクリメントし(3005)、ステッ
プ3002へ戻る。”データ”の場合には、要素データ
[i]815が指す軸要素データ830をアクセスし、
ステップ3011へ進む。”データ”が上部軸に存在し
ない場合は、変数 i に”1”を設定して(300
6)、左部軸データ820の軸名称[i]823が”
0”であるかを調べる(3007)。”0”であれば本
ステップ2914を終了する。また”0”でなけれ
ば,”データ”と等しいかを調べ(3008)、等しく
なければ変数iをインクリメントし(3009)、ステ
ップ3007へ戻る。
【0087】”データ”と等しい場合は要素データ
[i]825が指す軸要素データ830をアクセスし
(3010)、この軸要素名称832の末尾に”0”が
設定されている箇所へ変数AxisNameを設定する(301
1)。その後、設定した軸要素の次の要素番号の箇所に
新たに”0”を代入する(3012)。
【0088】以上説明してきた実施例により、例えば、
図31、図53に示すような多次元構造をもつ表データ
への変換処理が柔軟に行なえる。ここに示した例はディ
スプレイ606上の表データ表示域920に表示される
ものである。まず、3001に示すようにまだ軸化され
ていない表データに対して、利用者がマウス605を用
いて、データ軸の要素「支店」3111を指示し、その
後マウス605でコマンドボタン「軸化」901を指示
すると3102に示した表データになる。さらに利用者
は3102のデータ軸の要素「年度」3112をマウス
605で指示し、その後マウス605でコマンドボタン
「軸化」901を指示すると、表データは3103に変
化する。さらに利用者が3103のデータ軸の要素「性
別」3113をマウス605を用いて指示し、その後コ
マンドボタン「軸化」をマウス605で指示すると、3
104に示した表データに変換する。
【0089】このように、従来リレーショナル形式の表
データであったものを、利用者は簡単な操作で多次元構
造の表に変換できる。そして、逆に軸化されたフィール
ドを指定して、コマンドボタン「非軸化」902を指示
することで、軸化したデータをデータ軸の要素に戻すこ
とができるので、利用者は試行錯誤的に表データの構造
を変化させることができる。
【0090】では、次に表データの軸の移動について説
明する。軸の移動とは、例えば、図53における表デー
タ3104では、軸は左部軸に「支店」、「年度」、
「性別」とあるが、この順序を入れ替えたり、左部軸か
ら上部軸に移動するといった機能である。
【0091】軸移動についての処理手順は図1のフロー
チャートには記載していないが、図1のフローチャート
に対して若干の追加修正をすることで実現できる。マウ
スによって指示入力した領域が軸名称であった場合、す
なわちステップ105が成立した場合に、図32に示す
処理を追加することで実現する。追加する処理手順を説
明する。
【0092】利用者がマウス605を用いて指示した領
域が軸名称であった場合には、マウス605のボタンが
押されたままで移動しているかを調べ(3201)、も
し押されたままでなければ、従来通り操作対象データ7
00に指示した場所の軸名称を格納して(108)、ス
テップ102へ戻る。もしマウスボタンが押されたまま
でマウス移動がされている場合は、軸名称表示を表示し
ている矩形枠を表示しマウスの移動に合わせて、この枠
を移動する(3202)。この様子を図33に示した。
軸名称「支店」をマウスボタンを押したまま移動する
と、矩形枠3301も移動する。
【0093】次に、マウスボタンがリリースされた時点
での矩形枠3301の中心座標3302を取得し、プロ
グラム変数X,Yに設定する(3203)。その後、こ
のX,Yの座標値を引数として、軸移動処理を行なう関
数”軸移動(X,Y)”を起動する。この関数のリター
ン値をプログラム変数Resultに代入する(3204)。
リターン値には、軸移動を正常に行ったか、あるいは、
軸移動をする必要がなかったかを示す値が返ってくるの
で、このResultが”NG”であるかを調べ、もし”N
G”で軸移動をする必要がなかった場合には、ステップ
102へ戻る。一方、軸移動を正常に行った場合には、
表データの表示処理を実行し(1008)、ステップ1
02へ戻る。
【0094】ステップ3204の関数”軸化処理()”に
ついて図33のフローチャートに従い説明する。まず引
数を受取り、変数X,Yに設定する(3401)。上部
軸の軸個数、および左部軸の軸個数をそれぞれ変数M,
Nに設定する。ただし、軸個数が”0”個のときは”
1”を設定する(3402)。次に、Yの座標が軸移動
有効範囲内にあるかどうかを調べるために、以下の条件
式を判定する(3403)。 Y < −HCELL or Y > HCELL*
(M+1) 本条件が成立した場合は、有効範囲外であるので、関数
のリターン値として”NG”を返す(3412)。一
方、条件が成立しない場合には、Xの座標が軸移動有効
範囲内にあるかどうかを調べるために、以下の条件式を
判定する(3404)。 X < −WCELL or X > WCELL*N
+ 2*MCELL 本条件が成立した場合は、有効範囲外であるので、関数
のリターン値として”NG”を返す(3412)。一
方、条件が成立したない場合には、Y が HCELL*
M の値より小さいかを判定する(3405)。もし小
さければ、移動先は上部軸ということになり、移動先の
階層レベルLを求める(3406)。Lを求める式は次
の通りである。 L ← 整数化(Y/HCELL+1.5) ここで関数”整数化”は数値の小数点以下を切り捨て、
整数にするものである。その後、移動元の軸データを取
得し、上部軸データ810の階層レベルLの行に挿入複
写する(3408)。一方、ステップ3405で条件が
成立しない場合は、移動先は左部軸ということになり、
移動先の階層レベルLを求める(3407)。Lを求め
る式は次の通りである。 L ← 整数化((X−MCELL)/WCELL+1.
5) その後、移動元の軸データを取得し、左部軸データ82
0の階層レベルLの行に挿入する(3409)。その
後、移動先が上部軸または左部軸のどちらの場合も、移
動元の軸データを、操作対象データ701および702
に格納された値から特定して、該当する階層の軸データ
を消去し、その消去した部分を詰めるように消去した行
以降のデータを1行上方へシフトする(3410)。そ
の後、関数のリターン値として”OK”を返す(341
1)。以上説明した軸移動処理により、利用者は、軸名
称部分をマウス605を用いて軸名称表示部の任意の場
所に移動することで、軸のレベルの入れ替えや左部軸か
ら上部軸への移動を簡単なマウス操作で行なえる。
【0095】例えば、図35に示した表データ3104
に対して、軸名称「支店」3501を、マウス605を
用いて3502まで移動して、マウスをリリースする
と、左部軸にある「支店」を上部軸の一番上へ移動する
ことになり、その結果、表データ3503に変化する。
さらに、表データ3503の軸名称「性別」3504を
マウスを用いて3505まで移動して、マウスをリリー
スすると、左部軸にある「性別」を上部軸の一番上へ移
動することになり、その結果、図54に示す表データ3
506に変化する。さらに、表データ3506に対し
て、軸名称「データ」3507を、マウス605を用い
て3508へ移動し、マウス605のボタンをリリース
すると、表データは3509に変化する。
【0096】次に、軸化した表データに対して、平均値
や合計値等の集計計算を適用して、表データに集計結果
を表示する手順について説明する。集計計算には2種類
あり、図5に示すように、軸内のレコード値に対し
て、”合計”、”平均”を表示するものと、図36に示
すように軸の要素として集計計算を表示するものがあ
る。左部軸の「年度」軸の要素に「平均」3601と
「個数」3602が追加されている。
【0097】これら集計機能は、これまで説明してきた
実施例を追加修正することで実現する。まず、図9に示
した画面表示例のコマンドボタン領域910に、図37
に示すように、2つのコマンドボタン「集計要素」37
01、「軸内集計」3708を追加する。次に、図1の
フローチャートの判定ステップ107において、条件が
成立しなかった場合の処理として、図38に示す処理手
順を追加する。マウス605で指示した領域がコマンド
ボタン「集計要素」3701で、かつ操作対象データ7
00に格納されている値が軸名称であるかどうかを調べ
(3801)、もしそうなら、集計種別メニュー画面の
表示処理を行なう(3803)。この詳細手順を図41
のフローチャートに従い説明する。
【0098】まず、操作対象データ700に格納されて
いる軸名称を取り出し、これを変数AxisNameに代入する
(4101)。次に、要素集計データ3900から、変
数AxisNameと一致する「軸名称」3901を持つ行を全
て探し、このときの「集計種別」3902を取得する
(4102)。なお、要素集計データ3900の初期値
は軸名称[1]に”0”が設定された状態とする。次
に、集計種別設定画面4200を表示する(410
3)。画面表示例を図42に示す。次に集計種別設定画
面4200の集計対象軸名称表示域4201へ変数Axis
Nameの値を表示する(4104)。次に、ステップ41
02で取得した集計種別を調べ、対応する集計種別のO
N/OFFボタンを設定する(4105)。例えば、図
39に示すように軸名称”年度”に対して、”平均”
と”個数”が設定されているなら、図42に示すよう
に”平均”と”個数”のON/OFFボタンがON状態
になる。
【0099】図38に戻り、集計種別設定画面表示処理
終了後は、この画面に対する入力処理を行なう(380
4)。この手順を図43のフローチャートに従い説明す
る。まず、マウス605を用いて画面の指示入力を行な
う(4301)。指示した領域が集計種別のON/OF
Fボタン(4202〜4206のいずれか)であるかを
判定し(4302)、もしそうなら集計種別を特定し、
現在のモードがOFFならONに、ONならOFFに切
り替え(4303)、ステップ4301へ戻る。指示領
域が集計種別のON/OFFボタンでない場合は、指示
領域は「終了」ボタン4207であるかを判定し(43
04)、もしそうなら要素集計データ3900を更新す
る(4305)。
【0100】更新方法は、まず、要素集計データ390
0から、ステップ4101で設定した変数AxisNameの値
と一致する「軸名称」3901をもつ行データを全て削
除し、その後、集計種別ON/OFFボタンの状態がO
Nである集計種別を全て要素集計データ3900に追加
することで実現する。次に、軸要素データ830を更新
する(4306)。
【0101】軸要素データ830の更新手順は以下に示
す通りである。まず、変数AxisNameの値から上部軸デー
タ810および左部軸データ820中のどの軸かを特定
し、さらに特定した軸の軸要素データ830をアクセス
し、集計計算用の要素(”合計”、”平均”、”最
大”、”最小”、”個数”の文字列を要素名称832に
持つもの)を有する行を全て削除する。その後、集計種
別ON/OFFボタンの状態がONである集計種別の文
字列(”合計”、”平均”、”最大”、”最小”、”個
数”)を軸要素データ830に追加する。また、判定処
理4304で指示領域が「終了」ボタン4207でない
場合には、ステップ4301へ戻る。
【0102】再び図38に戻り、ステップ3804の次
に、表データの表示を行なう(3804)。この表デー
タの表示処理は、先に説明したステップ1008の表デ
ータ処理を追加修正したものである。これについては、
後で説明する。判定処理3801で条件が成立しない場
合には、指示した領域が「軸内集計」3702であるか
を判定する(3802)。「軸内集計」3702を指示
した場合には、集計種別設定画面の表示処理を行なう
(3805)。この処理手順は、まず、図44に示す集
計種別設定画面4400を表示し、軸内集計データ40
00を参照して、設定フラグ4002の状態に対応させ
て、集計種別設定画面4400の丸ボタン(4402〜
4406)の状態を設定することで実現する。次に、集
計種別選択入力処理を行なう(3806)。ステップ3
806の詳細の処理手順を図45のフローチャートに従
い説明する。
【0103】まず、マウス605を用いて画面の指示入
力を行なう(4501)。指示した領域が集計種別のO
N/OFFボタン(4402〜4406のいずれか)で
あるかを判定し(4502)、もしそうなら集計種別を
特定し、現在のモードがOFFならONに、ONならO
FFに切り替え(4303)、ステップ4501へ戻
る。指示領域が集計種別のON/OFFボタンでない場
合は、指示領域は「終了」ボタン4507であるかを判
定し(4504)、もしそうなら軸内集計データ400
0を更新する(4505)。更新方法は、丸ボタン(4
402〜4406)のON/OFFの状態を新たに設定
フラグ4002に格納することで実現する。その後、本
ステップ3806を終了する。また、指示領域が「終
了」ボタン4407でない場合には、ステップ4501
へ戻る。なお、軸内集計データ4000の初期値は設定
フラグ4002が全て”OFF”に設定されている。
【0104】以上説明した内容により、多次元構造に変
換した表データに対して、集計計算を適用するためのデ
ータが準備できた。軸内で行なう集計計算の種別は軸内
集計データ4000に格納され、要素集計を行なうもの
は、軸要素データ830に要素名称として格納されるこ
とになる。
【0105】以下では、この集計計算用のデータを反映
させた、表データを表示処理の実施例について説明す
る。本実施例は、先に説明したステップ1008の表デ
ータ表示処理を追加集計することで実現する。
【0106】まず、要素集計のための修正について説明
する。要素集計をする軸に対しては、軸要素データ83
0に”合計”、”平均”、”最大”、”最小”、”個
数”のいずれかの要素名称が格納されているので、この
場合はレコード値そのものを表示するのでなく、検索し
たレコード群を集計計算して、この結果を表示するため
の修正が必要となる。図21のフローチャートに示した
ステップ2004を図46のフローチャートに示す処理
手順に変更する。
【0107】これまでの実施例では、ステップ2101
において、上部軸検索データ850および左部軸検索デ
ータ860に設定されている値を参照し、軸名称が”デ
ータ”の以外の行をAND条件で結合したものを検索条件
式として生成していた。その後、この検索条件式中に集
計計算用の軸要素が存在しているかどうかを判定し(4
601)、もし一つでも集計計算用の軸要素が含まれて
いれば、上部軸検索データ850、および左部軸検索デ
ータ860の要素名称852、862に設定されている
集計計算用の文字列を全て取得する(4602)。
【0108】その後、ステップ2101で生成した検索
条件から、集計計算用の軸要素に関する条件部を取り除
く新たに、検索条件を設定しなおす(4603)。例え
ば、ステップ2101で生成した検索条件が”「年度」
=平均かつ「性別」=男性かつ「支店」=大阪”の場合
は、”「性別」=男性 かつ「支店」=大阪”が新たな
検索条件となる。その後、ステップ4602で取り出し
た集計計算の文字列群から、適用する集計計算を決定す
る(4604)。これは、集計計算の要素を持つ軸が複
数存在する場合に、集計計算用の軸要素が交差するとこ
ろで、どの集計計算を実際に適用すべきかを決定するも
のである。決定規則を以下に示す。
【0109】(規則1):全て同一の集計計算種別のと
きは、上記集計計算となる。例えば、合計と合計が交差
する場合には、合計を計算する。
【0110】(規則2):含まれる集計計算種別が、合
計とそれ以外の集計種別が1つならば、それ以外の集計
種別を計算する。例えば、合計と個数なら個数を計算
し、合計と平均なら平均を計算する。
【0111】(規則3):それ以外の組み合わせは集計
計算を行なわない。
【0112】次に、ステップ4603で生成した検索条
件に基づき、該当するレコード群を検索し、変数RecLis
tに代入する(2103)。次に、変数RecListおよびFi
eldNameとステップ4606で決定した集計計算種別に
基づき、該当するレコード値の集計計算を行なう(46
05)。その後、集計計算結果を以下の2点を対角座標
とする矩形内に表示する(4607)。 (XX+WCELL*NN,YY), (XX+WCELL*(NN+1),YY+HCEL
L) その後、本ステップ2004を終了する。判定ステップ
4601で検索条件中に集計計算用の軸要素が存在しな
い場合は、これまで通りステップ2102以降の処理へ
進む。
【0113】以上の説明した実施例により、例えば、図
54の表データ3506の軸名称「年度」3510をマ
ウス605で指示したのち、コマンドボタン「集計要
素」3701を更に指示し、集計種別設定画面4200
の平均ボタン4203と、個数ボタン4206をON状
態に設定すると、図36に示す表データ3600が表示
される。さらに、表データ3600において、軸名称
「支店」に対して”平均”を集計要素として指定する
と、図47に示す表データ4700が表示される。
【0114】次に、軸内集計に対応する表データ表示処
理の変更について説明する。軸内集計データに格納され
た設定フラグ4002がONである集計種別の計算を、
図46のレコード値表示処理ステップ2107の実行の
度に呼びだし、結果を表示する必要がある。ただし、ス
テップ2107の直後では、左部軸の要素を固定した際
の最大レコード数が未定なので、表示する横位置を揃え
ることができない。ステップ2107の直後に挿入する
処理ステップでは、集計計算結果とNNの値を対応づけ
た情報を記憶し(4708)、表示処理は、図19のレ
コード値表示域の枠線描画処理1907を修正すること
で実現する。
【0115】ステップ2107の次に追加するステップ
4708を図48に示した。具体的には、変数RecList
と変数FieldNameに基づき該当するレコード値をプログ
ラムより取り出し、これに対して集計計算を適用し、そ
の結果を軸内集計結果データ4900に格納していく。
このとき、変数NN1912が示す上部軸の軸要素個数
の値と対応させて集計結果を保存する。
【0116】軸内集計結果データ4900の構造では、
図49に示すように、集計計算する種別が4902〜4
906へ順次設定される。図49の例では、平均と個数
の軸内集計をすることを示している。これは、軸内集計
データ4000の設定フラグ4002がONであるもの
を格納することにより実現できる。そして、上部軸要素
番号4901の値が、変数NN1912 + 1である行
に、集計結果を格納していく。この場合、FieldNameで
示される集計対象フィールドが文字列データの場合に
は、データ数をカウントするための個数集計以外の集計
計算は適用できないので、そのときは、空値を設定す
る。図49の例に設定されているデータは、図5に示し
た表データ500における504の部分を表示する前の
ものである。
【0117】次に、図19のレコード値表示域の枠線描
画処理1907の修正について説明する。図19のフロ
ーチャートを図50に示すフローチャートに修正する。
【0118】まず、プログラム変数iに”1”を設定し
(2601)、変数iが変数NN1912以下の値であ
るかを判定する(2602)。もしそうでないなら、左
部軸要素を固定して行なった横一列のレコード表示処理
が完了したことになり、本ステップ1907の処理を終
了する。もしNN以下であるなら、レコード値表示領域
の矩形枠を描画し(2603)、その後プログラム変数
jに”1”を代入する(5001)。本変数jは、軸内
集計する集計計算の個数を示すものである。次に、軸内
集計結果データ4900の集計計算種別[j]の値が”
0”であるかを調べ(5002)、もしそうなら、以下
の2点を頂点として軸内集計結果表示領域の矩形枠を描
画する(5006)。
【0119】(X0+WCELL*(i−1),Y0+
HCELL*MM), (X0+WCELL*i,Y0+HCELL*(MM+
j−1)) その後、変数iをインクリメントし(2604)、ステ
ップ2602へ戻り、上部軸要素が右隣となるレコード
値について処理する。一方、”0”でなければ、軸内集
計結果データ4900の集計計算種別[j]で上部軸要素
番号4901がiである箇所のデータを取得し(500
3)、この所得した集計結果を次の2点を対角頂点とす
る矩形内に表示する(5004)。
【0120】(X0+WCELL*(i−1),Y0+
HCELL*(MM+j−1)), (X0+WCELL*i,Y0+HCELL*(MM+
j)) その後、変数jをインクメインとし(5005)、ステ
ップ5002へ戻り、次の集計種別に対する処理へ進
む。なお、ステップ5004で矩形枠に表示する集計デ
ータは、合計値、平均値といった数値情報に加え、集計
種別が何かを示す”合計”、”平均”といった文字列も
含まれる。
【0121】以上説明した実施例によれば、例えば、図
51に示す表データ5100に対して、コマンドボタン
「軸内集計」3702をマウス605を用いて指示し、
その後、軸内の集計種別設定画面4400に対して、平
均および個数の集計ボタン4403、4406をON状
態にするようにマウス605を用いて指示すれば、図5
に示す表データ500が表示される。このように多次元
構造で表示されたデータに対して合計や平均といった集
計計算を行い、これを多次元構造に応じた表示結果とし
て表示することが可能となる。
【0122】以上で本発明の実施例についての説明を全
て終える。本実施例によれば、リレーショナルデータベ
ースで用いられているフラットな形式の表データを画面
上に表示し、画面上でマウスを用いて任意のフィールド
を指定して、軸化処理を行い多次元構造をもつテーブル
へと変換できる。さらに、多次元構造で表示された表デ
ータの任意の軸を指定して非軸化処理を行なうことで、
元のフィールドへと戻すことができる。これにより、利
用者は試行錯誤的にデータの構造を変換し、好みの構造
をもった表データへと簡単な操作で変換できる。さら
に、多次元構造の表データの任意の次元(軸)に対して
集計計算を適用することで、多次元構造に応じた分かり
やすい集計情報を提示できるので、意思決定のための情
報加工や、見易い形式の表データ作成等の作業が簡単な
操作で行なえる。
【0123】
【発明の効果】本実施例によれば、リレーショナルデー
タベースで用いられているフラットな形式の表データを
画面上に表示し、画面上でマウスを用いて任意のフィー
ルドを指定して、軸化処理を行い多次元構造をもつテー
ブルへと変換できる。さらに、多次元構造で表示された
表データの任意の軸を指定して非軸化処理を行なうこと
で、元のフィールドへと戻すことができる。これによ
り、利用者は試行錯誤的にデータの構造を変換し、好み
の構造をもった表データへと簡単な操作で変換できる。
さらに、多次元構造の表データの任意の次元(軸)に対
して集計計算を適用することで、多次元構造に応じた分
かりやすい集計情報を提示できるので、意思決定のため
の情報加工や、見易い形式の表データ作成等の作業が簡
単な操作で行なえる。
【図面の簡単な説明】
【図1】本発明の一実施例の処理手順を示すフローチャ
ート。
【図2】従来技術における多次元構造をした表データの
説明図。
【図3】リレーショナル形式をした表データの一例を示
す説明図。
【図4】従来技術における多次元構造をした表データの
説明図。
【図5】本発明で実施する多次元構造の表データの一例
を示す説明図。
【図6】本発明を実施するハードウェア構成図。
【図7】操作対象データの説明図。
【図8】軸情報データ群の説明図。
【図9】本発明の画面表示例を示す説明図。
【図10】データ初期化および表データ表示の手順を示
すフローチャート。
【図11】表データ表示の処理手順を示すフローチャー
ト。
【図12】軸名称部表示の処理手順を示すフローチャー
ト。
【図13】軸名称部の画面表示例。
【図14】上部軸名称を表示する処理手順を示すフロー
チャート。
【図15】左部軸名称を表示する処理手順を示すフロー
チャート。
【図16】上部軸の軸要素部を表示する処理手順を示す
フローチャート。
【図17】左部軸の軸要素部及びレコード値を表示する
処理手順を示すフローチャート。
【図18】左部及び上部軸検索データへデータを設定す
る処理手順を示すフローチャート。
【図19】レコード値を表示する処理手順を示すフロー
チャート。
【図20】レコード値表示処理における横方向1列の表
示処理手順を示すフローチャート。
【図21】レコード検索および検索データの表示手順を
示すフローチャート。
【図22】上部軸検索データおよび左部軸検索データの
データ設定一例を示す説明図。
【図23】上部軸検索データおよび左部軸検索データの
データ設定一例を示す説明図。
【図24】レコード分類データの説明図。
【図25】一つの分類区画に対するレコード値表示の処
理手順を示すフローチャート。
【図26】レコード値表示域枠線の描画処理手順を示す
フローチャート。
【図27】軸化の処理手順を示すフローチャート。
【図28】軸化処理におけるフィールド値から軸要素デ
ータ作成処理手順を示すフローチャート。
【図29】非軸化の処理手順を示すフローチャート。
【図30】非軸化処理におけるデータ軸への要素追加の
処理手順を示すフローチャート。
【図31】軸化連続適用による表データの変化過程の一
例を示す説明図。
【図32】軸移動処理の処理手順を示すフローチャー
ト。
【図33】軸移動処理における画面表示例。
【図34】軸移動処理の中心処理の処理手順を示すフロ
ーチャート。
【図35】軸移動処理連続適用による表データの変化過
程の一例を示す説明図。
【図36】軸要素に集計計算を適用した場合の表データ
の画面表示例。
【図37】集計計算機能を実現する画面表示例。
【図38】集計計算を実施する処理手順を示すフローチ
ャート図。
【図39】要素集計データの説明図。
【図40】軸内集計データの説明図。
【図41】要素集計での集計種別設定画面の表示処理手
順を示すフローチャート。
【図42】要素集計での集計種別設定画面の画面表示
例。
【図43】要素集計での集計種別入力処理の処理手順を
示すフローチャート。
【図44】軸内集計での集計種別設定画面の画面表示
例。
【図45】軸内集計での集計種別入力処理の処理手順を
示すフローチャート。
【図46】要素集計に対応した表データ表示処理の処理
手順を示すフローチャート。
【図47】軸要素に集計計算を適用した場合の表データ
の画面表示例。
【図48】軸内集計処理に対応した表データ表示処理の
修正分のフローチャート。
【図49】軸内集計結果データの説明図。
【図50】軸内集計に対応したレコード値表示域枠線の
描画処理手順を示すフローチャート。
【図51】軸内集計処理前の表データの表示例。
【図52】軸情報データ群の説明図。
【図53】軸化連続適用による表データの変化過程の一
例を示す説明図。
【図54】軸移動処理連続適用による表データの変化過
程の一例を示す説明図。
【符号の説明】
300:リレーショナル形式の表データ、601:計算
機本体、602:メモリ装置、603:演算処理装置、
604:ハードディスク装置、605:マウス入力装
置、606:ディスプレイ装置、607:キーボード入
力装置、700:操作対象データ名称格納エリア、70
1:操作対象データ軸種別格納エリア、702:操作対
処データ階層レベル格納エリア、800:軸情報データ
群、810:上部軸データ、820:左部軸データ、8
30:軸要素データ、840:レコード分類データ、8
50:上部軸検索データ、860:左部軸検索データ、
870:要素名位置データ、3900:要素集計デー
タ、4000:軸内集計データ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大小田 隆 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウエア開発本部内 (72)発明者 竹山 志朗 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会 社内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】計算機装置を用いた表データ処理方法であ
    って、リレーショナル形式の表データを記憶装置に格納
    しておき、(a) 前記表データを表示装置に出力し、(b)
    入力装置より前記表示した表データのフィールドを指定
    する情報を入力し、(c) 前記指定したフィールドに属す
    るデータ値を分類する情報を前記記憶装置に記録し、
    (d) 前記記憶装置に記録した分類情報の値と対応させ
    て、前記指定したフィールド以外のフィールドに属する
    データを前記表示装置に出力することを特徴とした表デ
    ータ処理方法。
  2. 【請求項2】前記ステップ(a)から(d)までを繰返し適用
    することで、複数のフィールドについて各々のフィール
    ド値を分類する情報を前記記憶装置に記録し、この複数
    の分類情報の組み合わせで、残りのフィールドを分類し
    て出力することを特徴とする請求項1記載の表データ処
    理方法。
  3. 【請求項3】前記ステップ(a)の表データの表示は、該
    表データの総てのフィールドをある同一の第1のカテゴ
    リに属する要素として表示し、ステップ(b)において指
    定したフィールドは前記第1のカテゴリから取り除き、
    前記指定したフィールドを新たなカテゴリとし、ステッ
    プ(c)において前記記憶装置に記録した分類情報の値を
    前記新たなカテゴリの要素としてステップ(d)で表示す
    ることを特徴とする請求項1記載の表データ処理方法。
  4. 【請求項4】前記別カテゴリ化して表示した表データに
    対して、別カテゴリ化したフィールドを指定する情報を
    入力し、前記記憶装置に記録した分類情報から、前記指
    定したフィールドに関する情報を削除し、カテゴリAに
    属するフィールドに前記指定したフィールドを追加する
    ことにより、一度別カテゴリ化したフィールドを元に戻
    すことを特徴とする請求項1記載の表データ処理方法。
  5. 【請求項5】前記ステップ(d)における表示は、カテゴ
    リの名称を表データ表示部の4つ角のいずれかにまとめ
    て表示し、縦方向にカテゴリ要素がならぶ場合と横方向
    にカテゴリが並ぶ場合には斜め線を用いてカテゴリ名称
    を区分けすることを特徴とする請求項3記載の表示デー
    タ処理方法。
JP6272021A 1994-11-07 1994-11-07 表デ−タ処理方法 Pending JPH08137967A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6272021A JPH08137967A (ja) 1994-11-07 1994-11-07 表デ−タ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6272021A JPH08137967A (ja) 1994-11-07 1994-11-07 表デ−タ処理方法

Publications (1)

Publication Number Publication Date
JPH08137967A true JPH08137967A (ja) 1996-05-31

Family

ID=17508030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6272021A Pending JPH08137967A (ja) 1994-11-07 1994-11-07 表デ−タ処理方法

Country Status (1)

Country Link
JP (1) JPH08137967A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196250A (ja) * 1997-09-16 1999-04-09 Casio Comput Co Ltd データ集計表示装置及び記憶媒体
JP2002507795A (ja) * 1998-03-16 2002-03-12 マイクロソフト コーポレイション 関係型データベース・テーブルにおける構成変更方法
JP2010134721A (ja) * 2008-12-04 2010-06-17 Hitachi Information & Control Solutions Ltd 状態遷移表の表示方法及び表示装置
JP2012517649A (ja) * 2009-02-11 2012-08-02 マイクロソフト コーポレーション サマリーテーブルにおける複数の行及び列のヘッダー領域の表示
JP2013507712A (ja) * 2009-10-30 2013-03-04 ビーアイ マトリックス カンパニー リミテッド エクセル基盤の分析レポート作成システム及び方法
JP2013125039A (ja) * 2011-12-13 2013-06-24 Fujitsu Ltd 暗号処理方法、復号処理方法、装置及びプログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196250A (ja) * 1997-09-16 1999-04-09 Casio Comput Co Ltd データ集計表示装置及び記憶媒体
JP2002507795A (ja) * 1998-03-16 2002-03-12 マイクロソフト コーポレイション 関係型データベース・テーブルにおける構成変更方法
JP2010134721A (ja) * 2008-12-04 2010-06-17 Hitachi Information & Control Solutions Ltd 状態遷移表の表示方法及び表示装置
JP2012517649A (ja) * 2009-02-11 2012-08-02 マイクロソフト コーポレーション サマリーテーブルにおける複数の行及び列のヘッダー領域の表示
US9436671B2 (en) 2009-02-11 2016-09-06 Microsoft Technology Licensing, Llc Displaying multiple row and column header areas in a summary table
US10108598B2 (en) 2009-02-11 2018-10-23 Microsoft Technology Licensing, Llc Displaying multiple row and column header areas in a summary table
JP2013507712A (ja) * 2009-10-30 2013-03-04 ビーアイ マトリックス カンパニー リミテッド エクセル基盤の分析レポート作成システム及び方法
JP2013125039A (ja) * 2011-12-13 2013-06-24 Fujitsu Ltd 暗号処理方法、復号処理方法、装置及びプログラム

Similar Documents

Publication Publication Date Title
JP2710548B2 (ja) データを検索する方法およびブール代数文表現と図形表現を互いに変換する方法
JPH0683404A (ja) スケジュール表示のカストマイズ装置および方法
JPH0475170A (ja) データベース操作方法
US20080288462A1 (en) Database system and display method on information terminal
EP0697667A1 (en) Method and apparatus for displaying structures and relationships of a relational database
WO2002046921A1 (fr) Procede et dispositif pour l'analyse de sequences
JP2801459B2 (ja) オブジェクトネットワークによる言語処理システム
US8572551B2 (en) Difference log production for model merging
JP2969153B2 (ja) レコード検索方法
JPH08137967A (ja) 表デ−タ処理方法
KR20170042464A (ko) Bim 라이브러리 속성 일괄 처리 시스템
JPH08329004A (ja) アプリケーション・プログラム使用の端末操作性向上方法
JP3988900B2 (ja) 文書処理装置およびそのプログラム記憶媒体
JPH01229321A (ja) ユーザインタフェース作成装置
JPH087685B2 (ja) ル−ル動作モニタシステム
JP2645174B2 (ja) フィールド表示機能を有する電子計算機
Laurson et al. Some Box Design Issues in PWGL
JP2900504B2 (ja) 情報処理装置
JP3395372B2 (ja) 表処理装置
JPH05303519A (ja) メニューにおける動的データ登録装置
JPH01298434A (ja) プログラム発生装置
US20070100895A1 (en) Data maintenance apparatus, data maintenance method, and data maintenance system
JP3015418B2 (ja) システム開発装置
JPH0365759A (ja) 表の編集処理方式
JPH06274312A (ja) 汎用デ−タ変換装置