JP2795317B2 - 多段表処理方式 - Google Patents

多段表処理方式

Info

Publication number
JP2795317B2
JP2795317B2 JP8182774A JP18277496A JP2795317B2 JP 2795317 B2 JP2795317 B2 JP 2795317B2 JP 8182774 A JP8182774 A JP 8182774A JP 18277496 A JP18277496 A JP 18277496A JP 2795317 B2 JP2795317 B2 JP 2795317B2
Authority
JP
Japan
Prior art keywords
search
unit
index
data
item
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.)
Expired - Fee Related
Application number
JP8182774A
Other languages
English (en)
Other versions
JPH1011469A (ja
Inventor
茂 椎名
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8182774A priority Critical patent/JP2795317B2/ja
Publication of JPH1011469A publication Critical patent/JPH1011469A/ja
Application granted granted Critical
Publication of JP2795317B2 publication Critical patent/JP2795317B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、多段の表項目を持
つ二次元の表形式のデータ構造のデータに対する処理
(検索処理等)を行う多段表処理方式に関する。
【0002】
【従来の技術】情報処理システムにおいて、二次元の表
に関する処理は、表計算ソフトウェア(スプレッドシー
ト)等が用いられて実行される。このような表計算ソフ
トウェアにおいては、二次元の表における各行または各
列の表インデックスによるデータ管理だけではなく、表
項目を用いたデータ管理が行われることもある。例え
ば、特開平4−151054号公報には、X軸方向の表
項目部に対応する第1の要因インデックスと、Y軸方向
の表項目部に対応する第2の要因インデックスと、表の
セルデータ部とを用いて、列単位に集計関数を指定で
き、結果を表示する集計結果表のデータ管理の技術が、
記載されている。
【0003】ここで、表インデックスによるデータ管理
とともに表項目を用いたデータ管理が行われる表計算ソ
フトウェアでは、表項目と表インデックスとの間で、一
方から他方の検索を相互に行う必要が生じる。
【0004】なお、一般の表計算ソフトウェア(スプレ
ッドシート)では、二次元の表の各データは、X軸方向
の列番号に相当する列の表インデックスとY軸方向の行
番号に相当する行の表インデックスとからなる直交座標
で管理されている(このような各データを表セルデータ
という)。
【0005】従来の表計算ソフトウェアにおける多段表
処理方式では、二次元の表の多段の表項目が多段のツリ
ー型データ構造のみで管理されるのが一般的であった
(図10参照)。
【0006】この場合に、表インデックスから表項目を
検索するとき(検索入力が表インデックスであり検索出
力が表項目であるとき)には、多段のツリー型データ構
造の始点(ルートノード)から検索が始められ、当該ツ
リーのノードをリーフノードまでたどることによって対
応する全ての文字列のリストの検索が行われていた。そ
の際に、検索結果がメモリ上に順次追加されることによ
り、多段の各表項目の文字列を全て有する表項目(多段
表項目)がメモリ上に新規に生成されていた。
【0007】
【発明が解決しようとする課題】上述した従来の多段表
処理方式では、図10に示すように表項目部(図10で
は行表項目部)を多段のツリー型データ構造のみで実現
した場合において、任意の行の表インデックスまたは列
の表インデックスに対応する多段表項目を検索するとき
には、ツリー型データ構造のルートノードから各階層の
ノードをリーフノードまで順次たどることによって必要
な文字列を取り出し、検索結果の多段表項目を示す文字
列のリストをメモリ上に新規に生成しなければならなか
った。
【0008】そのため、そのような検索処理の実行速度
が遅くなるという問題点があった。
【0009】また、そのような検索処理を行う場合に、
検索結果の多段表項目を新規にメモリ上に生成する必要
があるので、無駄なメモリの使用が生じ、使用済みの表
項目をメモリ上から消去するためのメモリ処理等のため
に処理内容が複雑になるという問題点があった。
【0010】本発明の目的は、上述の点に鑑み、行表項
目部および列表項目部をツリー型のデータ構造とともに
配列型のデータ構造でも構成し、ツリー型データ構造に
よる検索を可能としつつ、配列型データ構造による検索
をも可能として、多段表に対する検索処理の効率化(指
定された多段表項目の高速な検索)および無駄なメモリ
の使用の回避(メモリ処理の簡略化を含む)を可能とす
る多段表処理方式を提供することにある。
【0011】
【課題を解決するための手段】本発明の多段表処理方式
は、多段の表項目を持つ表形式のデータ構造のデータに
対する検索を行う多段表処理方式において、各表項目に
関するノードを多段のツリー型データ構造で保持すると
同時に、多段の全ての表項目のデータを有する多段表項
目と表インデックスとの関係を配列型データ構造で保持
する多段表データ部と、表項目から表インデックスを検
索する場合には前記多段表データ部におけるツリー型デ
ータ構造のデータを検索し、表インデックスから表項目
を検索する場合には前記多段表データ部における配列型
データ構造のデータを検索するデータ検索部とを有す
る。
【0012】より具体的には、本発明の多段表処理方式
は、行の表項目に関して、多段表項目の各段をツリーの
深度によって表現してリーフノードに表インデックスを
有するツリー型表項目部と、各行を示す表インデックス
を配列の要素番号として各行に対する各段の表項目の文
字列の集合を配列の要素データとする配列型表項目部と
を格納する行表項目部と、列の表項目に関して、多段表
項目の各段をツリーの深度によって表現してリーフノー
ドに表インデックスを有するツリー型表項目部と、各列
を示す表インデックスを配列の要素番号として各列に対
する各段の表項目の文字列の集合を配列の要素データと
する配列型表項目部とを格納する列表項目部と、前記行
表項目部における行の表インデックスおよび前記列表項
目部における列の表インデックスによって特定される多
段表の各表セルデータを格納する表データ部と、検索入
力として表インデックスが与えられて検索出力として多
段表項目が求められた場合に、前記行表項目部および前
記列表項目部における配列型表項目部を参照して当該表
インデックスに対応する多段表項目を検索する表項目検
索部と、検索入力として多段表項目が与えられて検索出
力として表インデックスが求められた場合に、前記行表
項目部および前記列表項目部におけるツリー型表項目部
を参照して当該多段表項目に対応する表インデックスを
検索する表インデックス検索部と、検索入力として行お
よび列の表インデックスが与えられて検索出力として表
セルデータが求められた場合に、前記表データ部を参照
して当該行および列の表インデックスに対応する表セル
データを検索する表データ検索部と、与えられた検索指
示の内容に応じて前記表項目検索部,前記表インデック
ス検索部,および前記表データ検索部による検索処理の
振分けを行う入力解析部と、検索入力および検索出力を
有する検索指示を入力する入力部と、前記表項目検索
部,前記表インデックス検索部,および前記表データ検
索部による検索結果を出力する出力部とを有する。
【0013】
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
【0014】(1) 第1の実施例 図1は、本発明の多段表処理方式の第1の実施例の構成
を示すブロック図である。
【0015】本実施例の多段表処理方式は、多段表に対
する検索指示(どのような検索入力を与えどのような検
索出力を求めるかを示す指示)を入力する入力部101
と、与えられた検索指示を解析し当該検索指示に適合す
る検索部(表項目検索部103,表インデックス検索部
104,または表データ検索部105)に当該検索指示
を渡す入力解析部102と、検索入力として表インデッ
クス(行または列の表インデックス)が与えられ検索出
力として表項目が求められた場合に該当する表項目を検
索する表項目検索部103と、検索入力として表項目が
与えられ検索出力として表インデックスが求められた場
合に該当する表インデックスを検索する表インデックス
検索部104と、検索入力として行の表インデックスと
列の表インデックスとが与えられ検索出力として表セル
データが求められた場合に該当する表セルデータを検索
する表データ検索部105と、ツリー型表項目部と配列
型表項目部とによって(図3参照)行の表項目を管理す
る行表項目部106と、ツリー型表項目部と配列型表項
目部とによって列の表項目を管理する列表項目部107
と、行および列の表インデックスに対応する多段表の表
セルデータを格納する表データ部108と、検索結果
(検索出力に該当する表項目,表インデックス,または
表セルデータ)を出力する出力部109とを含んで構成
されている。なお、入力解析部102,表項目検索部1
03,表インデックス検索部104,および表データ検
索部105によってデータ検索部110が構成されてお
り、行表項目部106,列表項目部107,および表デ
ータ部108によって多段表データ部111が構成され
ている。
【0016】図2は、本実施例の多段表処理方式の処理
対象の多段表の具体例を示す図である。
【0017】図2に示す多段表は、「果実」および「野
菜」に係る段と「りんご」および「キャベツ」等に係る
段との2段からなる行の表項目と、「1994年」,
「1995年」,および「1996年」の1段の列の表
項目と、各表セルデータとから構成されている。この多
段表に関するデータが、多段表データ部111に管理・
格納されている。
【0018】表項目が多段となっている行または列につ
いては、各表インデックスに対応する表項目(「多段表
項目」に該当する)は、各段の表項目の文字列のリスト
として表現される。例えば、図2における1行目の多段
表項目、つまり表インデックスが“0”の行の多段表項
目は、「果実 りんご」という2つ文字列のリストであ
る。また、5行目の表項目、つまり表インデックスが
“4”の行の表項目は「野菜 トマト」という2つの文
字列のリストである。
【0019】ここで、多段となっていない行または列に
ついても、「多段」の段数を1と考えて同様に扱うこと
ができる。例えば、図2における1列目の表項目(段数
が1の「多段表項目」と考えられる)、つまり表インデ
ックスが“0”の列の多段表項目は、「1994年」と
いう1つの文字列のリストである。
【0020】図3は、行表項目部106の構造および具
体例を示す図である(データの内容は図2に示す多段表
に対応している)。
【0021】行表項目部106は、ツリー型表項目部
と、配列型表項目部とから構成されている。ツリー型表
項目部は、従来技術における表項目部(図10参照)と
同様の表項目部であり、各段の各表項目をノードに対応
させて管理している(表項目に対応するノードの他に最
上位のノードとしてルートノードを設定している)。配
列型表項目部は、本発明に特有の表項目部であり、表イ
ンデックスに対応する各多段表項目を一次元配列のデー
タ構造で管理している(表インデックスが配列の要素番
号となり、多段表項目を示す文字列のリストが配列の要
素データとなる)。
【0022】なお、列表項目部107についても、行表
項目部106と同様に、ツリー型表項目部と、配列型表
項目部とから構成されている。
【0023】図4は、表データ部108の構造および具
体例を示す図である(データの内容は図2に示す多段表
に対応している)。
【0024】表データ部108は、2つの方向の表イン
デックス(行の表インデックスおよび列の表インデック
ス)から各表セルデータを検索できる二次元配列のデー
タ構造となっている。
【0025】図5は、行表項目部106内のツリー型表
項目部における各ノード(ルートノードを含む)の具体
例を示す図であり、表インデックス検索部104の具体
的な処理を説明するための図である。各ノード(ノード
501〜506等)は、そのノードに対応する表項目を
示す文字列と、そのノードがリーフノードであるか否か
を“YES”/“NO”で示すリーフフラグと、そのノ
ードがリーフノードである場合に設定される表インデッ
クスと、そのノードの子ノードを指示するポインタとを
有している。
【0026】図6は、入力解析部102の処理を示す流
れ図である。この処理は、処理開始ステップ601と、
検索入力表インデックス判定ステップ602と、検索出
力表セルデータ判定ステップ603と、検索出力表項目
判定ステップ604と、表項目検索部処理ステップ60
5と、検索入力表項目判定ステップ606と、表インデ
ックス検索部処理ステップ607と、表データ検索部処
理ステップ608とからなる。
【0027】図7は、表項目検索部103の処理を示す
流れ図である。この処理は、処理開始ステップ701
と、検索入力行表インデックス判定ステップ702と、
行表項目部アクセスステップ703と、配列型データア
クセスステップ704と、表インデックス範囲内判定ス
テップ705と、多段表項目取得ステップ706と、多
段表項目出力ステップ707と、列表項目部アクセスス
テップ708と、配列型データアクセスステップ709
と、表インデックス範囲内判定ステップ710と、多段
表項目取得ステップ711と、多段表項目出力ステップ
712とからなる。
【0028】図8は、表インデックス検索部104の処
理を示す流れ図である。この処理は、処理開始ステップ
801と、検索入力行表項目判定ステップ802と、行
表項目部アクセスステップ803と、ルートノードアク
セスステップ804と、初期化処理ステップ805と、
文字列S取得ステップ806と、文字列S′取得ステッ
プ807と、S=S′判定ステップ808と、ポインタ
残存判定ステップ809と、ノードN更新ステップ81
0と、i=maxNum判定ステップ811と、カウン
タ更新ステップ812と、リーフフラグ判定ステップ8
13と、表インデックス取得ステップ814と、表イン
デックス出力ステップ815と、列表項目部アクセス処
理ステップ816とからなる。
【0029】次に、このように構成された本実施例の多
段表処理方式の動作について説明する。ここでは、以下
のA〜Fに、入力部101,データ検索部110内の各
部,および出力部109の動作を順次説明する。
【0030】A.入力部101 入力部101は、ユーザ等からの指示に基づいて、検索
指示を入力する。この検索指示の内容としては、以下の
〜に示すものがある。 検索入力として表インデックス(行または列の表イ
ンデックス)が与えられ検索出力として多段表項目が求
められる検索指示 検索入力として多段表項目が与えられ、検索出力と
して表インデックスが求められる検索指示 検索入力として行の表インデックスと列の表インデ
ックスとが与えられ、検索出力として表セルデータが求
められる検索指示
【0031】なお、多段表項目による表セルデータの検
索は、多段表項目による表インデックスの検索(上記の
参照)と、表インデックスによる表セルデータの検索
(上記の参照)とを併せて行うことによって、実現さ
れる。
【0032】B.入力解析部102 入力解析部102は、入力部101から検索指示を与え
られると処理を開始し(図6ステップ601)、与えら
れた検索指示に基づいて以下に示すような処理を行う。
【0033】当該検索指示における検索入力が表インデ
ックスであるか否かを判定する(ステップ602)。
【0034】ステップ602で「検索入力が表インデッ
クスである」と判定した場合には、検索出力が表セルデ
ータであるか否かを判定する(ステップ603)。
【0035】ステップ603で「検索出力が表セルデー
タではない」と判定した場合には、検索出力が表項目
(多段表項目)であるか否かを判定する(ステップ60
4)。
【0036】ステップ604で「検索出力が表項目であ
る」と判定した場合には、表項目検索部103に当該検
索指示とともに制御を渡す(ステップ605)。
【0037】一方、ステップ604で「検索出力が表項
目ではない」と判定した場合には、検索指示の誤りと判
断して、処理を終了する。
【0038】ステップ603で「検索出力が表セルデー
タである」と判定した場合には、表データ検索部105
に当該検索指示とともに制御を渡す(ステップ60
8)。
【0039】ステップ602で「検索入力が表インデッ
クスではない」と判定した場合には、検索入力が表項目
(多段表項目)であるか否かを判定する(ステップ60
6)。
【0040】ステップ606で「検索入力が表項目であ
る」と判定した場合には、表インデックス検索部104
に当該検索指示とともに制御を渡す(ステップ60
7)。
【0041】一方、ステップ606で「検索入力が表項
目ではない」と判定した場合には、検索指示の誤りと判
断して、処理を終了する。
【0042】C.表項目検索部103 入力解析部102から制御を渡された表項目検索部10
3は、処理を開始し(図7ステップ701)、以下に示
すような処理を行う。
【0043】検索入力が行の表インデックスであるか否
かを判定する(ステップ702)。
【0044】ステップ702で「検索入力が行の表イン
デックスである」と判定した場合には、多段表データ部
111内の行表項目部106をアクセスし(ステップ7
03)、行表項目部106内の配列型表項目部のデータ
(配列型データ)をアクセスし(ステップ704)、検
索入力の「行の表インデックス」の数値が当該配列型デ
ータの表インデックスの範囲内であるか否かを判定する
(ステップ705)。
【0045】ステップ705で「検索入力の「行の表イ
ンデックス」の数値が当該配列型データの表インデック
スの範囲内ではない」と判定した場合には、検索指示の
誤りと判断して、処理を終了する。
【0046】一方、ステップ705で「検索入力の「行
の表インデックス」の数値が当該配列型データの表イン
デックスの範囲内である」と判定した場合には、当該配
列型データから当該表インデックスに対応する多段表項
目(各段の表項目の集合)を取得する(ステップ70
6)。
【0047】さらに、ステップ706で取得した多段表
項目を検索結果として出力部109に出力する(ステッ
プ707)。
【0048】ステップ702で「検索入力が行の表イン
デックスではない」と判定した場合には、検索入力が列
の表インデックスであることを認識し、上述の行の表イ
ンデックスに対するステップ703〜ステップ707と
同様の処理を検索入力に係る列の表インデックスについ
て行う(ステップ708〜712)。
【0049】D.表インデックス検索部104 入力解析部102から制御を渡された表インデックス検
索部104は、処理を開始し(図8ステップ801)、
以下に示すような処理を行う。
【0050】検索入力が行の表項目(多段表項目)であ
るか否かを判定する(ステップ802)。
【0051】ステップ802で「検索入力が行の表項目
である」と判定した場合には、多段表データ部111内
の行表項目部106をアクセスし(ステップ803)、
行表項目部106内のツリー型表項目部のルートノード
をアクセスする(ステップ804)。すなわち、現在の
調査対象のノードであるノードNにルートノードを設定
する。
【0052】次に、以下のおよびに示すような初期
化処理を行う(ステップ805)。 検索入力の多段表項目を構成する文字列(各段の個
々の表項目の文字列)の中で上位の段から順に付けられ
た番号を示すカウンタiを初期化する。すなわち、i=
1とする。 検索入力の多段表項目を構成する文字列数を取得す
る(その文字列数をmaxNumとする)。
【0053】検索入力の多段表項目の中のi番目の文字
列を取り出す(ステップ806)。取り出した文字列を
Sとする。
【0054】現在の調査対象のノードであるノードNに
保持されているポインタ(図5参照)のうちの1つ(ま
だ調べていないポインタ)を選択し、そのポインタが示
すノード(N′とする)を取り出し、そのノードN′が
保持する文字列(S′とする)を取得する(ステップ8
07)。
【0055】文字列Sと文字列S′とを比較し、S=
S′であるか否かを判定する(ステップ808)。
【0056】ステップ808で「S=S′ではない」と
判定した場合には、ノードNにまだ調べていないポイン
タがあるか否かを判定する(ステップ809)。
【0057】ステップ809で「ノードNにまだ調べて
いないポインタがある」と判定した場合にはステップ8
07に戻り次のポインタについて処理を行い、「ノード
Nにもう調べていないポインタがない」と判定した場合
には処理を終了する。
【0058】一方、ステップ808で「S=S′であ
る」と判定した場合には、ノードN(現在の調査対象の
ノード)をそれまでのノードNからそれまでのノード
N′に変更し(ステップ810)、検索入力の多段表項
目に(i+1)番目の文字列があるか否かを判定するた
めに、i=maxNumであるか否かを判定する(ステ
ップ811)。
【0059】ステップ811で「i=maxNumでは
ない」と判定した場合には、カウンタiを1増加させ
(ステップ812)、新たなi番目の文字列(新たな文
字列S)についてステップ806以降の処理を行う。
【0060】ステップ811で「i=maxNumであ
る」と判定した場合には、ノードNのリーフフラグ(図
5参照)を調べることによって、現在のノードNがリー
フノード(末端ノード)であるか否かを判定する(ステ
ップ813)。
【0061】ステップ813で「ノードNがリーフノー
ドではない」と判定した場合には、何もせずに処理を終
了する。
【0062】一方、ステップ813で「ノードNがリー
フノードである」と判定した場合には、ノードNの表イ
ンデックス(図5参照)を取得し(ステップ814)、
ステップ814で取得した表インデックスを検索結果と
して出力部109に出力する(ステップ815)。
【0063】ステップ802で「検索入力が行の表項目
ではない」と判定した場合には、検索入力が列の表項目
であることを認識し、上述の行の表項目に対するステッ
プ803〜ステップ815と同様の処理を検索入力に係
る列の表項目について行う。すなわち、多段表データ部
111内の列表項目部107をアクセスし、該当する列
の表インデックスを出力する処理を行う(ステップ81
6)。
【0064】E.表データ検索部105 入力解析部102から制御を渡された表データ検索部1
05は、多段表データ111内の表データ部108をア
クセスし、検索入力として指定された行の表インデック
スと列の表インデックスとによって特定される表セルデ
ータを表データ部108から取得し、取得した表セルデ
ータを検索結果として出力部109に出力する。
【0065】F.出力部109 出力部109は、表項目検索部103,表インデックス
検索部104,または表データ検索部105から出力さ
れた検索結果(多段表項目,表インデックス,または表
セルデータ)を表示等の態様でユーザ等に対して出力す
る。
【0066】次に、具体的な2つの検索指示に対する本
実施例の多段表処理方式の動作について説明する。
【0067】第1に、入力部101によって、「2行目
の表項目(多段表項目)を取得せよ」という検索指示が
与えられた場合を考える。
【0068】この検索指示は、入力解析部102によっ
て解析される。この解析で、この検索指示では、検索入
力として行の表インデックスである2行目(“1”とい
う行の表インデックス)が与えられ、検索出力として多
段表項目が求められていることが分かる。したがって、
このような解析結果に基づき(ステップ602〜605
参照)、入力解析部102から表項目検索部103に制
御が渡される(ステップ606参照)。
【0069】表項目検索部103では、「検索入力が行
の表インデックスである」と判定され(ステップ702
参照)、図3に示す行表項目部106内の配列型表項目
部の配列型データがアクセスされる(ステップ703お
よび704参照)。
【0070】ここで、入力された行番号は2行目である
ので、対応する表インデックスは“1”となり、検索入
力の表インデックスが配列型表項目部の配列型データの
表インデックスの範囲(0〜5)内であることが確認さ
れる(ステップ705参照)。
【0071】したがって、検索入力の表インデックス
“1”に対応する配列型データの多段表項目、すなわち
「果実 みかん」が、行表項目部106内の配列型表項
目部より取得される(ステップ706参照)。
【0072】さらに、取得された多段表項目「果実 み
かん」が、表項目検索部103から出力部109に出力
され(ステップ707参照)、出力部109によってそ
の多段表項目を示す文字列の出力が表示等の態様で行わ
れる。
【0073】第2に、入力部101によって、「「果実
みかん」の行の表インデックスを取得せよ」という検
索指示が与えられた場合を考える。この場合の動作につ
いては、特に、図5を参照して説明する。
【0074】この検索指示は、入力解析部102によっ
て解析される。この解析で、この検索指示では、検索入
力として行の多段表項目である「果実 みかん」が与え
られ、検索出力として表インデックスが求められている
ことが分かる。したがって、このような解析結果に基づ
き(ステップ602および606参照)、入力解析部1
02から表インデックス検索部104に制御が渡される
(ステップ607参照)。
【0075】表インデックス検索部104では、検索入
力が行の表項目であることが確認され(ステップ802
参照)、行表項目部106内のツリー型表項目部のルー
トノードがアクセスされる(ステップ803および80
4参照)。
【0076】すなわち、ノードN(現在の調査対象のノ
ード)がルートノード(図5中のノード501)に設定
される(以下の等式はそのような内容を示すものとす
る)。 ノードN=ノード501
【0077】次に、以下のおよびに示すような初期
化処理が行われる(ステップ805参照)。 カウンタiが初期化され、i=1とされる。 検索入力の多段表項目の文字列数が2であるので、
maxNum=2とされる。
【0078】検索入力の多段表項目のi番目、すなわち
1番目の文字列が取り出され(ステップ806参照)、
そのような文字列がSとされる(以下の等式はそのよう
な内容を示すものとする)。 S=“果実”
【0079】現在のノードN(この時点では、ルートノ
ード)が保持しているポインタのうち1つが選択され、
そのポインタが示すノード(ノード502が該当する)
がノードN′として取り出される。 ノードN′=ノード502
【0080】その上で、ノードN′が保持している文字
列がS′として取り出される(ステップ807参照)。 S′=“果実”
【0081】文字列Sと文字列S′とが比較され、S=
S′であるので、ノードN(現在の調査対象のノード)
がそれまでのノードN(ノード501)からそれまでの
ノードN′(ノード502)に変更される(ステップ8
10参照)。 ノードN=ノード502
【0082】検索入力の多段表項目には2番目の文字列
「みかん」があるので、ステップ811における判定で
「i=maxNumではない」と判定され、カウンタi
が1増加され(ステップ812参照)、新たなi番目、
すなわち2番目の文字列について以下の〜に示すよ
うな処理が行われる(ステップ806〜810参照)。
【0083】 検索入力の多段表項目の2番目の文字
列が新たな文字列Sとして取り出される。 S=“みかん”
【0084】 ノードN(ノード502)が保持して
いるポインタが示すノード502がノードN′として取
り出される。 ノードN′=ノード503
【0085】 ノードN′が保持している文字列が
S′として取り出される。 S′=“りんご”
【0086】 検索入力の多段表項目の2番目の文字
列SとノードN′の文字列S′とが比較され、S≠S′
であるので、次のポインタが指すノード504が新たな
N′として取り出される。 ノードN′=ノード504
【0087】 ノードN′が保持している文字列が
S′として取り出される。 S′=“みかん”
【0088】 文字列Sと文字列S′とが比較され、
この場合にはS=S′であるので、ノードNがノード
N′(ノード504)に更新される。 ノードN=ノード504
【0089】次に、検索入力の多段表項目に3番目の文
字列がないことが確認され(ステップ811参照)、ノ
ードNのリーフフラグを調べることによってノードNが
リーフノードであるか否かが判定される(ステップ81
3参照)。
【0090】ここで、ノードN(ノード504)のリー
フフラグが“YES”であるので(図5参照)、ノード
Nの表インデックスの“1”が取得され(ステップ81
4参照)、その表インデックス“1”が出力部109に
出力される(ステップ815参照)。
【0091】その表インデックス“1”の外部への出力
は、出力部109によって、表示等の態様で行われる。
【0092】(2) 第2の実施例 図9は、本発明の多段表処理方式の第2の実施例の構成
を示すブロック図である。
【0093】本実施例の多段表処理方式は、図1に示さ
れた第1の実施例の構成に加え、入力部101から与え
られた条件検索指示(詳細な内容は後述する)における
検索範囲と検索条件とを認識して条件検査部113に検
索条件を与え入力解析部102に検索範囲を与える範囲
検索部112と、範囲検索部112から与えられた検索
条件に基づいて条件合致情報(詳細な内容は後述する)
の出力の是非に関する判定を行う条件検査部113とを
有している。
【0094】次に、このように構成された本実施例の多
段表処理方式の動作について説明する。ここでは、第1
の実施例の動作に対して本実施例に特有な動作について
のみ説明する。
【0095】第1の実施例における動作説明で述べたよ
うに、入力部101は、ユーザ等からの指示に基づい
て、以下の〜のいずれかの内容を有する検索指示を
入力する。 検索入力として表インデックス(行または列の表イ
ンデックス)が与えられ、検索出力として多段表項目が
求められる検索指示 検索入力として多段表項目が与えられ、検索出力と
して表インデックスが求められる検索指示 検索入力として行の表インデックスと列の表インデ
ックスとが与えられ、検索出力として表セルデータが求
められる検索指示
【0096】本実施例においては、入力部101は、上
記のの検索指示のように検索出力として多段表項目が
求められる場合に、表インデックスの検索入力の代わり
に検索範囲および検索条件を指定することができる(こ
のような検索指示を「条件検索指示」と呼ぶ)。これに
よって、ある範囲内である条件に合致する多段表項目を
柔軟かつ高速に検索したいという要請に応えることがで
きる。
【0097】ここで、検索範囲とは、検索入力の表イン
デックスの範囲を示す情報をいう。また、検索条件と
は、検索結果の多段表項目に対応する表セルデータの値
の条件を示す情報をいう。
【0098】範囲検索部112は、入力部101から与
えられた条件検索指示における検索範囲と検索条件とを
認識し、条件検査部113にその検索条件を与える。
【0099】また、範囲検索部112は、与えられた検
索範囲に基づき、その検索範囲に含まれる全ての「行の
表インデックスと列の表インデックスとの組み合わせ」
を特定する。その上で、特定された1以上の表インデッ
クスの組み合わせを検索入力として表セルデータを検索
出力とする検索指示(上記のの検索指示)を入力解析
部102に与える。
【0100】入力解析部102は、その検索指示に基づ
き、表データ検索部105に表セルデータの検索を行わ
せる。
【0101】表データ検索部105は、各検索指示に基
づく各検索結果(表セルデータ)を条件検査部113に
与える。
【0102】条件検査部113は、各検索結果が検索条
件に合致するか否かを判定し、検索条件に合致する検索
結果についてはその旨を示す情報(条件合致情報)を範
囲検索部112に与える。
【0103】範囲検索部112は、条件検査部113か
らの条件合致情報に基づき、検索条件に合致する検索結
果に係る表インデックスの組み合わせに対応する「表イ
ンデックス(行の表インデックスまたは列の表インデッ
クス)を検索入力とし多段表項目(行の多段表項目また
は列の多段表項目)を検索出力とする検索指示」(上記
のの検索指示)を入力解析部102に与える。
【0104】入力解析部102は、その検索指示に基づ
き、表項目検索部103に多段表項目の検索を行わせ
る。
【0105】表項目検索部103は、その検索指示に基
づいて行表項目部106または列表項目部107に対し
てアクセスして所望の多段表項目を取得し、その多段表
項目を検索結果として出力部109に出力する。
【0106】出力部109は、その検索結果(多段表項
目)を表示等の態様で出力する。
【0107】なお、本実施例の多段表処理方式において
も、第1の実施例の多段表処理方式と同様に、上記の
〜の検索指示に基づく検索を行うことができることは
いうまでもない(この場合には、各検索指示は範囲検索
部112を介して入力部101から入力解析部102に
与えられる)。
【0108】次に、本実施例の多段表処理方式の具体的
な動作について説明する。
【0109】ここでは、入力部101によって、「行の
表インデックスが0〜2で列の表インデックスが0の範
囲において表セルデータが40以下の行項目を求めよ」
という条件検索指示が与えられた場合を考える。なお、
処理対象の多段表の内容,行表項目部106の内容,お
よび表データ部108の内容は、第1の実施例と同様
に、図2,図3,および図4に示す内容であるものとす
る。
【0110】範囲検索部112は、検索条件である表セ
ルデータの値の条件を、「表セルデータの値≦40」と
認識し、その検索条件を条件検査部113に与える。
【0111】また、範囲検索部112は、検索範囲を、
行の表インデックスが0〜2で列の表インデックスが0
の範囲と認識し、その検索範囲に基づく検索指示(行お
よび列の表インデックスを検索入力とし表セルデータを
検索出力とする検索指示)を入力解析部102に与え
る。すなわち、その検索範囲内における行の表インデッ
クスと列の表インデックスとの組み合わせの全てに対応
する検索指示を入力解析部102に与える。全ての組み
合わせとは、この例では、表インデックスを(列の表イ
ンデックス,行の表インデックス)と表現するものとす
ると、(0,0),(0,1),および(0,2)が該
当する。
【0112】入力解析部102は、与えられた3つの検
索指示に基づいて、第1の実施例の動作説明で言及した
上記のの検索指示が与えられた場合の動作を行い、表
データ検索部105に表セルデータの検索を行わせる。
【0113】表データ検索部105は、与えられた3つ
の検索指示に基づき、多段表データ部111内の表デー
タ部108にアクセスし、該当する各表セルデータを取
得し、各表セルデータを条件検査部113に与える。
【0114】図4に示すように(0,0)に対応する表
セルデータは“100”なので、条件検査部113での
条件検査では表セルデータの値(100)>40となり
検索条件に反する。
【0115】したがって、この表インデックスの組み合
わせ(0,0)に関しては、条件検査部113から範囲
検索部112への条件合致情報の付与は行われず、出力
部109には何も出力されない。
【0116】また、(0,1)に対応する表セルデータ
は“20”なので、条件検査部113での条件検査では
表セルデータの値(20)≦40となり検索条件に合致
する。
【0117】したがって、(0,1)という表インデッ
クスの組み合わせに関しては、条件検査部113から範
囲検索部112に条件合致情報が与えられる。
【0118】範囲検索部112は、その条件合致情報に
基づき、入力解析部102に「行の表インデックス
“1”の行の多段表項目を求めよ」という検索指示を与
える。
【0119】この検索指示に基づく検索処理は、入力解
析部102から制御を渡された表項目検索部103によ
って第1の実施例における検索処理と同様に実行され、
行表項目部106内の配列型表項目部(図3参照)か
ら、対応する多段表項目「果実みかん」が取得され、そ
の多段表項目が出力部109に出力される。
【0120】さらに、(0,2)に対応する表セルデー
タは“120”なので、条件検査部113での条件検査
では表セルデータの値(120)>40となり検索条件
に反する。
【0121】したがって、この表インタフェースの組み
合わせ(0,2)に関しては、条件検査部113から範
囲検索部112への条件合致情報の付与は行われず、出
力部109には何も出力されない。
【0122】以上の一連の処理によって、出力部109
に出力された検索結果に基づき、出力部109は多段表
項目「果実 みかん」を表示等の態様でユーザ等に対し
て出力する。
【0123】上述した第2の実施例では、検索範囲や検
索条件の指定に基づき、所定の条件に合致する表セルデ
ータに関する所定の範囲の多段表項目を高速に取得する
ことができる。このため、多段表を用いたデータ検索を
より高速に行うことができるようになる。
【0124】
【発明の効果】以上説明したように、本発明によると、
以下に示すような効果が生じる。
【0125】第1の効果は、表インデックスに対応した
多段表項目を検索する場合に、高速に処理を行うことが
できるという効果である。
【0126】このような効果が生じる理由は、行表項目
部および列表項目部にツリー型表項目部とともに配列型
表項目部を設け、配列型表項目部から表インデックスに
対応した多段表項目を直接的に(ツリーをたどることな
く)検索できるためである。
【0127】第2の効果は、表インデックスに対応した
多段表項目を検索する場合に、多段表項目をメモリ上に
新規に生成することなく処理を行うことができ、無駄な
メモリの使用を回避でき、複雑なメモリ処理を行う必要
がなくなり検索処理を簡略化することができるという効
果である。
【0128】このような効果が生じる理由は、行表項目
部および列表項目部内の配列型表項目部の中にすでに各
段の全ての表項目の文字列のリストを保持しているた
め、表インデックスに対応した多段表項目をメモリ上に
新規に生成することなく上記の検索を行うことが可能と
なるためである。
【図面の簡単な説明】
【図1】本発明の多段表処理方式の第1の実施例の構成
を示すブロック図である。
【図2】図1および図9に示す多段表処理方式における
処理対象の多段表の一例を示す図である。
【図3】図1および図9中の行表項目部内のデータの一
例を示す図である。
【図4】図1および図9中の表データ部内のデータの一
例を示す図である。
【図5】図3中のツリー型表項目部内のデータの一例を
示す図である。
【図6】図1および図9中の入力解析部の処理を示す流
れ図である。
【図7】図1および図9中の表項目検索部の処理を示す
流れ図である。
【図8】図1および図9中の表インデックス検索部の処
理を示す流れ図である
【図9】本発明の多段表処理方式の第2の実施例の構成
を示すブロック図である。
【図10】従来の多段表処理方式を説明するための図で
ある。
【符号の説明】
101 入力部 102 入力解析部 103 表項目検索部 104 表インデックス検索部 105 表データ検索部 106 行表項目部 107 列表項目部 108 表データ部 109 出力部 110 データ検索部 111 多段表データ部 112 範囲検索部 113 条件検査部 501〜506 ノード

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 多段の表項目を持つ表形式のデータ構造
    のデータに対する検索を行う多段表処理方式において、 各表項目に関するノードを多段のツリー型データ構造で
    保持すると同時に、多段の全ての表項目のデータを有す
    る多段表項目と表インデックスとの関係を配列型データ
    構造で保持する多段表データ部と、 表項目から表インデックスを検索する場合には前記多段
    表データ部におけるツリー型データ構造のデータを検索
    し、表インデックスから表項目を検索する場合には前記
    多段表データ部における配列型データ構造のデータを検
    索するデータ検索部とを有することを特徴とする多段表
    処理方式。
  2. 【請求項2】 行の表項目に関して、多段表項目の各段
    をツリーの深度によって表現してリーフノードに表イン
    デックスを有するツリー型表項目部と、各行を示す表イ
    ンデックスを配列の要素番号として各行に対する各段の
    表項目の文字列の集合を配列の要素データとする配列型
    表項目部とを格納する行表項目部と、 列の表項目に関して、多段表項目の各段をツリーの深度
    によって表現してリーフノードに表インデックスを有す
    るツリー型表項目部と、各列を示す表インデックスを配
    列の要素番号として各列に対する各段の表項目の文字列
    の集合を配列の要素データとする配列型表項目部とを格
    納する列表項目部と、 前記行表項目部における行の表インデックスおよび前記
    列表項目部における列の表インデックスによって特定さ
    れる多段表の各表セルデータを格納する表データ部と、 検索入力として表インデックスが与えられて検索出力と
    して多段表項目が求められた場合に、前記行表項目部お
    よび前記列表項目部における配列型表項目部を参照して
    当該表インデックスに対応する多段表項目を検索する表
    項目検索部と、 検索入力として多段表項目が与えられて検索出力として
    表インデックスが求められた場合に、前記行表項目部お
    よび前記列表項目部におけるツリー型表項目部を参照し
    て当該多段表項目に対応する表インデックスを検索する
    表インデックス検索部と、 検索入力として行および列の表インデックスが与えられ
    て検索出力として表セルデータが求められた場合に、前
    記表データ部を参照して当該行および列の表インデック
    スに対応する表セルデータを検索する表データ検索部
    と、 与えられた検索指示の内容に応じて前記表項目検索部,
    前記表インデックス検索部,および前記表データ検索部
    による検索処理の振分けを行う入力解析部と、 検索入力および検索出力を有する検索指示を入力する入
    力部と、 前記表項目検索部,前記表インデックス検索部,および
    前記表データ検索部による検索結果を出力する出力部と
    を有することを特徴とする多段表処理方式。
  3. 【請求項3】 検索範囲,検索条件,および検索出力を
    有する条件検索指示を入力する入力部と、 前記入力部により入力された条件検索指示中の検索範囲
    に含まれる行の表インデックスおよび列の表インデック
    スの組み合わせに基づく「表インデックスを検索入力と
    し表セルデータを検索出力とする検索指示」を入力解析
    部に与え、前記入力部により入力された条件検索指示中
    の検索条件を条件検査部に与え、前記条件検査部からの
    条件合致情報に基づき「検索条件に合致した表インデッ
    クスを検索入力とし多段表項目を検索出力とする検索指
    示」を入力解析部に与える範囲検索部と、 当該「表インデックスを検索入力とし表セルデータを検
    索出力とする検索指示」に基づく表データ検索部による
    検索で取得された表セルデータが前記範囲検索部から与
    えられた検索条件に合致するか否かを判定し、合致する
    場合にはその旨を示す条件合致情報を前記範囲検索部に
    与える前記条件検査部と、 当該「検索条件に合致した表インデックスを検索入力と
    し多段表項目を検索出力とする検索指示」に基づく表項
    目検索部による検索で取得された多段表項目を示す検索
    結果を出力する出力部とを有することを特徴とする請求
    項2記載の多段表処理方式。
JP8182774A 1996-06-24 1996-06-24 多段表処理方式 Expired - Fee Related JP2795317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8182774A JP2795317B2 (ja) 1996-06-24 1996-06-24 多段表処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8182774A JP2795317B2 (ja) 1996-06-24 1996-06-24 多段表処理方式

Publications (2)

Publication Number Publication Date
JPH1011469A JPH1011469A (ja) 1998-01-16
JP2795317B2 true JP2795317B2 (ja) 1998-09-10

Family

ID=16124190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8182774A Expired - Fee Related JP2795317B2 (ja) 1996-06-24 1996-06-24 多段表処理方式

Country Status (1)

Country Link
JP (1) JP2795317B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306377A (ja) * 2000-04-20 2001-11-02 Natl Inst Of Advanced Industrial Science & Technology Meti 物性データベースシステム
JP4215425B2 (ja) 2001-11-21 2009-01-28 日本電気株式会社 文章管理システム、その管理方法及びそのプログラム
JP4005108B2 (ja) * 2006-09-26 2007-11-07 富士通株式会社 表示制御プログラムおよび記録媒体
JP6269884B1 (ja) * 2017-05-19 2018-01-31 学校法人神奈川大学 情報検索装置、検索用プログラム、データベースの更新装置、データベース更新用プログラム
WO2018212106A1 (ja) * 2017-05-19 2018-11-22 学校法人神奈川大学 情報検索装置、検索用プログラム、データベースの更新方法、データベースの更新装置、データベース更新用プログラム
KR102058124B1 (ko) * 2019-01-25 2019-12-23 (주)비아이매트릭스 피벗 테이블 구조의 olap 결과를 이용한 딥러닝 예측 데이터 반영 시스템

Also Published As

Publication number Publication date
JPH1011469A (ja) 1998-01-16

Similar Documents

Publication Publication Date Title
US8046368B2 (en) Document retrieval system and document retrieval method
US5524240A (en) Method and apparatus for storage and retrieval of handwritten information
US6826566B2 (en) Identifier vocabulary data access method and system
JP5187313B2 (ja) 文書重要度算出システム、文書重要度算出方法およびプログラム
WO1999046698A1 (fr) Processeur de documents et support d'enregistrement
JP2020135891A (ja) 検索提案を提供する方法、装置、機器及び媒体
US20090024616A1 (en) Content retrieving device and retrieving method
TWI674511B (zh) 商品資訊顯示系統、商品資訊顯示方法、及程式產品
JP2000200281A (ja) 情報検索装置および情報検索方法ならびに情報検索プログラムを記録した記録媒体
JP2795317B2 (ja) 多段表処理方式
US10394870B2 (en) Search method
JP6549173B2 (ja) 計算機システム及び文章データの検索方法
JP2012141681A (ja) クエリセグメント位置決定装置
CN111177236B (zh) 基于医养照护场景的量表生成方法、系统、设备及介质
US11822530B2 (en) Augmentation to the succinct trie for multi-segment keys
KR101985014B1 (ko) 탐색적 데이터 시각화 시스템 및 그 방법
JP5505207B2 (ja) 情報検索装置、情報検索方法及び情報検索プログラム
WO2013069149A1 (ja) データ検索装置、データの検索方法及びプログラム
JP5417359B2 (ja) 文書評価支援システム、及び文書評価支援方法
JP4189251B2 (ja) キーワード解析方法及びそれに使用するプログラム
JP2007179505A (ja) 検索装置、検索システム、検索方法、検索プログラムおよび記録媒体
JPH0535798A (ja) データベース検索装置
JP2000090110A (ja) 全文検索方法、装置、および全文検索プログラムを記録した記録媒体
US7165067B1 (en) Method, system, and program for character set matching
JPH08235221A (ja) インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080626

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090626

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100626

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100626

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110626

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110626

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees