(57)【要約】【課題】クエリ定義情報と検索用データを二重持ちせずに二重持ちした場合と同等の性能でフリーキーワードでのクエリ定義情報の検索を可能とする。【解決手段】設計部１１がクエリ定義情報を生成し、分割部１２がクエリ定義情報に含まれる文字列を抽出して文字列情報２１とし、文字列を抽出した箇所に、文字列ＩＤを文字列の代わりにセットし、文字列ＩＤがセットされたクエリ定義情報を文字列以外のクエリ定義情報２２とし、キーワード検索部１５が、ユーザからクエリ定義情報の検索のための検索キーワード３を取得し、当該検索キーワード３に合致する文字列情報２１を検索することで、フリーキーワードでのクエリ定義情報の検索が可能となる。マージ部１３は、データの集計検索のために、文字列ＩＤを文字列情報２１中の対応する文字列で置換し、文字列以外のクエリ定義情報２２と文字列情報２１とマージしてクエリ定義情報を再現する。【選択図】図１
2008262324.tif 000002
【特許請求の範囲】
【請求項１】
複数の項目を有する項目情報の項目ごとに、抽出対象の文字列が少なくとも一部に含まれる抽出対象項目、及び抽出対象の文字列が含まれない非抽出対象項目のいずれであるかを判定する項目判定部と、
前記抽出対象項目と判定された項目における抽出対象の文字列を前記項目情報から抽出し、抽出した文字列を示す文字列情報を生成するとともに、文字列抽出後の項目情報の文字列抽出箇所に、抽出された文字列を表象する文字列識別子を設定し、文字列に代えて文字列識別子が設定された抽出後項目情報を生成する文字列抽出部とを有することを特徴とする情報処理装置。
【請求項２】
前記項目判定部は、
前記抽出対象項目として、抽出対象の文字列から構成される第一の抽出対象項目、及び抽出対象の文字列が一部に含まれる第二の抽出対象項目を備え、
前記項目情報の項目ごとに、前記第一の抽出対象項目、前記第二の抽出対象項目、及び前記非抽出対象項目のいずれであるかを判定し、
前記文字列抽出部は、
前記第一の抽出対象項目と判定された項目を構成する文字列を前記項目情報から抽出し、前記第二の抽出対象項目と判定された項目における抽出対象の文字列を前記項目情報から抽出して、前記文字列情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記項目判定部は、
前記項目情報として、データベースに対する集計検索に用いられるクエリ定義情報を対象とし、
前記クエリ定義情報に含まれる項目のうち、集計検索にのみ用いられる項目を前記非抽出対象項目として判定し、集計検索の結果の表示に用いる文字列から構成される項目を前記第一の抽出対象項目として判定し、集計検索に用いる項目であってクエリ定義情報のキーワード検索に使用可能なクエリ定義情報検索文字列が含まれる項目を第二の抽出対象項目として判定し、
前記文字列抽出部は、
前記第一の抽出対象項目と判定された項目を構成する文字列を前記クエリ定義情報から抽出し、前記第二の抽出対象項目と判定された項目におけるクエリ定義情報検索文字列を前記クエリ定義情報から抽出して、前記文字列情報を生成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、更に、
前記文字列情報に示される文字列に対してキーワード検索を行って、特定のクエリ定義情報を検索するキーワード検索部を有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、更に、
前記抽出後項目情報に示される文字列識別子を前記文字列情報における対応する文字列で置換して、前記項目情報を再現するマージ部を有することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
コンピュータが、複数の項目を有する項目情報の項目ごとに、抽出対象の文字列が少なくとも一部に含まれる抽出対象項目、及び抽出対象の文字列が含まれない非抽出対象項目のいずれであるかを判定する項目判定ステップと、
コンピュータが、前記抽出対象項目と判定された項目における抽出対象の文字列を前記項目情報から抽出し、抽出した文字列を示す文字列情報を生成するとともに、文字列抽出後の項目情報の文字列抽出箇所に、抽出された文字列を表象する文字列識別子を設定し、文字列に代えて文字列識別子が設定された抽出後項目情報を生成する文字列抽出ステップとを有することを特徴とする情報処理方法。
【請求項７】
複数の項目を有する項目情報の項目ごとに、抽出対象の文字列が少なくとも一部に含まれる抽出対象項目、及び抽出対象の文字列が含まれない非抽出対象項目のいずれであるかを判定する項目判定処理と、
前記抽出対象項目と判定された項目における抽出対象の文字列を前記項目情報から抽出し、抽出した文字列を示す文字列情報を生成するとともに、文字列抽出後の項目情報の文字列抽出箇所に、抽出された文字列を表象する文字列識別子を設定し、文字列に代えて文字列識別子が設定された抽出後項目情報を生成する文字列抽出処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに蓄積されたデータに対する集計検索を行うための技術に関する。
【背景技術】
【０００２】
企業が扱うデータは近年益々大量となり、そのデータを経営に活かすためには、データベースへの蓄積後のデータ分析が必須である。
データを多角的に瞬時に集計検索して、表やグラフなどに視覚化するシステムがＯＬＡＰ（Ｏｎ−ｌｉｎｅ  Ａｎａｌｙｔｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ）であり、情報システム部門ではなく、分析結果を必要としている部門が直接システムを操作して分析を行うものである。
そのため、ＯＬＡＰツールの利用者は、データベースの集計検索及び結果表示を行うための情報（ここでは、これをクエリ定義情報と呼ぶ）を作成する設計ユーザ（情報システム部門など）と、既に作成、保存されたクエリ定義情報を利用して集計検索結果を取得する検索ユーザに分かれる。
両ユーザとも作成、保存されたクエリ定義情報を利用する場合、一覧から目的のクエリ定義情報を探すことになるが、特に、Ｗｅｂ環境で利用するＯＬＡＰツールの場合はクエリ定義情報がＷｅｂサーバ上に置かれることが多いため、ユーザが簡単にＯＳに付属の検索機能でさがすことはできない。
また、クエリ定義情報は、集計検索に必要な情報が格納されているため、通常の文書ファイルなどのように一般の検索機能を利用すると、余計なクエリ定義情報がピックアップされることもある。
そこで一般にＯＬＡＰツールでは、目的とするクエリ定義情報を一覧から見つけやすくするために、クエリ定義情報名にわかりやすい名前を付けられるように名前サイズ制限を緩くしたり、コメント付加機能を提供したりしている。
しかし、この方法は設計ユーザの技量、付加作業を必要とする。
【０００３】
例えば、特許文献１に開示の技術では、システムにおいて検索機能を提供するために、クエリ定義情報本文に対応する帳票データと、予め設定した管理データ文章構造情報に基づいて、帳票データから抽出した検索用管理データを対応付けてデータベースで管理、検索する帳票データ文書管理技術が提案されている。
また、例えば、特許文献２に開示の技術では、ユーザ端末への電子帳票提供システムで、グループやユーザごとに帳票を表示させるために、帳票ＩＤ、グループＩＤ、ユーザＩＤ、資料年月日、表示属性などが格納されたインデックスファイルを用いて帳票を検索する方法が提案されている。
【特許文献１】特開２００２−７３６３７号公報
【特許文献２】特開２００２−１０９４５６号公報  請求項４
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の、帳票と、帳票から抽出した検索用データを対応付けてデータベースで管理、検索する帳票データ文書管理技術は、検索用データを帳票とは別に二重持ちするため、管理が複雑となり、格納領域も増大するという課題があった。
【０００５】
帳票の属性をインデックスファイルに格納し検索に利用する方法は、属性によって検索ユーザに見せる帳票一覧の表示を制御することはできるが、インデックスファイルには決まりきった項目しか格納されていないため、ユーザがフリーキーワードで帳票一覧を検索することはできないという課題があった。
【０００６】
この発明は、上記のような課題を解決することを主な目的の一つとしており、クエリ定義情報と検索用データを二重持ちせずに二重持ちした場合と同等の性能でフリーキーワードでのクエリ定義情報の検索を可能とし、二重持ちしないことで管理を容易にすることを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、
複数の項目を有する項目情報の項目ごとに、抽出対象の文字列が少なくとも一部に含まれる抽出対象項目、及び抽出対象の文字列が含まれない非抽出対象項目のいずれであるかを判定する項目判定部と、
前記抽出対象項目と判定された項目における抽出対象の文字列を前記項目情報から抽出し、抽出した文字列を示す文字列情報を生成するとともに、文字列抽出後の項目情報の文字列抽出箇所に、抽出された文字列を表象する文字列識別子を設定し、文字列に代えて文字列識別子が設定された抽出後項目情報を生成する文字列抽出部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、項目情報に含まれる文字列を示す文字列情報を、項目情報とは別に持つが、抽出後項目情報には、文字列の代わりに文字列識別子が設定されているので、情報の二重持ちにならず、このため、情報の管理が容易となり、ハードウェア資源をより有効に活用できる。
また、文字列情報を項目情報から独立させて管理するので、文字列情報を用いたフリーキーワード検索により項目情報を効率的に検索することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、本実施の形態に係るＯＬＡＰツール装置１（情報処理装置）の構成例を示す図である。
図１において、ＯＬＡＰツール装置１は、データベース４に接続されている。
ＯＬＡＰツール装置１において、設計部１１は、データベース４のデータの分析方法を設計する。つまり、設計部１１は、クエリ定義情報を設計（生成）する。
情報分類部１７は、クエリ定義情報の各項目をクエリ定義情報のキーワード検索に用いる文字列を含む項目とそれ以外の項目に分類する。
分割部１２は、情報分類部１７による分類に基づき、クエリ定義情報を文字列情報２１と文字列以外のクエリ定義情報２２に分割し、所定の記憶装置（不図示）に記憶させる。分割部１２は、項目判定部及び文字列抽出部の例である。
なお、分割部１２により分割された後の文字列情報２１と文字列以外のクエリ定義情報２２は分割後クエリ定義情報２の要素となる。
マージ部１３は、文字列情報２１と文字列以外のクエリ定義情報２２からクエリ定義情報を組み立てる（クエリ定義情報を再現する）。
一覧出力部１４は、マージ部１３により組み立てられたクエリ定義情報の一覧を生成し、表示装置（不図示）に出力して、クエリ定義情報の一覧を表示させる。
キーワード検索部１５は、ユーザからクエリ定義情報を検索するための検索キーワード３を取得し、当該検索キーワード３に合致するクエリ定義情報を検索する。
集計検索部１６は、クエリ定義情報を用いてデータベースのデータを集計検索し結果表示する。
【００１０】
なお、図１はＯＬＡＰツール装置１がスタンドアロンのコンピュータに存在する形態であるが、設計部１１がＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークで接続された別のコンピュータ上に存在してもよい。
また分割後クエリ定義情報２についても、ＯＬＡＰツール装置１と同じコンピュータ上に格納してもよいし、別のコンピュータ、ストレージに格納されていてもよい。
【００１１】
また、設計部１１、情報分類部１７及び分割部１２は、クエリ定義情報を作成する設計ユーザ（情報システム部門など）が利用する機能であり、マージ部１３、一覧出力部１４、キーワード検索部１５及び集計検索部１６は、既に作成、保存されたクエリ定義情報を利用して集計検索結果を取得する検索ユーザが利用する機能である。
このため、例えば、図７に示すように、設計部１１、情報分類部１７及び分割部１２を備えるＯＬＡＰツール装置（設計ユーザ用）１００と、マージ部１３、一覧出力部１４、キーワード検索部１５及び集計検索部１６を備えるＯＬＡＰツール装置（検索ユーザ用）１０１という形に分けて、それぞれを別のコンピュータで構成し、各コンピュータをＬＡＮ等のネットワークで接続するようにしてもよい。
【００１２】
本実施の形態では、ＯＬＡＰツール装置１は、クエリ定義情報と検索用データを二重持ちせずに二重持ちした場合と同等の性能でフリーキーワードでのクエリ定義情報の検索を可能とする。
具体的には、設計部１１がクエリ定義情報を生成し、分割部１２がクエリ定義情報に含まれる文字列を取り出して文字列情報２１とするとともに、文字列を取り出した箇所に、文字列を表象する文字列ＩＤを文字列の代わりにセットし、文字列ＩＤがセットされたクエリ定義情報を文字列以外のクエリ定義情報２２とする。
また、キーワード検索部１５は、ユーザからクエリ定義情報を検索するための検索キーワード３を取得し、当該検索キーワード３に合致する文字列が含まれる文字列情報２１を検索することで、フリーキーワードでのクエリ定義情報の検索が可能となる。
また、クエリ定義情報の一覧表示を行う際や、クエリ定義情報を用いてデータベース４に対する集計検索を行う際には、マージ部１３が、文字列以外のクエリ定義情報２２の文字列ＩＤを文字列情報２１中の対応する文字列で置換し、文字列以外のクエリ定義情報２２と文字列情報２１とマージしてクエリ定義情報を再現する。
集計検索部１６は、再現されたクエリ定義情報を用いて、データベース４の集計検索を行い、集計検索結果を表示する。
【００１３】
クエリ定義情報は、例えば、図２（ａ）及び（ｂ）に示す情報である。
クエリ定義情報は、識別子の行と項目を羅列した行により構成され、項目を羅列した行は識別子により項目数や行数が異なり、内容も異なる。例えば識別子が次元軸や集計データを意味する場合、項目を羅列した行は、図２（ｂ）のようになる。図２（ｂ）の１行目は列次元の項目を展開した例であり、２行目は集計データを展開した例である。
つまり、図２（ａ）は、クエリ定義情報の全体像を示す図であり、図２（ｂ）は、図２（ａ）の内訳を示す図である。
図２（ｂ）の各項目には、データベースからデータの集計検索及び集計検索結果の表示を行うために必要なデータが示されている。
図２（ｂ）の例では、項目タイプ、データの表示名、データ型、データの長さ、データベースでの名前等が示される。
このように、クエリ定義情報には、データベースに対する集計検索を実施するための管理情報、参照情報、検索文、集計情報等が含まれる。
また、集計検索部１６は、クエリ定義情報に含まれる検索文からＳＱＬ文を作成することができ、データベース４の集計検索を実行することができる。
更に、集計検索部１６の実行結果である集計データと、クエリ定義情報内の表示用の項目とを用いて、集計検索結果を表やグラフで表示することができる。
なお、クエリ定義情報は、項目情報の例である。
【００１４】
また、図２（ｃ）及び図２（ｄ）は、分割部１２による分割後のクエリ定義情報の例を示しており、図２（ｄ）が文字列情報２１の例を示し、図２（ｃ）が文字列以外のクエリ定義情報２２の例を示す。
つまり、クエリ定義情報は、分割部１２により、図２（ｃ）の文字列以外のクエリ定義情報２２と、図２（ｄ）の文字列情報２１に分割されて保存される。
文字列情報２１は、キーワード検索部１５による検索キーワード３となり得る文字列が示される情報である。また、文字列以外のクエリ定義情報２２は、クエリ定義情報から文字列情報２１に示される文字列が抽出された後の情報である。
本実施の形態では、文字列以外のクエリ定義情報２２では、図２（ｃ）に示すように、文字列が抽出された文字列抽出箇所に、抽出された文字列を表象する文字列識別子（＜ｓｔｒ  ０＞等）が設定される。
なお、文字列以外のクエリ定義情報２２は、抽出後項目情報の例である。
【００１５】
次に、本実施の形態に係るＯＬＡＰツール装置１の動作を説明する。
【００１６】
まずＯＬＡＰツール装置１の設計部１１でクエリ定義情報を作成する流れを説明する。
ＯＬＡＰツール装置１の設計部１１をユーザが実行し、データベースのデータの分析方法を設計する。すなわち、図２（ａ）に示すようなクエリ定義情報を生成する。
設計された情報は情報分類部１７により分類し一時的に記憶させる。
【００１７】
分類について、図３を用いて説明する。
図３は、設計部１１でのクエリ定義情報の保持例を示す。
分割部１２による分割前では、クエリ定義情報では、図３に示すように項目をフラグと共に記憶させる。なお、図３は、図２（ａ）のクエリ定義情報にフラグが設定されている例である。クエリ定義情報の各項目に対するフラグの設定、すなわち、各項目の分類は、情報分類部１７が行う。
フラグ「０」が集計検索だけに必要な項目、フラグ「１」が結果表示に用いる表示項目、フラグ「２」が集計検索に必要だが検索キーワードになり得る文字列を含んだ項目である。
例えば、データベースの列のデータ型や長さは「０」、クエリ定義情報名、作成者名や管理者名、コメント、次元軸名、軸アイテム、集計データ名は「１」、ＳＱＬ文は「２」に分類される。
この分類は、「０」がそのまま文字列以外のクエリ定義情報２２として保存する項目、「１」が文字列情報２１として保存する項目、「２」がデータ中から文字列情報２１として保存する内容を切り出す項目であることを意味し、次のステップである分割処理で使われる。
設計部１１は、複数種類のクエリ定義情報を設計するが、情報分類部１７は、設計部１１において設計されたクエリ定義情報の種類に対応させて、クエリ定義情報の各項目を分類する（フラグを設定する）。
情報分類部１７は、クエリ定義情報の識別子に基づいて、クエリ定義情報の各項目を分類する（フラグを設定する）。
【００１８】
なお、クエリ定義情報の項目のうち、フラグ「０」が設定されている項目は非抽出対象項目の例であり、フラグ「１」が設定されている項目は第一の抽出対象項目の例であり、フラグ「２」が設定されている項目は第二の抽出対象項目の例である。
【００１９】
設計部１１による設計及び情報分類部１７による項目の分類が終了すると、分割部１２が呼ばれる。
分割部１２の分割処理については、図２〜４を用いて説明する。
図４は、分割部１２における分割処理（項目判定ステップ、文字列抽出ステップ）のフローチャートである。
【００２０】
まず、分割部１２は、情報分類部１７で記憶されたクエリ定義情報を取り込む（Ｓ１０）。
分割部１２は、クエリ定義情報の最初の項目から順に各項目についてＳ１１以降の処理を行う。
分割部１２は、Ｓ１１で各項目のフラグを判別する。
そして、Ｓ１１において、フラグが「０」であれば何もせず次の項目の処理に移る（Ｓ１８）。
Ｓ１１で、フラグが「１」の場合は、分割部１２は、項目に示される文字列が文字列情報２１に存在するか確認する（Ｓ１２）。これは、同じ文字列を重複して格納しないための処理である。
Ｓ１２で、項目に示される文字列が文字列情報２１に存在しなければ、当該項目の文字列を文字列情報２１に格納する（Ｓ１３）。
次に、文字列情報２１内のインデックスを文字列ＩＤとして文字列の抽出箇所にセットする（Ｓ１４）。つまり、文字列抽出箇所に、抽出した文字列を表象する文字列ＩＤ（文字列識別子）を設定する。
例えば、図２（ｂ）の二番目の項目「年」は、フラグが「１」であり、このため、文字列情報２１に格納される（図２（ｄ））。そして、文字列「年」が抽出された箇所に代わりに文字列ＩＤ＜ｓｔｒ  ０＞がセットされる（図２（ｃ））。なお、分割部１２は、文字列と文字列ＩＤとを対応付けるテーブルを用意し、文字列ＩＤをセットする度に、新たにセットした文字列ＩＤとその文字列との対応付けを当該テーブルに記録するようにしてもよいし、文字列ＩＤと文字列とを対応付けるポインタを設定してもよい。
そして、分割部１２は、次の項目の処理に移る（Ｓ１８）。
Ｓ１２からＳ１４までをまとめてＳ１００と呼ぶこととする。
【００２１】
Ｓ１１で、フラグが「２」の場合は、分割部１２は、項目中にデータベースの列名やＯＬＡＰツールでの表示名（次元軸名や集計データ名など）が含まれるかを確認する（Ｓ１５）。なお、分割部１２は、“  ”でくくられた文字列は、データベースの列名又はＯＬＡＰツールでの表示名であると判断する。
例えば、図２（ｂ）において、「ＥＸＴＲＡＣＴ（ＹＥＡＲ  ＦＲＯＭ  “ｈｉｄｕｋｅ”）」の「ｈｉｄｕｋｅ」を抽出すべき文字列として識別する。
含まれていなければ、分割部１２は、次の項目の処理に移る（Ｓ１８）。
含まれている場合は、Ｓ１００を実行する（Ｓ１６）。
つまり、上述のように、重複して同じ文字列が格納されていなければ、処理中の項目に含まれている文字列を文字列情報２１に格納し、文字列抽出箇所に、抽出した文字列を表象する文字列ＩＤを設定する。上述の「ＥＸＴＲＡＣＴ（ＹＥＡＲ  ＦＲＯＭ  “ｈｉｄｕｋｅ”）」の例では、文字列「ｈｉｄｕｋｅ」が記述されていた箇所に、代わりに文字列ＩＤ＜ｓｔｒ  １＞がセットされる。
次に、分割部１２は、データの先頭を指すポインタを進め（Ｓ１７）、項目中にデータベースの列名等が含まれなくなったら、次の項目の処理に移る（Ｓ１８）。
処理中の項目が最後の項目であれば、文字列が抽出された後のクエリ定義情報全体を文字列以外のクエリ定義情報２２として保存する（Ｓ１９）。
このようにして、文字列情報２１と文字列以外のクエリ定義情報２２が作成される。
その後、分割部１２は、生成した文字列情報２１と文字列以外のクエリ定義情報２２を対応づけて記憶装置（不図示）に記憶させる。
【００２２】
以上のように、分割部１２は、複数の項目を有するクエリ定義情報（項目情報）の項目ごとに、抽出対象の文字列が少なくとも一部に含まれる項目（抽出対象項目）、及び抽出対象の文字列が含まれない項目（非抽出対象項目）のいずれであるかを判定し、抽出対象項目と判定された項目における抽出対象の文字列をクエリ定義情報から抽出し、抽出した文字列を示す文字列情報２１を生成するとともに、文字列抽出後のクエリ定義情報の文字列抽出箇所に、抽出された文字列を表象する文字列識別子を設定し、文字列に代えて文字列識別子が設定された文字列以外のクエリ定義情報２２（抽出後項目情報）を生成する。
そして、分割部１２は、抽出対象項目として、抽出対象の文字列から構成される第一の抽出対象項目（フラグ「１」の項目）、及び抽出対象の文字列が一部に含まれる第二の抽出対象項目（フラグ「２」の項目）を備える。
分割部１２は、集計検索にのみ用いられる項目を非抽出対象項目とし、集計検索の結果の表示に用いる文字列から構成される項目を第一の抽出対象項目とし、集計検索に用いる項目であってクエリ定義情報のキーワード検索に使用可能なクエリ定義情報検索文字列が含まれる項目を第二の抽出対象項目とする。
そして、分割部１２は、クエリ定義情報の項目ごとに、第一の抽出対象項目、第二の抽出対象項目、及び非抽出対象項目のいずれであるかを判定し、第一の抽出対象項目と判定された項目を構成する文字列をクエリ定義情報から抽出し、第二の抽出対象項目と判定された項目における抽出対象の文字列をクエリ定義情報から抽出して、文字列情報２１を生成する。
【００２３】
次にＯＬＡＰツール装置１にユーザから各種操作選択をさせるためのクエリ定義情報一覧を表示する流れを説明する。まず、ユーザが一覧出力部１４を実行する。
するとマージ部１３が呼び出される。
マージ部１３のマージ処理については、図５のフローチャートを用いて説明する。
マージ部１３の呼び出し時には、どのクエリ定義情報の文字列情報２１と文字列以外のクエリ定義情報２２をマージするかを示す識別子が一覧出力部１４からマージ部１３に渡される。
マージ処理では、マージ部１３は、この識別子に対応する文字列情報２１及び文字列以外のクエリ定義情報２２を記憶装置（不図示）から入力する（Ｓ３０）。
次に、マージ部１３は、入力内容に文字列ＩＤが含まれるか確認し（Ｓ３１）、含まれる間、クエリ定義情報の文字列情報２１から文字列ＩＤに対応する文字列を入力し、文字列ＩＤを置き換える処理（Ｓ３２）を繰り返す。
このようにして、必要部分の文字列情報２１と文字列以外のクエリ定義情報２２がマージされ、クエリ定義情報が再現される。
一覧出力部１４ではマージ結果を基に、一覧を作成、表示させる。
なお、以上のマージ処理は、一覧出力においてクエリ定義情報の内容の詳細を表示する場合に必要となる処理であり、例えば、クエリ定義情報の名称を一覧表示するのみであれば、マージ処理を行わなくてもよい。
但し、データベース４に対する集計検索を行う際にはクエリ定義情報を再現する必要があるので、一覧出力時にマージ処理を行わない場合は、データベース４に対する集計検索の際に、後述するように、集計検索部１６がマージ部１３を呼び出し、マージ部１３によるマージ処理を経てクエリ定義情報を再現する。
【００２４】
また、クエリ定義情報の一覧出力時に、検索キーワード３を入力させるための検索欄を、例えばＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面上に設ける。
ユーザから入力された検索キーワード３で、キーワード検索部１５は文字列情報２１を検索する。
このキーワード検索処理を図６で説明する。
図６はキーワード検索部１５におけるキーワード検索処理のフローチャートである。
まず、キーワード検索部１５は、クエリ定義情報の文字列情報２１を入力する（Ｓ５０）。
ユーザにより入力された検索キーワード３に合致する文字列が含まれる文字列情報２１をサーチし（Ｓ５１）、あれば、文字列情報２１のファイル名を一覧出力部１４に渡すバッファにセットする（Ｓ５２）。
クエリ定義情報一覧としてサーチする対象の他のクエリ定義情報の文字列情報２１があれば（Ｓ５３）、続けて入力し（Ｓ５０）、無ければ処理を終了する。
一覧出力部１４はバッファの内容を基に、キーワード検索部１５で抽出されたクエリ定義情報の一覧を表示させる。
【００２５】
最後にデータベースのデータを集計検索する流れを説明する。
ユーザにより一覧で集計検索を操作されると、集計検索部１６が実行される。
このときもマージ部１３が呼び出され、対象の文字列情報２１と文字列以外のクエリ定義情報２２がマージされ、クエリ定義情報が再現される。
そして、集計検索部１６は、マージされたクエリ定義情報からＳＱＬ文を作成し、データベース４の集計検索を実行する。
実行結果である集計データと、クエリ定義情報から、集計検索結果を表やグラフで表示する。
【００２６】
以上のように、クエリ定義情報の検索に使用する文字列をクエリ定義情報とは別に持つが、クエリ定義情報の一部として機能させるようにしているので、情報を二重持ちしない。そのため、管理が容易となり、Ｈ／Ｗ資源をより有効に活用できる。
また、ＯＬＡＰツール装置自体がクエリ定義情報の検索機能を持ち、ユーザがフリーキーワードで検索できるようにしているので、より効率的に分析対象のクエリ定義情報を見つけやすくなる。
【００２７】
このように、本実施の形態では、データベースに蓄積されたデータの集計検索及び結果表示を行うＯＬＡＰツールにおいて、ＯＬＡＰ処理情報を格納したファイルをクエリ定義情報と呼ぶこととした場合に、
クエリ定義情報を、集計検索だけに必要な部分、結果表示に必要な部分、及び集計検索に必要だが検索キーワードになり得る文字列を含んだ部分に分類し、
分類された情報を基に、キーワード検索に用いる文字列情報とそれ以外のクエリ定義情報に分割保存し、
分割された文字列情報とそれ以外のクエリ定義情報をマージして１つのクエリ定義情報として利用するクエリ定義情報格納方法について説明した。
【００２８】
また、本実施の形態では、データベースに蓄積されたデータの集計検索及び結果表示を行うＯＬＡＰツールにおいて、ＯＬＡＰ処理情報を格納したファイルをクエリ定義情報と呼ぶこととした場合に、
クエリ定義情報を、集計検索だけに必要な部分、結果表示に必要な部分、及び集計検索に必要だが検索キーワードになり得る文字列を含んだ部分に分類する情報分類手段と、
分類された情報を基に、キーワード検索に用いる文字列情報とそれ以外のクエリ定義情報に分割保存する分割手段と、
分割された文字列情報とそれ以外のクエリ定義情報を１つのクエリ定義情報に組み立てるマージ手段とを備えるクエリ定義情報格納装置について説明した。
【００２９】
最後に実施の形態１に示したＯＬＡＰツール装置１、１００、１０１のハードウェア構成例について説明する。
図８は、実施の形態１に示すＯＬＡＰツール装置１、１００、１０１のハードウェア資源の一例を示す図である。なお、図８の構成は、あくまでもＯＬＡＰツール装置１、１００、１０１のハードウェア構成の一例を示すものであり、ＯＬＡＰツール装置１、１００、１０１のハードウェア構成は図８に記載の構成に限らず、他の構成であってもよい。
【００３０】
図８において、ＯＬＡＰツール装置１、１００、１０１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００３１】
通信ボード９１５は、ネットワークに接続可能である。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００３２】
上記プログラム群９２３には、実施の形態１の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、実施の形態１の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の設定」、「〜の更新」、「〜の検索」、「〜の集計」、「〜の抽出」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００３３】
また、実施の形態１の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態１の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００３４】
このように、実施の形態１に示すＯＬＡＰツール装置１、１００、１０１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００３５】
【図１】実施の形態１に係るＯＬＡＰツール装置の構成例を示す図。
【図２】実施の形態１に係るクエリ定義情報、文字列情報、文字列以外のクエリ定義情報の例を示す図。
【図３】実施の形態１に係る項目の分類例を示す図。
【図４】実施の形態１に係る分割処理の例を示すフローチャート図。
【図５】実施の形態１に係るマージ処理の例を示すフローチャート図。
【図６】実施の形態１に係るキーワード検索処理の例を示すフローチャート図。
【図７】実施の形態１に係るＯＬＡＰツール装置の構成例を示す図。
【図８】実施の形態１に係るＯＬＡＰツール装置のハードウェア構成例を示す図。
【符号の説明】
【００３６】
１  ＯＬＡＰツール装置、２  分割後クエリ定義情報、３  検索キーワード、４  データベース、１１  設計部、１２  分割部、１３  マージ部、１４  一覧出力部、１５  キーワード検索部、１６  集計検索部、１７  情報分類部、２１  文字列情報、２２  文字列以外のクエリ定義情報、１００  ＯＬＡＰツール装置（設計ユーザ用）、１０１  ＯＬＡＰツール装置（検索ユーザ用）。
【図１】
2008262324.tif 000003
【図２】
2008262324.tif 000004
【図３】
2008262324.tif 000005
【図４】
2008262324.tif 000006
【図５】
2008262324.tif 000007
【図６】
2008262324.tif 000008
【図７】
2008262324.tif 000009
【図８】
2008262324.tif 000010