(57)【特許請求の範囲】
【請求項１】
検索命令に応答して検索データを返す２以上のデータベース（１）をデータソースとするデータ検索装置であって、
利用者端末（２）を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造の定義情報と、前記検索要求を解析して前記データベース（１）で処理可能な物理情報で表される検索命令に変換するための仮想データ構造の定義情報と、異なる検索要求間の関連性を管理するための検索要求の定義情報と、を含むデータ辞書（１０）と、
前記データ辞書（１０）で定義された前記プレゼンテーション構造に基づいて前記利用者端末（２）を入力支援して、前記プレゼンテーション構造に基づき記述された検索要求を発行するとともに、当該検索要求を仮想データベース部（２０）で実行して取得した前記仮想データ構造に基づく検索結果を、前記利用者端末（２）に対して出力するビジネスインテリジェンス部（３０）と、
前記データ辞書（１０）で定義された前記仮想データ構造に基づいて前記検索要求を解析して検索命令を生成し、生成された検索命令を前記データベース（１）でそれぞれ実行して２以上の検索データを取得し、取得された２以上の検索データを統合加工して検索要求に対応する検索結果を作成する仮想データベース部（２０）と、
を含み、
異なる検索要求に対応して作成された複数の検索結果を、前記検索要求の定義情報により関連付ける
データ検索装置。
【請求項２】
前記仮想データベース部（２０）は、前記検索要求の定義情報において関連付けられた異なる検索要求に対応する複数の検索結果を作成した場合には、作成した複数の検索結果を自動的に関連付け、
前記ビジネスインテリジェンス部（３０）は、前記仮想データベース部（２０）が関連付けた複数の検索結果からそれぞれ複数のレポートを作成するとともに、作成した複数のレポートを自動的に関連付ける
請求項１に記載のデータ検索装置。
【請求項３】
前記ビジネスインテリジェンス部（３０）は、
前記利用者端末（２）を前記データ辞書（１０）の前記プレゼンテーション構造に基づいて支援して、前記プレゼンテーション構造に基づく検索要求を前記仮想データベース部（２０）に対して発行する検索要求発行手段（３１）と、
前記仮想データベース部（２０）から取得した検索結果をもとにレポートを作成し、前記利用者端末（２）に対して送出するレポート出力手段（３２）と、を有する
請求項１に記載のデータ検索装置。
【請求項４】
前記ビジネスインテリジェンス部（３０）は、
複数の検索要求を実行して得られた複数の検索結果から作成された複数のレポートを順次あるいは同時に表示することができ、
前記データ辞書（１０）に含まれる異なる検索要求間の関連性を管理する前記検索要求の定義情報により、複数のレポートを相互に関連付けて操作できる
請求項３に記載のデータ検索装置。
【請求項５】
前記ビジネスインテリジェンス部（３０）は、
第１の検索要求に対して第２の検索要求を関連検索として対応付けし、
前記利用者端末（２）において第１の検索要求を実行して第１の検索結果を表示し、その後、第１の検索結果に含まれるデータを選択して第２の検索要求へのリンクを指示することにより、
第１の検索要求に含まれている抽出条件の項目と条件値、および第１の検索結果の中から選択されたデータに対応する項目と表示値を第２の検索要求に引き継ぎ、
第２の検索要求の抽出条件に、第１の検索要求から引き継がれた項目と関連付けられた関連項目が存在する場合には、その関連項目の条件値を、第１の検索要求から引き継がれた条件値に置き換えて、第２の検索要求を実行して第２の検索結果を表示する
請求項４に記載のデータ検索装置。
【請求項６】
前記ビジネスインテリジェンス部（３０）は、
複数の検索結果から出力された複数のレポートを同一画面上に配置したダッシュボードを構成することができ、
ダッシュボード内の１つのレポートの検索結果に含まれるデータが選択された場合には、選択されたデータに対応する見出し項目及び表示値をダッシュボード内の他のレポートに引き継ぎ、
他のレポートの検索要求の抽出条件に引き継がれた見出し項目と関連付けられた項目が存在する場合には、その抽出条件の条件値を引き継がれた表示値に置き換えて、検索要求を実行して新たな検索結果を表示することにより、ダッシュボード内の複数のレポートを連動して操作することができる
請求項４に記載のデータ検索装置。
【請求項７】
前記ビジネスインテリジェンス部（３０）の前記レポート出力手段（３２）は、
検索要求が、分類が可能な複数の見出し項目（ディメンジョン）と、集約が可能な１以上の値項目（メジャー）を含む場合には、集約レベルが同一である見出し項目の組み合わせについて一体として集約操作を行うものであり、
前記集約レベルが２以上設定されている場合において、
ある集約レベルでの検索結果を前記利用者端末（２）に表示するときには、見出し項目については前記ある集約レベルより上位の見出し項目のみに値を表示し、値項目については前記ある集約レベルより上位の見出し項目のみで集約した集計値を表示するようにし、
前記利用者端末（２）が前記ある集約レベルの検索結果の特定のデータを選択したときには、選択した特定のデータの表示されている見出し項目と同一の見出し項目を持つ１つ下位の集約レベルの明細レコードを前記利用者端末（２）に表示する
請求項３に記載のデータ検索装置。
【請求項８】
前記ビジネスインテリジェンス部（３０）は、
前記利用者端末（２）が一度作成した検索要求を保存しておき、読み込んで再利用することができるライブラリ管理手段（３３）を有し、
ライブラリ管理手段（３３）を利用できる前記利用者端末（２）を、利用者の権限に応じて設定することにより、利用目的に応じて検索要求を共有することができる
請求項３に記載のデータ検索装置。
【請求項９】
前記ビジネスインテリジェンス部（３０）は、
検索要求に対応する検索結果を、前記利用者端末（２）の指定により、一定期間あるいは一定履歴回数、保存することができる検索履歴管理手段（３４）を有し、
前記利用者端末（２）において、ライブラリの中から検索要求を指定すると、その検索要求に対応する検索結果が一覧表示され、
その中から検索結果を指定することにより、検索結果を直接参照することができる
請求項３に記載のデータ検索装置。
【請求項１０】
前記検索要求発行手段（３１）は、
関連する複数の項目を一つの概念であらわす集合項目を扱うことができ、
前記集合項目を検索要求の抽出条件に指定する場合には、前記集合項目に含まれる前記関連する複数の項目の値を参照しつつ条件値の設定ができるとともに、
前記集合項目を検索結果の表示項目に追加する前記利用者端末（２）の入力操作により、前記集合項目に含まれる前記関連する複数の項目が自動的に検索結果の表示項目に追加される
請求項３に記載のデータ検索装置。
【請求項１１】
前記検索要求発行手段（３１）の前記集合項目は、
互いに階層関係にある１以上の項目から構成され、
前記利用者端末（２）の画面において、上位レベルの項目の値が一覧で表示されている中から１つの値を選択すると、その値に関連付けられている下位レベルの項目の値が一覧で表示され、
前記利用者端末（２）は、任意のレベルの一覧で表示された値の中から、検索の抽出条件とする値を指定することができる
請求項１０に記載のデータ検索装置。
【請求項１２】
前記仮想データベース部（２０）は、
前記検索要求を、前記データ辞書（１０）の前記仮想データ構造に基づいて解析して、前記２以上のデータベース（１）に対する検索命令を生成する検索要求翻訳手段（２１）と、
前記検索要求翻訳手段（２１）によって生成された検索命令を前記２以上のデータベース（１）のうちのいくつかに対してそれぞれ実行して２以上の検索データを取得する検索命令実行手段（２２）と、
前記検索命令実行手段（２２）によって取得された２以上の検索データを統合加工してデータ検索要求に対応する検索結果を作成するデータ統合加工手段（２３）と、を有する
請求項１に記載のデータ検索装置。
【請求項１３】
前記検索要求翻訳手段（２１）は、
前記検索要求を、前記データ辞書（１０）の前記仮想データ構造に基づいて解析して、
検索対象のデータベース上で実行可能な検索命令と、前記データ統合加工手段（２３）で実行可能な検索命令を生成し、
あるデータ統合加工手段（２３）に対する検索命令の出力を、他のデータ統合加工手段（２３）に対する検索命令の入力とすることにより、多段階にわたるデータ統合加工を行う、検索命令を生成することができる、
請求項１２に記載のデータ検索装置。
【請求項１４】
前記検索要求翻訳手段（２１）は、
検索要求に指示されている前記仮想データベース部（２０）に対する抽出条件は、前記データベース（１）に対する検索命令に変換して適用し、
検索要求で要求されている分類集計は、あらかじめ前記データベース（１）で実行し、
対象の静的な属性を管理するマスターを参照する処理は、明細データの検索段階では行わずに、データが集約された段階で実行し、
これにより、前記データベース（１）から送出されるデータ量が最小となるように検索命令を最適化する、
請求項１２に記載のデータ検索装置。
【請求項１５】
前記検索命令実行手段（２２）は、
前記データベースが検索インターフェイスとしてＳＱＬ言語をサポートする場合には、
前記データベースの物理表に対するＳＱＬによる検索命令の実行手段、
前記データベースに格納されたストアド・プロシージャを用いる検索命令の実行手段、あるいは
前記データベースのＳＱＬ言語で直接定義された検索の検索結果を検索対象として検索結果から再度検索する検索命令の実行手段、
のいずれか一つ以上の実行手段を備え、
前記データベースが検索インターフェイスとしてＳＱＬ言語をサポートしないデータベースの場合には、
当該データベースの検索インターフェイスに対応する検索命令の実行手段を備え、
前記データベースがファイルシステム上のデータファイルの場合には、
当該データファイルに対応する検索命令の実行手段を備える、
請求項１２に記載のデータ検索装置。
【請求項１６】
前記データ統合加工手段（２３）は、
前記検索命令実行手段（２２）によって取得された中間的な検索データ、あるいは他のデータ統合加工手段（２３）が出力する結果データの一つまたは複数を入力として、データ統合とデータ加工を行って、結果データを一つの表として出力することができ、
さらに結果データを他のデータ統合処理加工手段（２３）に入力として引き渡すことにより、複数段にわたるデータ統合加工の処理を行うことができる、
請求項１２に記載のデータ検索装置。
【請求項１７】
前記データ統合加工手段（２３）は、
各データベースから抽出・集計した中間データを併合した後にキーで集約する併合方式、
あるいは、検索要求の内容に応じて、複数のデータベースの検索対象候補から検索対象を自動的に選択して抽出・集計する選択方式、
あるいは、一つのデータベースから取得した中間データの各レコードに対して、あらかじめ定義された参照条件にもとづいて他のデータベースから参照データを取得し、もとの中間データに不足する項目を参照データから補完する参照方式
のいずれか一つ以上のデータ統合方式を備えており、その中から最適な方式を選択することができる
請求項１２に記載のデータ検索装置。
【請求項１８】
前記データ統合加工手段（２３）のデータ統合方式における参照方式は、
一つのデータベースから抽出・集計した中間データを基に、中間データの各レコードに対してその他のデータベースを結合条件にしたがい逐次検索して統合する逐次参照方式、
あるいは、他のデータベースから抽出・集計した中間データを、一つのデータベース管理システムに転送し、転送された中間データ同士、または中間データとデータベース管理システム内のデータをデータベース管理システムの結合機能で統合する一括結合方式、
あるいは、参照元の検索対象となるデータと参照先の検索対象となるデータを取得して、あらかじめ参照条件の条件値の順番に並び替えておき、その後参照元レコードと参照先レコードを順次１件ずつ読み込みながら参照条件の条件値を比較し、参照条件が成立するものについて統合する順次併合方式
のいずれか一つ以上の参照処理方式を備えており、その中から最適な方式を選択できる
請求項１７に記載のデータ検索装置。
【請求項１９】
前記データ統合加工手段（２３）は、
キー項目でグルーピングし属性項目の値をグループ毎に集約する分類・集約処理、項目の値に関するデータ編集処理、判定条件によるデータ抽出処理、出力順指定によるソート処理の機能を備え、
また、レコード間の関係や順序に依存する演算に対応することのできる、
請求項１２に記載のデータ検索装置。
【請求項２０】
前記データ統合加工手段（２３）は、
データ統合とデータ加工を行った結果データを、
ビジネスインテリジェンス部（３０）、
他のデータ統合処理加工手段（２３）、
データベースのテーブル、
ファイルシステムに格納されるデータファイル、または
ネットワークを介して送られるデータストリーム、
のいずれかの外部の出力先に、出力することができる、
請求項１２に記載のデータ検索装置。
【請求項２１】
前記データ統合加工手段（２３）は、
データ統合処理の結果の表データ、あるいは検索命令実行の結果として分割作成される中間的な検索データを、事前に作成して外部記憶領域に格納しておき、検索実行時には、データベースの代わりに当該外部記憶領域に格納されたデータを参照する検索データ・キャッシュを備える
請求項１２に記載のデータ検索装置。
【請求項２２】
前記データベース（１）は、
リレーショナルデータベース、オブジェクト指向データベース、ＸＭＬデータベース、ファイルシステム、ＵＲＬディレクトリ管理システム、データウェアハウス、データマートのうちの少なくとも１つを含む
請求項１に記載のデータ検索装置。
【請求項２３】
コンピュータを、検索命令に応答して検索データを返す２以上のデータベース（１）をデータソースとするデータ検索装置として機能させるプログラムであって、
前記コンピュータを、
利用者端末（２）を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造の定義情報と、前記検索要求を解析して前記データベース（１）で処理可能な物理情報で表される検索命令に変換するための仮想データ構造の定義情報と、異なる検索要求間の関連性を管理するための検索要求の定義情報と、を含むデータ辞書（１０）と、
前記データ辞書（１０）で定義された前記プレゼンテーション構造に基づいて前記利用者端末（２）を入力支援して、前記プレゼンテーション構造に基づき記述された検索要求を発行するとともに、当該検索要求を仮想データベース部（２０）で実行して取得した前記仮想データ構造に基づく検索結果を、前記利用者端末（２）に対して出力するビジネスインテリジェンス部（３０）と、
前記データ辞書（１０）で定義された前記仮想データ構造に基づいて前記検索要求を解析して検索命令を生成し、生成された検索命令を前記データベース（１）でそれぞれ実行して２以上の検索データを取得し、取得された２以上の検索データを統合加工して検索要求に対応する検索結果を作成する仮想データベース部（２０）と、を含み、
異なる検索要求に対応して作成された複数の検索結果を、前記検索要求の定義情報により関連付ける
データ検索装置として機能させるプログラム。
【請求項２４】
前記仮想データベース部（２０）は、前記検索要求の定義情報において関連付けられた異なる検索要求に対応する複数の検索結果を作成した場合には、作成した複数の検索結果を自動的に関連付け、
前記ビジネスインテリジェンス部（３０）は、前記仮想データベース部（２０）が関連付けた複数の検索結果からそれぞれ複数のレポートを作成するとともに、作成した複数のレポートを自動的に関連付ける
請求項２３に記載のプログラム。
【請求項２５】
請求項２３に記載のプログラムを格納したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータベースから汎用的にデータを検索するデータ検索装置に関する。
【背景技術】
【０００２】
＜ＢＩツール＞
ＢＩ（Business Intelligence）は、業務システムなどから蓄積される企業内の膨大なデータから、ユーザが必要なデータを自分で自在に分析して経営計画や企業戦略などの企業の意思決定に活用しようとする手法である。このために使われるＢＩツールは、システムやプログラミングの詳しい知識がない利用者でも利用できるよう、ユーザが対話的に指示を与えることができる直観的なヒューマン・インターフェイスを備えており、普段利用しているビジネス用語で検索や分析を行うことができ、その結果を多様な形式で柔軟にレポーティングできるようになっている。【０００３】
＜ＯＬＡＰ＞
ＢＩツールのデータ分析は、ＯＬＡＰ（online analytical processing）と呼ばれる多次元分析の手法を用いて行われる。
ＯＬＡＰでは、操作の対象となるデータを、複数のデータ集計項目（ディメンション）と定量的な値項目（メジャー）のセットとして定義される多次元データ構造をもつキューブとして扱う（ＣＯＤＤ：多次元的概念ビュー）。
また、データは、完全で一貫性があることが前提条件である（ＣＯＤＤ：次元の一般性、制約のない次元間の演算処理）。【０００４】
ＯＬＡＰにおいては、論理的には多次元の分析用キューブから、一般的には２次元のデータを取り出して表、グラフ、チャートなどの形式で表示し、スライシング、ダイシング、ドリルダウン／ロールアップのデータ分析操作により表示を切り替え、これを繰り返すことによりキューブの多次元的な側面の分析を行う。
・スライシング・・・多次元データの特定のメンバだけをある断面で切り取って、２次元の表にする。
・ダイシング・・・縦横の項目を入れ変えて、多次元データの全く違う面を２次元の表にする。
・ドリルダウン／ロールアップ・・・集計された結果から掘り下げて、さらに詳細な内訳データを表示する操作をドリルダウン、逆の操作をロールアップという。【０００５】
＜ＤＷＨ、ＤＭ、ＥＴＬ＞
一般に、企業などの組織では複数の業務システムが稼動しており、様々なソースにデータが分散しているため、データ分析するには、これらのデータを一旦整理統合する必要がある。
複数の業務システムから収集したデータを時系列に蓄積し、大量のデータを分析して意志決定に役立てる手法として、データウェアハウス（ＤＷＨ）がある。また、データマート（ＤＭ）は、通常データウェアハウスより小規模で、特定の題目または部門に必要なデータを集め、経営幹部がビジネスについての戦略的な決定をするのを支援する。データウェアハウス、データマートなどに蓄積されたデータから検索した検索結果を再編成し、多次元多階層のキューブとしてＯＬＡＰ分析に用いる。
業務システムで発生したデータをデータベースに収納してデータウェアハウスやデータマートを構築するために、ＥＴＬ（抽出、変換、ロード）作業が必要となる。最近では、データベースへのロード工程に必要な機能をあらかじめ備えたＥＴＬツールが使用されることが多いが、複数の異なる情報源から非同期にデータを供給されるため、一般に非常に複雑な作業となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３２１３５８５号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＢＩツールによるＯＬＡＰは、多次元データ構造をもつ単一のキューブを前提として、高度なデータ分析のため手法を提供している。
しかし、現実の世界では、完全かつ一貫性のあるデータを入手することは困難な場合も多く、またそのためのデータ整備に多大なコストがかかったり、データ整備や集計の段階で重要な情報が欠落したりしてしまう場合がある。【０００８】
＜小粒度における不整合（明細データに共通キー項目が含まれない）の例＞
図１を参照して説明する。例えば、商品別・得意先別に「売上高」が定義され、商品別・仕入先別に「仕入高」が定義されているものとする。商品については「粗利益額」を［商品別に集計した売上高−商品別に集計した仕入高］として算出することができる。さらに商品別レコードを集計することによって、全社レベル（全社レベル）の「売上高」、「仕入高」、「粗利益」をレポートする（ロールアップ）こともできる。
しかし、商品別レコードから得意先別の明細を見たいと思うと、得意先別の「仕入額」と「粗利益額」は明細レベルでは定義されていないため、同一のキューブをドリルダウンして見ることはできない。
一方で、単独の「売上高」については、得意先別・商品別を集計して全社レベルの売上高レポートすることができ、そこからは得意先別、さらに得意先別・商品別とドリルダウンすることができる。「仕入高」についても同様である。
この例の場合、「粗利益額」という値項目（メジャー）は「得意先」および「仕入先」をデータ集計項目（ディメンション）に含まない上位の粒度（階層レベル）においてのみ定義されており、「売上高」は「仕入先」を含まない全階層、「仕入高」は「得意先」を含まない全階層で定義されている。
したがって、これらの「売上高」、「仕入高」、および「粗利益額」のデータをすべて参照しようとすると、１個の分析用キューブでは不可能であり、３個のキューブを用意しておく必要がある。【０００９】
＜大粒度における不整合（集約データへの統合処理の制約・限界）の例＞
図２を参照して説明する。例えば、多国籍企業では、それぞれの国で異なる通貨で会計処理を行っているため、複数国の企業の連結を行うには、基準通貨への換算を行ってから合算をする必要がある。通貨間の為替レートは刻々と変動しているために、ある時点のレートで換算して連結ベースでの報告書作成や評価は可能である。しかし、基準通貨で合算する際には、換算前の金額や通貨などの項目は集約できないため、切り捨てられてしまう。
また、法制度やルール、システムなども、複数国の企業間で決して同じではないため、データ統合により全体をマクロに把握することはできても、集約した結果見えなくなるデータはきわめて多い。そのため、具体的なアクションをとるための分析では、連結ベースでの集約データではなく、個別の原データを見る必要がある場合が多い。【００１０】
現実の世界では不整合を含むデータが随所に存在しているが、このような不整合を含むデータを分析するためのアプローチは、以下のような理由から実現できていなかった。【００１１】
（従来のデータ統合手法（単一キューブ）の限界）
完全で一貫性のある単一のキューブであれば、上位階層のデータは下位階層のデータを集約することにより生成できるため、比較的少ない種類のデータを業務システムから収集してデータベースに保持すれば済む。このため従来は、企業の中核的なデータに範囲を限定して、業務システムから収集したデータを整形（クレンジング）して、一旦データウェアハウスやデータマートに蓄積し、ここからキューブを切り出すことにより、できる限り完全で一貫性がある多次元データモデルとして分析に提供してきた。
しかし、不整合を含むデータを分析するには、不整合のある部分を回避して、それぞれをモデル化が可能な部分に分けて、複数のキューブを構築する必要がある。このために必要なキューブの個数は、不整合を含むデータの種類や項目数により級数的に増加し、あらゆる場合に対応しようとすると理論的には膨大な個数となってしまうため、このようなケースへの対応は困難とされてきた。【００１２】
企業活動の複雑化・多様化、管理の高度化などの要因から、マネジメントの関心は特定の問題領域から企業活動全般へと拡大しており、これに伴い企業内外のあらゆるデータが分析対象となる可能性を持ってきている。
しかし、企業内のあらゆる業務システムのデータを複製して分析データとして提供することの費用対効果は、企業が保有するデータの種類や量から見ても明らかに非現実的である。
また、業務データは日々刻々と変化しているにもかかわらず、データウェアハウス更新のためのデータ複製に要するバッチ処理の時間を考えると、最新データの分析データとして提供は困難である。
さらに、そもそも独立して動作している複数の業務システムのデータを統合するには、相当なエンジニアリング作業が必要であり、統合するシステムの数が増えれば増えるほど、その労力は飛躍的に増加する。しかし、本当に統合・集約が必要とされているデータはその中の一部であり、むしろサマリーせずに業務システムデータを直接分析する方が有効な局面も多々ある。
したがって、データを一括で複製して再構築し、不整合を含まないキューブとして提供する従来のデータ統合手法は、コスト、時間、情報ロスといった面で、より高度で広範な分析を要求する企業ニーズに合わなくなってきている。全体では共通化可能な範囲で関連付けを行ってデータ統合を行い、詳細については業務システムの原データを生かして、それぞれのデータを直接分析するような、ユーザの分析ニーズの実態を踏まえた柔軟なアプローチが理想といえる。【００１３】
（単一キューブにもとづくＯＬＡＰ分析の限界）
一般のＯＬＡＰ分析では、単一のキューブを対象としては、効率よくデータ分析を行うことができる。しかし不整合を含むようなデータを互いに関連する複数のキューブとして分析する場合には、それぞれのキューブの間に深い関係性があるにもかかわらず、その関係性を管理・利用する方法がなかったため、それぞれ全く別のキューブとして扱うしかなかった。
そのため、あるキューブを分析している過程で関連する別のキューブを参照するといった場合でも、それまでの分析内容の引継ぎや関連する項目のガイダンスといったユーザサポートは提供されず、新たに別のキューブを開いて最初から処理を始めるしかなかった。【００１４】
（複数キューブに対する従来のＢＩツールの表現方法の限界）
ＢＩツールは、１つのデータから論理的に多次元の分析用キューブを構築し、そこからデータを取り出して基本的には２次元の表、グラフなどの形式で表示し、スライシング、ダイシング、ドリルダウンの分析操作により表示を切り替えて多次元的な側面の分析を行う。
しかし、不整合を含むデータを扱う場合には、複数のデータの関連する内容を包括的に把握する必要があるため、単純な２次元の表やグラフだけでは表現することが難しい。
このためには、例えば、様々な情報源から集めたデータを、グラフィカルなレポートとして同一画面上に複数配置し、多様な視点からの情報を一度に表示するダッシュボードは、かなり有効な手法である。しかし、従来のＢＩツールのダッシュボードでは、切り出した情報を静的に並べて表示することはできたが、異なるデータを対象とする複数のキューブに対して一括して同時にスライシングやドリルダウンなどを行う機能は、異なるデータ間の項目の関連性が定義できないためサポートできておらず、不整合を含むデータの多次元的な側面の分析は非常に手間がかかった。
さらに、あるレポートから関連する異なるデータを対象とするレポートへ遷移する場合には、データ間の関係性を定義する手段が提供されていないのみならず、スライシング、ダイシング、ドリルダウンといった単一キューブを前提とする単純な分析操作には当てはまらないケースも多々存在し、異なるデータ間のレポート遷移を従来のＢＩツールで実現することはきわめて困難であった。【００１５】
このため、本発明は、企業などで、複数の業務システムに分散した関連するデータを収集して分析する場合のように、単一のキューブでは対応が困難な不整合を含むデータを分析するためのデータ検索ツールを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成するために、本発明では、基本的に、
・仮想データベースの機能とＢＩツールの機能を一体のソフトウェアとして融合し、
・複数の検索間のデータ関連性を管理することのできる単一のデータ辞書で制御する、
ことにより、
・複数のデータベースからそれぞれ取得したデータを統合して検索結果を作成し、
・複数の検索結果から用途・目的に応じて複数のレポートを作成し、
・作成された複数のレポートを自動的に関連付けて操作する、
ことを特徴とするデータ検索ツールを提供する。【００１７】
＜複数のデータベースからのデータを統合する仮想データベース機能＞
従来の手法では、複数の分散した関連データを複製してデータウェアハウスなどに蓄積し、ここから分析のためのキューブを切り出す。しかし、従来の手法によると、不整合を含むデータを分析する場合には、分析するキューブが局面やパターンにより異なってくるため、蓄積する必要のあるデータの種類や量が膨大になってしまう。
これに対して、仮想データベース（ＥＩＩ（Enterprise information integration）あるいはFederated database systemとも呼ばれる）によれば、分散したデータを移動や複製をすることなく、利用者は単一の問合せで複数データベースに対する検索を行うことができる。仮想データベースは、各種の定義やルールを持つだけのあくまでも論理的なものであり、実際のデータは実行時に必要なデータだけをもとに仮想的かつリアルタイムに作られる。
したがって、仮想データベースは、無駄なデータ複製を行う必要がないため柔軟性が高く、業務データの容量の増大やデータベース数の増大に対応しやすいとともに、複数のデータウェアハウスやデータマートをまたがるようなデータ統合あるいは外部データとのデータ統合も可能となる。また、複製データを格納するためのサーバやデータベースのコストが不要となり、データ管理やデータ品質維持、システム改修・変更のための運用・保守コストを低減することができる。さらに、仮想データベースは、ＤＷＨのようなデータの再構成作業が不要で、データ生成のタイムラグがないため、リアルタイムに直近データを取得することができ、業務の最新状況を反映したレポートの作成が可能となる、といった利点がある。
仮想データベースの機能を用いることにより、業務システムなどからのデータを複製や蓄積して、恒常的に保持することなく、必要な都度データを取得して擬似的に多次元データモデルのデータを提供し、分析することができる。【００１８】
＜作成された複数のレポートを関連付けるデータ辞書機能＞
データ辞書は、仮想データ構造の定義情報と、プレゼンテーション構造の定義情報と、検索要求の定義情報を含んで構成される。仮想データ構造の定義情報は、検索対象とする複数のデータベースのそれぞれに格納されているテーブルや項目などの物理データ構造の定義情報に加えて、物理データ構造とは完全に独立して用途・目的に応じた利用者独自の視点からデータ構造を柔軟に定義し、物理データ構造を持つデータを統合・編集して要求されたデータ構造に変換するための定義を含む。プレゼンテーション構造の定義情報は、利用者を入力支援して検索要件に適合する検索要求を発行するための定義を含む。さらに、検索要求の定義情報は、異なる検索要求間の関連性を管理するためのものである。
データ辞書において、異なる検索要求間の関連性を定義し、大域的に識別可能なデータ項目の定義情報、及び複合的あるいは階層的なデータ項目の定義情報を持つことにより、仮想データ構造に基づき発行された検索要求により取得された複数の検索結果、及び検索結果から作成された複数のレポートの間で、データ項目やデータ階層の共通性・関連性の管理を行うことができるようになる。【００１９】
＜複数のレポートを関連付けて操作するＢＩ機能＞
一般のＢＩツールは、非定型検索、定型検索、レポート参照といった単一のレポートを扱う機能をもち、単一の検索結果を対象とする範囲で、スライシング、ダイシング、ドリルダウンのデータ分析操作により関連レポートへ移動することが可能である。
これに加えて、本発明では、データ辞書により複数の検索要求間の関連性を管理することができるため、仮想データベースの機能とＢＩツールの機能を一体のソフトウェアとして融合させることで、不整合を含むデータを扱うことが可能となる。このため、本発明は、異なる検索結果を対象とするレポートに対しても相互間の関連付けを行うことのできる検索リンクの機能を有するものとなり、現在のレポートの抽出条件や選択内容を引き継ぎながら関連するレポートへの移動を実現することができる。【００２０】
また、本発明によれば、複数のレポートを同一画面上に複数配置するダッシュボードにおいても、異なる検索結果を参照する複数のレポートを一括して、データ分析操作する機能を実現することができる。【００２１】
具体的に説明すると、本発明のデータ検索装置は、以下の構成を有する。【００２２】
本発明の第１の側面は、検索命令に応答して検索データを返す２以上のデータベース（１）をデータソースとするデータ検索装置である。
このデータ検索装置は、
利用者端末（２）を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造の定義情報と、前記検索要求を解析して前記データベース（１）で処理可能な物理情報で表される検索命令に変換するための仮想データ構造の定義情報と、異なる検索要求間の関連性を管理するための検索要求の定義情報と、を含むデータ辞書（１０）と、
前記データ辞書（１０）で定義された前記プレゼンテーション構造に基づいて前記利用者端末（２）を入力支援して、前記プレゼンテーション構造に基づき記述された検索要求を発行するとともに、当該検索要求を仮想データベース部（２０）で実行して取得した前記仮想データ構造に基づく検索結果を、前記利用者端末（２）に対して出力するビジネスインテリジェンス部（３０）と、
前記データ辞書（１０）で定義された前記仮想データ構造に基づいて前記検索要求を解析して検索命令を生成し、生成された検索命令を前記データベース（１）でそれぞれ実行して２以上の検索データを取得し、取得された２以上の検索データを統合加工して検索要求に対応する検索結果を作成する仮想データベース部（２０）と、を含み、
異なる検索要求に対応して作成された複数の検索結果を、前記検索要求の定義情報により関連付けることができる。【００２３】
詳しく説明すると、前記データ辞書（１０）は、
検索命令に応答して検索データを返すデータベース（１）についての物理データ構造の定義情報と、
検索要件に適合する検索要求を記述して前記データベース（１）で処理可能な物理データ構造で表される検索命令に変換するとともに、前記データベース（１）から取得された検索データに基づいて検索要求に対応する検索結果を作成するための仮想データ構造の定義情報と、
前記利用者端末（２）を入力支援して検索要件に適合する検索要求を発行するとともに、検索結果を前記利用者端末（２）に対して出力するためのプレゼンテーション構造の定義情報と、を含み、
プレゼンテーション構造の定義情報が、異なる検索要求間の関連性を管理する検索要求の定義情報を持つことが好ましい。【００２４】
前記仮想データベース部（２０）と前記ビジネスインテリジェンス部（３０）は、前記データ辞書（１０）に含まれる、異なる検索要求間の関連性を管理する検索要求の定義情報に基づく制御を行うことが好ましい。
具体的には、前記仮想データベース部（２０）は、前記検索要求の定義情報において関連付けられた異なる検索要求に対応する複数の検索結果を作成した場合には、作成した複数の検索結果を自動的に関連付け、
前記ビジネスインテリジェンス部（３０）は、前記仮想データベース部（２０）が関連付けた複数の検索結果からそれぞれ複数のレポートを作成するとともに、作成した複数のレポートを自動的に関連付けることが好ましい。【００２５】
前記ビジネスインテリジェンス部（３０）は、
前記利用者端末（２）を前記データ辞書（１０）の前記プレゼンテーション構造に基づいて支援して、前記プレゼンテーション構造に基づく検索要求を前記仮想データベース部（２０）に対して発行する検索要求発行手段（３１）と、
前記仮想データベース部（２０）から取得した検索結果をもとにレポートを作成し、前記利用者端末（２）に対して送出するレポート出力手段（３２）と、を有することが好ましい。【００２６】
前記ビジネスインテリジェンス部（３０）は、
複数の検索要求を実行して得られた複数の検索結果から作成された複数のレポートを順次あるいは同時に表示することができ、
前記データ辞書（１０）に含まれる異なる検索要求間の関連性を管理する検索要求の定義情報により、複数のレポートを相互に関連付けて操作できることが好ましい。【００２７】
前記ビジネスインテリジェンス部（３０）は、
第１の検索要求に対して第２の検索要求を関連検索として対応付けし、
前記利用者端末（２）において第１の検索要求を実行して第１の検索結果を表示し、第１の検索結果に含まれるデータを選択して第２の検索要求へのリンクを指示することにより、
第１の検索要求に含まれている抽出条件の項目と条件値、および第１の検索結果の中から選択されたデータに対応する項目と表示値を第２の検索要求に引き継ぎ、
第２の検索要求の抽出条件に、第１の検索要求から引き継がれた項目と関連付けられた関連項目が存在する場合には、その関連項目の条件値を、第１の検索要求から引き継がれた条件値に置き換えて、第２の検索要求を実行して第２の検索結果を表示することが好ましい。【００２８】
前記ビジネスインテリジェンス部（３０）は、
複数の検索結果から出力された複数のレポートを同一画面上に配置したダッシュボードを構成することができ、
ダッシュボード内の１つのレポートの検索結果に含まれるデータが選択された場合には、選択されたデータに対応する見出し項目及び表示値をダッシュボード内の他のレポートに引き継ぎ、
他のレポートの検索要求の抽出条件に引き継がれた見出し項目と関連付けられた項目が存在する場合には、その抽出条件の条件値を引き継がれた表示値に置き換えて、検索要求を実行して新たな検索結果を表示することにより、ダッシュボード内の複数のレポートを連動して操作することができることが好ましい。【００２９】
前記ビジネスインテリジェンス部（３０）の前記レポート出力手段（３２）は、
検索要求が、分類が可能な複数の見出し項目（ディメンジョン）と、集約が可能な１以上の値項目（メジャー）を含む場合には、集約レベルが同一である見出し項目の組み合わせについて一体として集約操作を行うものであることが好ましい。
ここで、見出し項目の順位を区分するための集約レベルが２以上設定されている場合において、前記レポート出力手段（３２）は、
ある集約レベルでの検索結果を前記利用者端末（２）に表示する場合には、見出し項目については前記ある集約レベルより上位の見出し項目のみに値を表示し、値項目については前記ある集約レベルより上位の見出し項目のみで集約した集計値を表示するようにし、
前記利用者端末（２）が前記ある集約レベルの検索結果の特定のデータを選択した場合には、選択した特定のデータの表示されている見出し項目と同一の見出し項目を持つ１つ下位の集約レベルの明細レコードを前記利用者端末（２）に表示することが好ましい。【００３０】
前記ビジネスインテリジェンス部（３０）は、
前記利用者端末（２）が一度作成した検索要求を保存しておき、読み込んで再利用することができるライブラリ管理手段（３３）を有し、
ライブラリ管理手段（３３）を利用できる前記利用者端末（２）を、利用者の権限に応じて設定することにより、利用目的に応じて検索要求を共有することができることが好ましい。【００３１】
前記ビジネスインテリジェンス部（３０）は、
検索要求に対応する検索結果を、前記利用者端末（２）の指定により、一定期間あるいは一定履歴回数、保存することができる検索履歴管理手段（３４）を有し、
前記利用者端末（２）において、ライブラリの中から検索要求を指定すると、その検索要求に対応する検索結果が一覧表示され、
その中から検索結果を指定することにより、検索結果を直接参照することができることが好ましい。【００３２】
前記検索要求発行手段（３１）は、
関連する複数の項目を一つの概念であらわす集合項目を扱うことができ、
前記集合項目を検索要求の抽出条件に指定する場合には、前記関連する複数の項目の値を参照しつつ条件値の設定ができるとともに、
前記集合項目を検索結果の表示項目に追加する前記利用者端末（２）の入力操作により、前記関連する複数の項目が自動的に検索結果の表示項目に追加されることが好ましい。【００３３】
前記検索要求発行手段（３１）の前記集合項目は、
互いに階層関係にある１以上の項目から構成され、
前記利用者端末（２）の画面において、上位レベルの項目の値が一覧で表示されている中から１つの値を選択すると、その値に関連付けられている下位レベルの項目の値が一覧で表示され、
前記利用者端末（２）は、任意のレベルの一覧で表示された値の中から、検索の抽出条件とする値を指定することができることが好ましい。【００３４】
前記仮想データベース部（２０）は、
前記仮想データ構造に基づき記述された検索要求を解析して、前記データベース（１）に対する１以上の検索命令を生成する検索要求翻訳手段（２１）と、
前記検索要求翻訳手段（２１）によって生成された検索命令を前記データベース（１）のうちのいくつかに対してそれぞれ実行して検索データを取得する検索命令実行手段（２２）と、
前記検索命令実行手段（２２）によって取得された１以上の検索データを統合加工してデータ検索要求に対応する検索結果を作成するデータ統合加工手段（２３）と、を有することが好ましい。【００３５】
前記検索要求翻訳手段（２１）は、
前記検索要求を、前記データ辞書（１０）の前記仮想データ構造に基づいて解析して、
検索対象のデータベース上で実行可能な検索命令と、前記データ統合加工手段（２３）で実行可能な一つ以上の検索命令を生成し、
あるデータ統合加工手段（２３）に対する検索命令の出力を、他のデータ統合加工手段（２３）に対する検索命令の入力とすることにより、多段階にわたるデータ統合加工を行う、検索命令を生成することができる、ことが好ましい。【００３６】
前記検索要求翻訳手段（２１）は、
検索要求に指示されている前記仮想データベース部（２０）に対する抽出条件は、前記データベース（１）に対する検索命令に変換して適用し、
検索要求で要求されている分類集計は、あらかじめ前記データベース（１）で実行し、
対象の静的な属性を管理するマスターを参照する処理は、明細データの検索段階では行わずに、データが集約された段階で実行し、
これにより、前記データベース（１）から送出されるデータ量が最小となるように検索命令を最適化する、ことが好ましい。【００３７】
前記検索命令実行手段（２２）は、
前記データベースが検索インターフェイスとしてＳＱＬ言語をサポートする場合には、
前記データベースの物理表に対するＳＱＬによる検索命令の実行手段、
前記データベースに格納されたストアド・プロシージャを用いる検索命令の実行手段、あるいは
前記データベースのＳＱＬ言語で直接定義された検索の検索結果を検索対象として検索結果から再度検索する検索命令の実行手段、
のいずれか一つ以上の実行手段を備え、
前記データベースが検索インターフェイスとしてＳＱＬ言語をサポートしないデータベースの場合には、
当該データベースの検索インターフェイスに対応する検索命令の実行手段、を備え、
前記データベースがファイルシステム上のデータファイルの場合には、
当該データファイルに対応する検索命令の実行手段、を備えていることが好ましい。【００３８】
前記データ統合加工手段（２３）は、
前記検索命令実行手段（２２）によって取得された中間的な検索データ、あるいは他のデータ統合加工手段（２３）が出力する結果データの一つまたは複数を入力として、データ統合とデータ加工を行って、結果データを一つの表として出力することができ、
さらに結果データを他のデータ統合処理加工手段（２３）に入力として引き渡すことにより、複数段にわたるデータ統合加工の処理を行うことができる、ことが好ましい。【００３９】
前記データ統合加工手段（２３）は、
各データベースから抽出・集計した中間データを併合した後にキーで集約する併合方式、
あるいは、検索要求の内容に応じて、複数のデータベースの検索対象候補から検索対象を自動的に選択して抽出・集計する選択方式、
あるいは、一つのデータベースから取得した中間データの各レコードに対して、あらかじめ定義された参照条件にもとづいて他のデータベースから参照データを取得し、もとの中間データに不足する項目を参照データから補完する参照方式
のいずれか一つ以上のデータ統合方式を備えており、その中から最適な方式を選択することができることが好ましい。【００４０】
前記データ統合加工手段（２３）のデータ統合方式における参照方式は、
一つのデータベースから抽出・集計した中間データを基に、中間データの各レコードに対してその他のデータベースを結合条件にしたがい逐次検索して統合する逐次参照方式、
あるいは、他のデータベースから抽出・集計した中間データを、一つのデータベース管理システムに転送し、転送された中間データ同士、または中間データとデータベース管理システム内のデータをデータベース管理システムの結合機能で統合する一括結合方式、
あるいは、参照元の検索対象となるデータと参照先の検索対象となるデータを取得して、あらかじめ参照条件の条件値の順番に並び替えておき、その後参照元レコードと参照先レコードを順次１件ずつ読み込みながら参照条件の条件値を比較し、参照条件が成立するものについて統合する順次併合方式
のいずれか一つ以上のデータ統合方式を備えており、その中から最適な方式を選択できることが好ましい。【００４１】
前記データ統合加工手段（２３）は、
キー項目でグルーピングし属性項目の値をグループ毎に集約する分類・集約処理、項目の値に関するデータ編集処理、判定条件によるデータ抽出処理、出力順指定によるソート処理の機能を備え、
また、レコード間の関係や順序に依存する演算に対応することのできることが好ましい。【００４２】
前記データ統合加工手段（２３）は、
データ統合とデータ加工を行った結果データを、ビジネスインテリジェンス部（３０）、
他のデータ統合処理加工手段（２３）、あるいは、データベースのテーブル、ファイルシステムに格納されるデータファイル、ネットワークを介して送られるデータストリーム、
のいずれかの外部の出力先に、出力することができる、ことが好ましい。【００４３】
前記データ統合加工手段（２３）は、
データ統合処理の結果の表データ、あるいは検索命令実行の結果として分割作成される中間的な検索データを、事前に作成して外部記憶領域に格納しておき、検索実行時には、データベースの代わりに当該外部記憶領域に格納されたデータを参照する検索データ・キャッシュを備えることが好ましい。【００４４】
前記データベース（１）は、
リレーショナルデータベース、オブジェクト指向データベース、ＸＭＬデータベース、ファイルシステム、ＵＲＬディレクトリ管理システム、データウェアハウス、データマートのうちの少なくとも１つを含むことが好ましい。【００４５】
本発明の第２の側面は、コンピュータを、検索命令に応答して検索データを返す２以上のデータベース（１）をデータソースとするデータ検索装置として機能させるプログラムである。
このプログラムは、
前記コンピュータを、
利用者端末（２）を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造の定義情報と、前記検索要求を解析して前記データベース（１）で処理可能な物理情報で表される検索命令に変換するための仮想データ構造の定義情報と、異なる検索要求間の関連性を管理するための検索要求の定義情報と、を含むデータ辞書（１０）と、
前記データ辞書（１０）で定義された前記プレゼンテーション構造に基づいて前記利用者端末（２）を入力支援して、前記プレゼンテーション構造に基づき記述された検索要求を発行するとともに、当該検索要求を仮想データベース部（２０）で実行して取得した前記仮想データ構造に基づく検索結果を、前記利用者端末（２）に対して出力するビジネスインテリジェンス部（３０）と、
前記データ辞書（１０）で定義された前記仮想データ構造に基づいて前記検索要求を解析して検索命令を生成し、生成された検索命令を前記データベース（１）でそれぞれ実行して２以上の検索データを取得し、取得された２以上の検索データを統合加工して検索要求に対応する検索結果を作成する仮想データベース部（２０）と、を含み、
異なる検索要求に対応して作成された複数の検索結果を、前記検索要求の定義情報により関連付ける
データ検索装置として機能させる。【００４６】
本発明の第３の側面は、上記プログラムを格納したコンピュータが読み取り可能な記録媒体である。
【発明の効果】
【００４７】
本発明は、複数の検索要求間の関連性を管理することのできるデータ辞書を設け、仮想データベースとＢＩツールを一体のソフトウェアとして融合させることで、複数のデータベースからデータを直接取得する機能、用途・目的に応じた複数の検索結果を関連付けて作成する機能、および複数の検索結果にまたがる複数のレポートを関連付けて操作する機能を発揮する。したがって、本発明によれば、単一のキューブでは対応が困難な不整合を含むデータの分析が容易となる。これにより、利用者の観点からは、利用者の目的や用途に合わせて仮想データ構造を柔軟に作成することができるため、例えば、全体については関連付けによりデータ統合して分析しつつ、詳細については業務システムのそれぞれのデータを直接分析するような、自由度の高いきめ細かな分析を簡単に実現することができる。【００４８】
このように、本発明は、ＢＩツールの機能と仮想データベースの機能の両方を含んで構成され、それぞれの機能が共通のデータ辞書で駆動されることを特徴とする。ＢＩツールが検索対象とするデータ構造定義を仮想データベースが提供するデータ構造定義と共通化することにより、仮想データベースの提供機能は、自ずとＢＩツールの検索要件を必要かつ十分に満たすものとなり、分析・設計プロセスを大幅に簡略化できる。また、ＢＩの要件分析ではユーザニーズを事前に正確に把握することが難しく、構築途中あるいは完成後でも要件の追加・変更が多発しがちであるが、ＢＩツールと仮想データベースのデータ構造定義をデータ辞書において一元的に管理することで、ユーザ要件の追加・変更の影響範囲が明確になり、システム保守プロセスも大幅に効率化できる。【００４９】
さらに、組織のトップレベルの経営分析から、それぞれの現場の個別業務の分析まで、共通したデータ分析手段を使えることができるようになるため、組織における情報共有とコミュニケーションの円滑化が促進される。【００５０】
また、システムの観点からは、データ分析のために企業内の複数の業務システムの大量のデータを一括で複製してデータウェアハウスなどに再構成・蓄積する必要性がなくなり、仮想データ構造をデータ辞書に定義するだけですぐさま分析データを利用可能となるため、きわめて短期間・低コストで開発することができる。【００５１】
また、企業全体にわたるデータを統合的に体系管理できるため、データに関するアクセス管理や品質管理の効率化を図ることができるメリットも有している。
【図面の簡単な説明】
【００５２】
【図１】図１は、小粒度における不整合の例を示している。
【図２】図２は、大粒度における不整合の例を示している。
【図３】図３は、システムの全体構成を示している。
【図４】図４は、不整合を含むデータの分析処理の概念を示している。
【図５】図５は、データ辞書のデータ構造の概略を示している。
【図６】図６は、ビジネスインテリジェンス部の機能ブロックを示している。
【図７】図７は、検索要求発行の画面の例を示している。
【図８】図８は、ライブラリ管理の画面の例を示している。
【図９】図９は、検索リンクの画面操作の例を示している。
【図１０】図１０は、検索リンクにおける抽出条件および選択内容の引き継ぎ処理のフロー示している。
【図１１】図１１は、ダッシュボードにおける複数レポート間の抽出条件連動の設定画面の例を示している。
【図１２】図１２は、クラス仮想項目における抽出条件設定画面の操作の例を示している。
【図１３】図１３は、仮想データベース部の機能ブロックを示している。
【図１４】図１４は、複数のデータ統合方式の処理概念を示している。
【図１５Ａ】図１５Ａは、逐次参照方式と一括結合方式の処理概念を示している。
【図１５Ｂ】図１５Ｂは、順次整合方式の処理概念を示している。
【図１６】図１６は、順次併合方式の処理概念を示している。
【図１７】図１７は．順次併合方式の処理のフローを示している。
【図１８】図１８は、データ・キャッシュの処理概念を示している。
【図１９】図１９は、多段階にわたるデータ統合加工手段の処理概念を示している。
【発明を実施するための形態】
【００５３】
以下、図面を用いて本発明を実施するための形態について説明する。本発明は、以下に説明する形態に限定されるものではなく、以下の形態から当業者が自明な範囲で適宜変更したものも含む。
【００５４】
＜システムの全体構成図＞
図３は、本発明の一実施形態であるデータ検索装置の全体構成を示している。データ検索装置１００は、検索命令に応答して検索データを返す２台以上のデータベース１をデータソースとするデータ検索装置である。データ検索装置１００は、２台以上の外部のデータベース１と、１台または２台以上の外部の利用者端末２と、１台または２台以上の外部の管理者端末３とに接続される。また、データ検索装置１００は、データ辞書１０と、仮想データベース部２０と、ビジネスインテリジェンス部３０とを備えている。また、データ検索装置１００は、外部の管理者端末２に接続されるデータ辞書編集部４０を持つこともできる。
データベース１として接続されるデータベースが２台以上である場合とは、物理的にデータベースが２台以上に分かれている場合のみならず、物理的には１つのデータベースが異種データを含むなどの理由で論理的に２台以上に分かれている場合を含む。
【００５５】
＜不整合を含むデータの分析処理イメージ図＞
図４は、データ検索装置１００を用いて、単一のキューブでは対応が困難な不整合を含むデータを分析する際の処理イメージ図である。
【００５６】
図４に示された例において、検索要求１及び検索要求２は、検索する対象（データベースなど）が異なっている。ただし、検索要求１と検索要求２は、検索する内容は関連している。このため、検索要求１と検索要求２は、データ辞書１０の検索要求間の関連性の定義（検索要求の定義情報）により、関連検索として対応付けられている。検索要求同士の関連付けは、検索要求の入力画面などにおいて利用者が任意に行うことができる。
【００５７】
このように、データ辞書１０において検索要求１と検索要求２とを関連付けることで、検索要求１を実行した検索結果１から作成されたレポート１と、検索要求２を実行した検索結果２から作成されたレポート２を、検索要求間の関連性に基づき相互に関連付けることができる。このため、現在のレポートの抽出条件や選択内容を引き継ぎながら関連するレポートへ移動する、検索リンクの機能を実現することができる。このように、異なる検索要求から作成された複数の検索結果を関連付け、異なる検索結果間においても簡単にレポート間を移動できることにより、単一のキューブでは対応が困難な不整合を含むデータを効率的に分析できるようになる。
【００５８】
具体的には、利用者はまず、ビジネスインテリジェンス部３０の検索要求入力画面から、用途・目的に応じて抽出条件や出力方法などの設定を行い、検索要求１を仮想データベース部２０に発行する。仮想データベース部２０では、受け取った検索要求１に基づき、複数のデータベース１のうちのいくつかに対して検索命令を発行して検索を実行し、それぞれの検索で取得した２以上の検索データを統合して検索結果１を作成する。ビジネスインテリジェンス部３０では、作成された検索結果１から分析用の多次元のキューブを構築し、このキューブの一つの断面をレポート１として表示する。表示されたレポート１に対しては、スライシング、ダイシング、ドリルダウンのＯＬＡＰ分析操作を指示することにより、検索結果１のキューブの他の断面に切り替えて表示することもできる。
【００５９】
さらに、ビジネスインテリジェンス部３０は、データ辞書１０における検索要求１と検索要求２の関連性の定義に基づき、検索要求１に基づいて作成されたレポート１から検索要求２を呼び出すための、検索リンク機能を提供する。レポート１から検索要求２を呼び出すときには、検索要求１に含まれている抽出条件の項目と条件値、及び表示されているレポート１に対して利用者がマウスやキーボードにより選択したデータに対応する項目と表示値を、検索要求２に引き継ぐ。検索要求２の抽出条件に、検索要求１から引き継がれた項目と関連付けられた関連項目が存在する場合には、その関連項目の条件値を、検索要求１から引き継がれた条件値に置き換えて、検索要求２を発行する。このようにして、ビジネスインテリジェンス部３０は、検索要求２を仮想データベース２０に発行する。そして、仮想データベース部２０は、検索要求２を実行して検索結果２を作成して、ビジネスインテリジェンス部３０に受け渡す。ビジネスインテリジェンス部３０は、検索結果２から分析用の多次元のキューブを構築し、キューブの一つの断面をレポート２として表示する。これより、レポート１で利用者が選択したのと関連する内容を、自動的に検索要求２で異なる視点から検索して、レポート２として表示することができる。表示されたレポート２に対しては、上記したレポート１と同様に、スライシング、ダイシング、ドリルダウンのＯＬＡＰ分析操作を指示することにより、検索結果２のキューブの他の断面に切り替えて表示することもできる。
【００６０】
ここで、レポート１からレポート２への移動は、人手を介さないで自動的に行なうこともできる。したがって、データ辞書１０によって検索要求１と検索要求２の関連性を定義することにより、検索要求１を実行した検索結果１から作成されたレポート１と検索要求２を実行した検索結果２から作成されたレポート２とを互いに関連付けできるようになり、異なる検索結果間においても簡単にレポート間を移動できるようになる。
【００６１】
また、異なる検索要求から作成された複数のレポートを同一画面上に配置したダッシュボードにおいても、同様に、検索要求間の関連性の定義に基づくレポート間の関連付けを行なうことができる。レポート間の関連付けに基づき、ダッシュボードに配置された異なるデータから作成された複数のレポートを、一括してスライシング、ダイシング、ドリルダウンするＯＬＡＰ分析操作を実現することができる。
【００６２】
＜データ辞書のデータ構造＞
図５は、データ辞書１０のデータ構造の概略をあらわすクラス図である。
データ辞書１０は、物理データ構造の定義情報、仮想データ構造の定義情報、及びプレゼンテーション構造の定義情報の３階層から構成される。物理データ構造の定義情報は、検索対象とする複数のデータベース１のそれぞれに接続して、データ検索を行うために必要となるテーブルや項目といった物理データ構造を定義している。仮想データ構造の定義情報は、物理データ構造とは完全に独立しており、用途・目的に応じてデータ利用の視点からデータ構造を柔軟に定義し、物理データを要求されたデータ構造に変換するための定義を含む仮想データ構造を定義している。プレゼンテーション構造の定義情報は、利用者を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造を定義している。
物理データ構造の定義情報は、基本的に、データベースの定義と同一あるいはその必要部分の転記である。仮想データ構造の定義情報は、データベースに関する知識を有するシステム管理者が、データ利用ニーズに応じて構築するのが、通例である。一方、プレゼンテーション構造の定義情報は、利用者がそれぞれの権限や役割に応じて、随時、追加・更新できるようにしても構わない。
【００６３】
（物理データ構造）
データ辞書１０は、仮想データベース部２０から、検索対象とする外部のデータベースに接続して、データ検索を行うために必要となる情報を、物理データ構造として定義する。接続するデータベースの個数は２台以上であることが好ましい。データベースが２台以上である場合とは、物理的にデータベースが２台以上に分かれている場合のみならず、異種データを含むなどの理由で論理的に２台以上に分かれる場合を含む。
物理データ構造の定義情報は、検索対象とするデータベースの定義である「物理データベース」、物理データベースに含まれる「物理表」、および物理表に含まれる「物理項目」の定義情報から構成される。
「物理データベース」の定義情報は、データベースへの接続手順、データベースが取り扱うことができるデータ型の種類、データベースに装備されている関数の種類等、データベース固有の情報等が定義された定義情報であり、検索対象が複数のデータベースにまたがる場合には、複数の「物理データベース」が定義される。
「物理表」の定義情報は、データベースに格納されている表（テーブル）の定義と同一の定義情報、あるいはその必要部分の転記である。
「物理項目」の定義は、データベース内の物理表に含まれる項目（フィールド）及びその属性の定義と同一の定義情報、あるいはその必要部分の転記である。
【００６４】
（仮想データ構造）
データ辞書１０において、仮想データ構造は、ユーザや業務の立場からみたデータ構造を定義している。仮想データ構造の定義情報は、基本的に、仮想的なデータ構造の全体である「仮想データベース」、仮想データベースに含まれる「仮想表」、仮想表に含まれる「仮想項目」の定義情報を含む。
対象とするユーザや業務が独立して複数ある場合は、複数の「仮想データベース」の定義情報が定義されることがある。
「仮想表」の定義情報は、論理的に完全で一貫性のある多次元データモデルを生成することのできる仮想項目の集合である。一つの仮想表に含まれる仮想項目は、任意に組み合わせることにより検索を定義し、取得したデータによりキューブを作成することができる。
「仮想項目」の定義情報では、業務およびシステムで認識の対象として具体的に識別できるものを指し示す実体（エンティティ）の特徴や性質などの属性（アトリビュート）を定義する（例えば「顧客」、「商品」、「注文書」、「売上高」など）。「仮想項目」の定義情報には、項目名が異なる複数の物理項目を論理的に同一の仮想項目として統合するための定義が含まれる。つまり、項目名が異なる複数の物理項目は、物理的には異なる項目として扱われる。ただし、項目名が異なる複数の物理項目であっても、論理的には同一の項目である場合がある。そこで、項目名が異なる複数の物理項目の対応関係を「仮想項目」の定義情報において定義しておくことで、これら複数の物理項目を同一の仮想項目として扱うことができる。
【００６５】
さらに、仮想データ構造は、「仮想表」に対する「仮想項目」の対応関係を示した「仮想表項目」の定義情報を有することが好ましい。本実施例は、仮想表に従属して仮想項目を直接的に定義しない。つまり、本実施例では、異なる仮想表の間で仮想項目を関連付けるために、仮想項目を仮想表と独立して仮想データベース内で定義し、仮想表に対する仮想項目の対応関係を「仮想表項目」として関連付けている。これにより、異なる仮想表間でも、論理的に同一の項目である場合には、同一の仮想項目を割り当てるものとする。
このように「仮想表項目」の定義情報を設けることで、異なる仮想表間でも同一の仮想項目かどうかの判定が可能となり、同一の仮想項目ならば共通の属性を有することが保証される。このため、仮想表項目を参照することで、異なる仮想表の検索により作成された検索結果間でも、抽出条件や選択条件の引継ぎが可能となる。
【００６６】
なお、本実施例では、同一仮想データベース内の異なる仮想表における同一項目の判別を、仮想項目の名称を仮想データベース内でユニークとする制約により行っている。ただし、これに限らない方式でも同一項目の判別が可能である。また、仮想表ごとに異なる仮想項目の名称を表示させたい場合には、仮想表項目に仮想表ごとの別名を与えることで対応することができる。
また、本実施例では、異なる仮想データベース間の同一項目の判別は、仮想表ごとにそれぞれ仮想項目を定義しておき、異なる仮想表間で同一の仮想項目であることの定義情報を後から仮想項目に相互に付加する方式で行っている。
【００６７】
「仮想表」を構成する「仮想表項目」の定義情報は、キューブにおいてデータ集計項目（ディメンション）として扱う項目と、キューブにおいて値項目（メジャー）として扱う項目に区分される。
さらに「仮想表項目」の定義情報は、通常の文字型、数値型、日付型といった単純なデータ型に加えて、複数の属性を持つ実体を表現するために、関連する複数の仮想項目の集合として一つの仮想項目（クラス仮想項目）を定義することができる。特に、階層関係にあるような複数の仮想項目の集合については、階層型クラス仮想項目を定義することができる。
【００６８】
さらに、仮想データ構造の定義情報には、仮想データベースの機能を使用して、物理データ構造を持つ複数のデータベースに格納されたデータを、仮想データ構造を持つ仮想データに変換するために必要な定義情報が含まれる。このための仮想データ構造には、例えば、「算出表」、「算出項目」、「物理表結合定義」、および「算出表適用定義」の定義情報が含まれる。
「算出表」の定義情報は、外部のデータベースを直接の検索対象とする「外部算出表」の定義情報と、外部算出表を含む他の算出表を検索対象とする「内部算出表」の定義情報から構成される。
「算出項目」の定義情報は、は算出表毎に各仮想項目に対して最大一つ定義され、算出表で仮想項目に対して算出項目が定義されない場合は、当該仮想項目を算出表で算出できないものとする。
【００６９】
（外部算出表）
「外部算出表」の定義情報は、データベースから同時算出が可能な算出項目の集合に関する定義情報であり、外部算出表は一つのデータベースに対応付けられる。
「外部算出表」の定義情報は、データベースが検索インターフェイスとしてＳＱＬ言語をサポートする場合には、データベースの物理表に対するＳＱＬによる検索手段、あるいはデータベースに格納されたストアド・プロシージャを用いる検索手段、あるいはデータベースのＳＱＬ言語で直接定義された検索の検索結果を検索対象として検索結果を再度検索する検索手段（インターナルビュー）のいずれかの検索手段を備える。また、外部算出表は、データベースが検索インターフェイスとしてＳＱＬ言語をサポートしない場合には、当該データベースの検索インターフェイスに対応する検索手段を備える。また、外部算出表は、データベースがファイルシステム上のデータファイルの場合には、当該データファイルに対応する検索命令の実行手段を備えることができる。
また、「外部算出表」の定義情報は、複数の物理表の相互の結合条件を「物理表結合定義」により定義することにより、データベースに含まれる複数の物理表を検索対象とすることができる。「物理表結合定義」は、外部算出表において基準としてデフォルトで用いる物理表を最上位のルートとし、補完的に結合参照される物理表を下位の子とする木構造、あるいはネットワーク構造で表現される。具体的には、この定義情報により、データベース検索命令の生成時に、自動的に必要な物理表間の結合条件が付加されるようになる。
外部算出表の算出項目には、結合定義された物理表の物理項目と、データベース固有の文法で記述される算出定義式や選択条件式等の定義情報とが含まれる。外部算出表の算出項目は、データベース検索命令の生成時に自動的に当該算出項目の算出方法を付加するために用いられる。
【００７０】
（内部算出表）
「内部算出表」の定義情報には、外部算出表を含む１つ以上の他の算出表の出力を入力として、１つの処理結果に統合して出力するデータ統合処理を定義することができる。また、内部算出表の算出項目には、項目編集、分類・集約、並べ替えなどのデータ加工処理に関する指示を定義することができる。
【００７１】
（算出表適用定義）
「算出表適用定義」は、特定の仮想表に対して検索時に適用可能な算出表の関係の定義情報である。本実施例では、仮想表に対応する１つの内部算出表を最上位のルートとし、１つ以上の外部算出表を末端のリーフとする木構造で表現しているが、あるいはネットワーク構造で表現することもできる。
一つの内部算出表に対しては、その下位に１つ以上の算出表を配置することができ、下位の算出表の出力が上位の内部算出表の入力となる。下位の複数の算出表の出力を上位の内部算出表で統合する方式を算出表適用定義に含むことができ、本実施例では、併合方式、選択方式、参照方式、およびそれらの任意の組み合わせを指定することができる。
算出表適用定義は、最も簡単な構成では、上位の１つの内部算出表と下位の１つの外部算出表を持つ。またより複雑な場合においては、複数段の上位の内部算出表と、最下位に複数の外部算出表を持つ
あるいは、算出表適用定義を、ネットワーク構造として表現することも可能である。この場合には、内部算出表は１つ以上の他の算出表の出力を入力として統合し、条件により場合分けして１つ以上の処理結果を出力する。
【００７２】
（プレゼンテーション構造）
データ辞書１０において、プレゼンテーション構造は、利用者を入力支援して検索要件に適合する検索要求を発行するための定義、及び検索結果を利用者に出力するための定義を含むことができる。
「検索要求」の定義情報は、検索の対象とする仮想表を指示する「検索表」、仮想表のデータの検索範囲を指示する「抽出条件」、検索結果としてデータを取得する仮想項目を指示する「表示項目」の定義情報を含む。また、検索要求を仮想データベース上で実行した検索結果が存在している場合には、プレゼンテーション構造において、検索日時、検索実行者、検索状況、レポート出力状況などの「検索履歴」と、その「検索結果」のデータが管理される。
【００７３】
また、「検索要求」の定義情報には、異なる検索要求間の関連性を管理するための定義情報が含まれる。すなわち、「検索要求」の定義情報には、検索の対象となるデータベースや、データベースからデータを抽出する条件が異なる複数の検索要求であっても、これらの複数の検索要求が互いに関連性を有している旨が定義されている。これにより、「検索要求」の定義情報には、異なる検索結果を対象とするレポートに対して相互間の関連付けを行う「検索リンク」の設定を含むことができる。「検索リンク」において、異なる検索結果を対象とする相互間の関連付けは、異なる検索結果の「抽出条件」あるいは「表示項目」に共通の「仮想項目」を割り当てることにより実現される。
【００７４】
プレゼンテーション構造には、「ダッシュボード」を含むことができる。ダッシュボードは、ユーザが必要とする多様な視点からの１つ以上のレポートを１つにまとめて表示させるための機能であり、それぞれのレポートの検索要求と、検索要求に対応する検索結果のレポート出力方法や配置などの定義を含んでいる。ダッシュボード内の複数のレポートの抽出条件が共通の「仮想項目」を対象としている場合には、「ダッシュボード抽出条件」として一括で指定することが出来る。これにより、ダッシュボード内の異なる検索結果を参照する複数のレポートを、一括してデータ分析操作できるようになる。
【００７５】
プレゼンテーション構造は、「ライブラリ」をさらに含む。ライブラリは、ユーザが作成したレポートの検索要求のテンプレートあるいはダッシュボードを保管する。ライブラリを参照・編集できるユーザ権限を制限することにより、許可されたユーザの間でレポートの検索テンプレートあるいはダッシュボードの共有を実現することができる。
【００７６】
＜ビジネスインテリジェンス部の構成＞
図６に、本実施例におけるビジネスインテリジェンス部３０の機能ブロック図を示す。図６に示されるように、ビジネスインテリジェンス部３０は、例えば、検索要求発行手段３１、レポート出力手段３２、ライブラリ管理手段３３、検索履歴管理手段３４、検索リンク手段３５、ダッシュボード表示手段３６、およびダッシュボード連動手段３７から構成される。
ビジネスインテリジェンス部３０の動作は、利用者の役割や目的によって複数の利用パターンを想定することができる。例えば、パワーユーザや管理スタッフ向けの自由検索では、検索要求発行手段３１の機能を使って、出力項目、出力形式、条件項目などを任意に設定して検索要求を発行し、見たいデータについてのレポートを自由に作成する。また、一般ユーザや経営層向けの定型検索では、出力項目、出力形式、条件項目などが固定で設定されている検索テンプレートをライブラリ管理手段３３等から呼び出し、条件の値のみを変えて検索要求を発行し、あらかじめ規格化されたレポートを作成する。また、レポート参照では、検索結果一覧等から自分や他ユーザが過去に検索した検索結果を検索履歴管理手段３４から呼び出して閲覧する。この場合は、検索要求発行手段３１の機能は直接に使用する必要はない。
【００７７】
（検索要求発行手段）
検索要求発行手段３１が機能しているときの画面イメージを図７に示す。検索要求発行手段３１は、データ辞書１０に登録されているプレゼンテーション構造の定義情報に基づいて利用者端末２を入力支援して、この利用者端末２によって入力された検索要件に適合する検索要求を発行することができる。検索要求発行手段３１は、例えば、「検索対象選択機能」、「抽出条件設定機能」、「表示項目設定機能」、および「検索要求発行機能」を有している。
【００７８】
検索対象選択機能では、仮想データベースと仮想表を選択し、表示されている選択可能な仮想項目の一覧から、任意の仮想項目を選択して、抽出条件項目あるいは表示項目に追加することができる。図７に示した例では、「販売実績」という仮想データベースに含まれる「出荷実績」という仮想表から、「商品」という仮想項目が選択されて、抽出条件項目および表示項目に追加された様子が示されている。
抽出条件設定機能では、抽出条件項目を選択すると、それぞれの仮想項目に割り当てられている数値型、文字型、日付型、メニュー選択型など各種の条件設定ダイアログが表示される。このため、利用者は画面指示に従って簡単に抽出条件を設定できる。
表示項目設定機能では、検索結果のレポートに表示される表示項目を指定できるとともに、表示項目について、クロス集計の場合の行／列の指定、ソートにおける表示項目の優先順、ソート時の並び方向、小計の有無などを設定できる。
検索要求発行機能では、レポートの件名等の設定を行い、すべての設定が完了したならば、検索実行を指示する。
このようにして、検索要求発行手段３１によって検索要求が発行される。そして、検索要求発行手段３１によって発行された検索要求は、図６に示されるように、仮想データベース部２０へと送出されるとともに、検索履歴管理手段３４へと伝達される。
【００７９】
（レポート出力手段）
レポート出力手段３２は、仮想データベース部２０から取得した検索結果を利用者端末上で基本的に１画面に１つの表もしくはグラフなどをレポートとして表示するほか、表計算ソフト、ＣＳＶファイル、またはＨＴＭＬファイルなどの形式で外部出力することができる。
またレポート出力手段３２は、検索結果を直接表示するだけではなく、検索結果を再編成して多次元多階層のキューブを作成し、検索結果を特定の項目でグルーピングして集計を行う機能、行および列の項目を指定してクロス集計する機能、検索したデータを特定の項目で並べ替える機能、および検索したデータをもとに計算した値を付加できる機能などを備えている。
【００８０】
検索要求の表示項目は、データを識別および分類することが可能であり行や列のラベルになる見出し項目（ディメンジョン）と、分析対象となる属性を定義し値の集約が可能な値項目（メジャー）に区分される。通常は、検索要求で指定されている見出し項目についてはそれぞれの値を表示し、値項目については見出し項目で集約した集計値を表示して、レポート出力を行う。
さらに、検索要求の見出し項目には、集約レベルを設定することができる。集約レベルが同一である見出し項目が複数ある場合には、グルーピング・合計計算などの集約操作を、個別の見出し項目ごとには行なわず、集約レベルが同一の見出し項目の組み合わせを一体として行う。
集約レベルが２以上設定されている場合においては、利用者端末（２）から、ある集約レベルが指定された場合には、見出し項目についてはある集約レベルより上位の見出し項目のみに値を表示し、値項目については前記ある集約レベルより上位の見出し項目のみで集約した集計値を表示して、レポート出力するようにする。利用者端末（２）が前記ある集約レベルのレポートの特定のデータを選択した場合には、それより１つ下位の集約レベルの明細レコードを利用者端末（２）に表示するようにする。これにより、集約した中の１レコードを選択するとその詳細な内訳データを展開して表示するドリルダウンや、その逆のロールアップの操作を、集約レベルの設定により簡単に実現することができるようになる。
【００８１】
また、スライシングは、検索要求に含まれる抽出条件の指定を変更することにより実現することができ、ダイシングは、検索要求に含まれる表示項目の指定を変更することにより実現することができる。
利用者端末２を介してレポートのデータ分析操作が行われたとき、レポート出力手段３２は、そのデータ分析操作後の表やグラフなどを作成して、再度利用者端末２に提供する。
図６に示されるように、レポート出力手段３２によって作成されたレポートは、検索リンク手段３５およびダッシュボード表示手段３６へと伝達される。
【００８２】
（ライブラリ管理手段）
ライブラリ管理手段３３は、ユーザの検索要件に基づいて作成された検索要求を保管し、ユーザの権限にしたがい許可されたユーザの間で共有することにより、定型検索のための検索テンプレートとして再利用できるようにする。またライブラリ管理手段３３は、ユーザが過去に検索した検索要件に対応する検索結果を保管し、自分や他のユーザが検索結果をレポートとして参照できるようにする。これにより、ユーザ間での情報や分析ノウハウの共有を支援する役割を持つ。
【００８３】
図８に、ライブラリ管理手段３３が機能しているときの画面イメージを示す。
検索要求のライブラリは、本実施例では仮想データベース単位、あるいは特定のユーザのグループ単位に作成され、登録された検索要求が一覧で表示される。ライブラリに登録した検索要求は、登録者本人でなくとも、参照権限を有するユーザは参照することができる。
ライブラリ管理手段３３は、検索を定期的にスケジュール実行する機能を備えており、指定された検索要件に基づいた検索をスケジュール実行して検索結果を定期的に作成しておくことにより、一般的なユーザが日常的に使用するようなレポートは、毎回検索することなく、あらかじめ作成しておくことができる。
図６に示されるように、ユーザが作成した検索要求は、ライブラリ管理手段３３を介して、検索要求発行手段３１及びダッシュボード表示手段３６へと伝達される。
【００８４】
（検索履歴管理手段）
検索履歴管理手段３４は、検索要求に対応する検索結果を、利用者端末２の指定に基づいて、一定期間あるいは一定履歴回数保存する。このため、図６に示されるように、検索履歴管理手段３４には、検索要求発行手段３１によって発行された検索要求と、この検索要求に対応して仮想データベース２０から取得された検索結果が入力される。
検索要求ライブラリから表示されている検索要求の一つをマウス等で選択すると、検索履歴の保持が指定された検索要求については、直近の検索の実行日時等が検索履歴としてメニュー表示され、メニューの中から選択するとその検索結果のレポートが画面に表示される。新規に検索を行う場合には、検索履歴メニューから「新規検索」を選択する。
検索履歴保持については、年、月、週、日等の一定期間、あるいは一定の履歴回数の検索結果を保持するように指定して、検索履歴管理手段３４に登録しておくことができる。
これらの機能を利用することにより、様々な役割とスキルユーザでも、規格化され品質の安定したレポートを、毎回検索することなく即座に入手することが出来るようになり、ユーザ間での情報の共有が容易となる。
【００８５】
（ダッシュボード表示手段）
ダッシュボード表示手段３６は、ユーザが必要とする多様な視点からの情報を１つのレポートとしてまとめて利用者端末２の表示部（ディスプレイ）に表示させるために、１つの画面内に複数の表やグラフを配置させることができる。ダッシュボード内の個々の表やグラフは、検索要求指示部およびレポート表示部を使って表示されるため、基本的には独立して動作することができる。ダッシュボードは、検索要求と同様にライブラリに登録しておき、テンプレートとして再利用を行ったり、過去の検索結果を参照したりすることができる。
【００８６】
（不整合を含むデータを扱うための機能）
本発明は、ビジネスインテリジェンスとしての一般的な機能に加えて、不整合を含むデータを扱うことができる機能を備えている。このため、本発明は、複数の検索要求から作成された複数の検索結果にまたがる複数のレポートを関連付けて操作するための機能として、検索リンク手段３５及び複数レポートの一括操作機能を備える。
また、本発明は、マスター表などの関連する複数の仮想項目の集合を、複数の検索要求で共通的に使用できるクラス仮想項目として定義する機能を備えることにより、異なる検索要求間でも共通の仮想項目として関連付けして処理することが容易になる。
【００８７】
（検索リンク手段）
検索リンク手段３５は、異なる検索結果を対象とするレポートに対しても相互間の関連付けを行うことができる。この検索リンク手段３５により、現在のレポートの抽出条件や選択内容を引き継ぎながら関連する他のレポートへの移動を実現する。図９に、検索リンク手段３５の画面操作イメージを示す。
【００８８】
検索リンク手段３５では、まず、利用者端末上に表示されている表もしくはグラフの１つのデータ（レコード）を選択してマウス・クリックあるいはボタンの押し下げ等の操作を行うと、リンクが可能なレポートの一覧がメニュー表示される。例えば、図９に示された「表からの検索リンク」の例では、あるレポートの表に含まれるデータ（レコード）のうち、Ｂ産業の商品Ｐの数量：１２０を選択することで、新たなウィンドウが表れて、そのウィンドウ内には「売上月別推移」や、「担当者別明細」、「売上利益率」のように、この選択されたデータからリンク可能な別のレポートのメニューが表示される。
そして、メニューの中から１つのレポートを選択すると、現在表示されているレポートの検索要求に含まれている抽出条件の条件項目及び条件値、並びに検索結果で選択されているレコードに対応する表示項目と表示値の引き継ぎが行われる。すなわち、リンク先の検索要求の抽出条件に引き継がれた項目と同一の項目が存在する場合には、その条件値を引き継がれた条件値に置き換えてから、リンク先の検索要求を実行して検索結果を取得し、画面が切り替わる。
検索リンクの一覧にメニュー表示されるレポートは、リンク元の検索要求に対してライブラリに登録されている任意の検索を関連付けることにより設定し、リンク元の検索要求をライブラリに保存する際に、メニュー表示されるレポートの情報もあわせて保存される。
【００８９】
上記したような複数のレポート同士の関連付け（リンク）は、データ辞書１０における検索要求の定義情報に基づくものである。つまり、データ辞書１０において、検索要求の定義情報には、検索の対象となるデータベースや、データベースからデータを抽出する条件が異なる複数の検索要求であっても、これらの複数の検索要求が互いに関連性を有している旨が定義されている。このため、まず、検索リンク手段３５は、データ辞書１０の検索要求の定義情報を参照し、この定義情報において、ある検索要求と他の検索要求が関連付けられているかどうかを確認する。これにより、検索リンク手段３５は、ある検索要求に基づいて作成されたレポートと、他の検索要求に基づいて作成されたレポートとの間の関連性を把握することができる。そして、検索リンク手段３５は、あるレポートのデータが指定されたときには、データ辞書１０の検索要求に含まれる関連性の定義情報を参照して、その指定されたデータとの関連付けられたデータを有する他のレポートを、ユーザの利用端末上に表示する。これにより、レポート間のリンクを行う。
【００９０】
続いて、図１０に、検索リンク手段３５において、異なる検索結果を対象とするレポートに対しても相互間の関連付けを実現することのできる、抽出条件および選択内容の引き継ぎの処理フローを示す。
先ず検索リンク手段３５は、リンク元となるレポートの検索要求から抽出条件を１つ取得する（Ｓ１）。次に検索リンク手段３５は、データ辞書１０を参照してリンク先となるレポートの検索要求から抽出条件を１つ取得する（Ｓ２）。そして、検索リンク手段３５は、データ辞書１０を参照して、リンク元の抽出条件の仮想項目とリンク先の抽出条件の仮想項目とが「同じ」ものであると関連付けられているか否かを判断する（Ｓ３）。ここで、もし、リンク元の抽出条件の仮想項目とリンク先の抽出条件の仮想項目がデータ辞書１において「同じ」と関連付けられているならば、検索リンク手段３５は、リンク先の抽出条件の条件値をリンク元の抽出条件の条件値に置き換える（Ｓ４）。他方で、リンク元の抽出条件の仮想項目とリンク先の抽出条件の仮想項目が同じでなければ何もしない。
以降、検索リンク手段３５は、次のリンク先の抽出条件を同様に調査する（Ｓ５）。ここで、すべてのリンク先の抽出条件を調査し終えたと判断したならば、次のリンク元の抽出条件の調査（Ｓ６）へと進み、まだリンク先の検索要求に未処理の抽出条件があると判断したならば、再びステップＳ２へと戻る。その後、ステップＳ６では、次のリンク元の抽出条件を同様に調査する（Ｓ６）。ここで、すべてのリンク元の抽出条件を調査し終えたと判断したならば、次のステップＳ７へと進み、まだリンク元の検索要求に未処理の抽出条件があると判断したならば、再びステップＳ１へと戻る。
【００９１】
次に検索リンク手段３５は、リンク元となるレポートの検索結果から、画面上でマウス等により選択されているレコードを取り出し、選択レコードの表示項目と表示値のペアを１つ取得する（Ｓ７）。次に検索リンク手段３５は、リンク先となるレポートの検索要求から抽出条件を１つ取得する（Ｓ８）。そして、検索リンク手段３５は、データ辞書１０を参照して、リンク元の選択レコードの表示項目とリンク先の抽出条件の仮想項目が「同じ」ものであると関連付けられているか否かを判断する（Ｓ９）。ここで、もし、リンク元の選択レコードの表示項目とリンク先の抽出条件の仮想項目がデータ辞書１０において「同じ」と関連付けられているならば、検索リンク手段３５は、リンク先の抽出条件の条件値をリンク元選択レコードの当該表示項目の表示値に置き換える（Ｓ１０）。他方、リンク元の選択レコードの表示項目とリンク先の抽出条件の仮想項目が同じでなければ何もしない。
以降、検索リンク手段３５は、次のリンク先の抽出条件を同様に調査する（Ｓ１１）ここで、すべてのリンク先の抽出条件を調査し終えたと判断したならば、次のリンク元の選択レコードの調査（Ｓ１２）へと進み、まだリンク元の検索要求に未処理の抽出条件があると判断したならば、再びステップＳ８へと戻る。その後、ステップＳ１２では、次のリンク元の選択レコードの表示項目を同様に調査する（Ｓ１２）。ここで、すべてのリンク元の選択レコードの表示項目を調査し終えたと判断したならば、引き継ぎ処理を終了させ、まだリンク元の選択レコードに未処理の表示項目があると判断したならば、再びステップＳ７へと戻る。
最後に、検索リンク手段３５は、抽出条件が置き換えられたリンク先レポートの検索要求を仮想データベース部２０に対して発行し、抽出条件および選択内容が引き継がれたリンク先の検索結果を得る。
【００９２】
ここで、「同じ」と関連付けられているかどうかの判定は、本実施例においては、リンク元レポートの検索要求とリンク先レポートの検索要求が同一の仮想データベースを検索対象とする場合には、検索対象の仮想表に関わらず、仮想項目の定義（すなわち項目の名称）が同一かどうかで行っている。これにより、それぞれの検索要求間あるいは検索結果間あるいはレポート間の項目の関連付けを個別に定義することなく、異なるレポート間での抽出条件および選択内容の引き継ぎを、自動的に実現している。
また、リンク元検索要求とリンク先検索要求の検索対象が異なる仮想データベースの場合でも、仮想項目の定義に付加された、「異なる仮想表間で同一の仮想項目である」ことの定義情報を参照することにより、関連付けを判定することができる。
【００９３】
（ダッシュボード連動手段）
ダッシュボード連動手段３７は、複数のレポートを同一画面上に複数配置するダッシュボードにおいても、異なる検索結果から作成された複数のレポートを一括して、データ分析操作することができる。
図１１に、ダッシュボードにおける複数レポート間の抽出条件連動の設定画面のイメージを示す。
ダッシュボードを構成する複数のレポートの間で抽出条件を連動させるには、先ず、「条件追加」のボタンを指示して「ダッシュボード抽出条件の追加」の画面を開く（図１１下）。すると、この「ダッシュボード抽出条件の追加」の画面には、抽出条件を連動させようとしているレポートの検索要求に含まれる抽出条件が表示される。そこで、この画面に表示された抽出条件の中から、任意の抽出条件を選択して、ダッシュボード抽出条件に追加を行う。追加されたダッシュボード抽出条件は、「ダッシュボード抽出条件の一覧」（図１１左側）に表示される。
例えば、図１１に示された例においては、「商品別売上一覧」といったレポートの検索要求に含まれる「商品番号」といった抽出条件を、他のレポートの抽出条件と連動させようとしている。このため、図１１の例では、まず、「商品別売上一覧」といったレポートの検索要求に含まれる「商品番号」といった抽出条件項目を、ダッシュボード抽出条件に追加している。
【００９４】
次に、ダッシュボードの一覧からダッシュボード抽出条件の一つを選択すると、「この抽出条件と連動するレポート」という部位に、選択された抽出条件と同じ抽出条件項目を含むレポートの一覧が表示される（図１１右上）。そこで、この「この抽出条件と連動するレポート」に表示されたレポートのそれぞれついて、他のレポートの抽出条件との連動の可否を指定する。これにより、１回の抽出条件設定により、抽出条件の連動が可能となっている複数のレポートの抽出条件を同時に設定することができる。
例えば、図１１に示された例において、ダッシュボードの一覧の中から「商品番号」といった抽出条件項目を選択すると、「この抽出条件と連動するレポート」という部位（図１１右上）に、「商品別売上一覧」、「月次売上推移」、「担当者別実績」、および「顧客別売上ランキング」といったレポートが表示される。これは、ここに表示された各種のレポートが、「商品番号」という抽出条件と連動可能な抽出条件を有していることを意味する。そこで、これらの各種のレポートの中から、「商品番号」という抽出条件を連動させようとするレポートを任意に選択することができる。なお、図１１に示した例では、「商品別売上一覧」と「月次売上推移」の抽出条件だけを連動するように設定している。
【００９５】
さらに、例えば、同じ意味内容を有しているにも関わらず名称の異なっている複数の抽出条件項目を互いに連動させることもできる。例えば、図１１に示された「他の抽出条件とのリンク」のボタンを指示指定すると、ダッシュボードの一覧で選択されている抽出条件（商品番号）以外の抽出条件項目が、選択可能に一覧表示される。そこで、ここに表示されている抽出条件項目の中から、ダッシュボードの一覧で選択されている抽出条件（商品番号）と連動させようとする抽出条件項目を選択する。これにより、このダッシュボードの一覧で選択されている抽出条件（商品番号）と他の抽出条件項目をリンクさせることができるようになる。なお、このようにして抽出条件のリンクが設定されたダッシュボード抽出条件は、利用時の抽出検索条件の一覧に表示されなくなり、検索実行時には、リンク元のダッシュボード抽出条件の値が、リンク先のダッシュボード抽出条件の値として、そのまま用いられる。
【００９６】
図１１に示された例において、このダッシュボードには「商品識別コード」というダッシュボード抽出条件項目がすでに定義されている。ただし、この「商品識別コード」という抽出条件項目は、「商品番号」という抽出条件項目と意味内容は同じものであるが、その名称が異なるため、コンピュータによる処理においては異なる抽出条件項目であると扱われる可能性が高い。そこで、これらの「商品識別コード」と「商品番号」を、操作画面上の「他の抽出条件とのリンク」の部位において互いに連動させることで、利用者端末からの入力操作に基づいて、異なるレポート間のリンク操作をより正確に行うことができるようになる。
【００９７】
このようにして連動関係が指定された抽出条件項目に関する情報は、データ辞書１０のプレゼンテーション構造に登録される。このような意味において、データ辞書１０の内容（特に抽出条件項目同士の連動関係）は、利用者端末からの入力操作に基づいて更新されるものである。また、本発明のシステムを実際に使用することで、データ辞書１０内の情報の精度を高めることができる。
また、複数レポート間の抽出条件を連動させる機能を用いることにより、抽出条件設定時だけではなく、ダッシュボード上のレポートのドリルダウンの連動が可能となる。初期状態では条件値が空の状態でダッシュボード抽出条件項目を作成しておき、ダッシュボード上のいずれかのレポートに対してドリルダウンが指示された場合、ドリルダウンする項目がダッシュボード抽出条件項目であれば、抽出条件の連動が可となっている複数のレポートの抽出条件の値を、ドリルダウンで指示された値に置き換えることにより、ダッシュボード上の複数のレポートを連動してドリルダウンすることが可能となる。
【００９８】
（クラス仮想項目）
「顧客」や「商品」、「社員」といったマスター表は、主に対象の属性を管理するために用いられ、その構造は他のデータとは独立して定義されており、また関連する複数の項目を一体で操作することが一般的である、という特徴を持つ。
本発明は、このような関連する複数の仮想項目の集合を、仮想表とは独立して、一つの仮想項目として定義する、クラス仮想項目の機能を備える。
例えば、コードと名称等の属性を保持するマスター表において、検索要求発行手段３１の検索対象選択によりクラス仮想項目が表示項目として選択された場合には、クラス仮想項目に属する複数の仮想項目（例えば、コードと名称等）が自動的に検索要求の表示項目に追加されるようにすることができる。また、検索要求発行手段３１の抽出条件設定においては、利用者には自動的にコードと名称等が併記された分かりやすいメニューを表示し、利用者がメニューから条件を選択するとコードのみが検索条件に追加されるようなナビゲーションが可能となる。
また、階層関係にあるような複数の仮想項目の集合については、階層型クラス仮想項目を定義することができる。階層型クラス仮想項目では、例えば、検索要求指示部の抽出条件設定において、上位レベルの項目の値がメニュー表示されている中から１つを選択すると、その値に関連付けられている下位レベルの項目の値がメニュー表示され、利用者は、任意のレベルのメニュー表示された値の中から検索の抽出条件とする値を指定することができる。
【００９９】
図１２に、クラス仮想項目および階層型クラス仮想項目による抽出条件設定画面の操作イメージを示す。
マスター表に属する複数の項目を、個々の仮想表に従属する形で個別に定義するのではなく、複数の仮想表で共通して使用することのできるクラス仮想項目として一括で定義することにより、異なる仮想表に対する検索要求から作成された検索結果間でも同一あるいは関連する仮想項目として抽出条件や選択条件の値の引継ぎが容易となる。また、異なる仮想表においても、検索時の抽出条件の値設定や表示項目の選択などを、共通のガイダンスや操作手順で行うことができるようになり、利用者の利便性が向上する。
【０１００】
＜仮想データベース部の構成＞
図１３に、本実施例における仮想データベース部２０の機能ブロック図を示す。図１３に示されるように、仮想データベース２０は、検索要求翻訳手段２１と、検索命令実行手段２２と、データ統合加工手段２３とを含む。
仮想データベース部２０は、ビジネスインテリジェンス部３０で作成された検索要求を受け付け、仮想データベース部２０内で検索したデータを、ビジネスインテリジェンス部３０に検索結果として返す処理を行うことができる。あるいは、仮想データベース部２０は、ビジネスインテリジェンス部３０以外で作成された検索要求を受け付けるように構成することもでき、ビジネスインテリジェンス部３０以外の外部出力先に検索結果を返すように構成することもできる。
仮想データベース部２０が受け取る検索要求の記述形式は、検索対象とする表、検索対象とする項目のリスト、抽出条件の指定、グルーピングの指定、ソート順の指定、検索結果の出力先、及び検索結果を表示する書式の指定等を含んで構成され、標準ＳＱＬ構文を拡張して使用することも可能であり、あるいは専用の構文を用いても良い。
【０１０１】
（検索要求翻訳手段）
仮想データベース部２０に入力された検索要求は、先ず、検索要求翻訳手段２１に引き渡される。検索要求翻訳手段２１は、検索要求解析機能と検索命令生成機能から構成される。
【０１０２】
（検索要求解析機能）
検索要求解析機能では、入力された検索要求における項目リスト、抽出条件、グルーピング指定及びソート順指定等に出現する項目のすべてについて、データ辞書１０内の仮想データ構造の定義情報に基づいて仮想項目に変換する。さらに、重複する仮想項目を排除して、検索対象として含まれるべき仮想項目の一意のセットを作成する。
【０１０３】
次に、検索要求翻訳手段２１は、抽出された仮想項目セットについて、算出表適用定義に基づいて算出表の検査を行い、１つ以上の適合する算出表（以下、適合算出表）を検出する。
通常は、算出表適用定義は、上位の１つの算出表の下位に１つ以上の算出表を持つ木構造で表される。算出表適用定義の末端のノードはデータベースを検索対象とする外部算出表で構成され、それ以外の上位のノードは内部算出表で構成される。
下位の内部算出表の上位に内部算出表が定義されている場合とは、下位の内部算出表に対応するデータ統合加工手段２３の出力を、上位の内部算出表に対応するデータ統合加工手段２３の入力とすることにより、データ統合加工手段２３を多段階で実施することを意味する。
仮想項目のそれぞれに対して、算出表適用定義をたどって最適な適合算出表を検出するため、仮想項目によって異なる適合算出表が検出される場合もある。その場合には、異なる適合算出表から生成された検索命令を実行する段階において、異なる検索命令実行手段あるいは異なるデータ統合加工手段により取得されたそれぞれのデータを、最終的に統合して一つの検索結果として提供する。
【０１０４】
算出表適用定義の上位算出表と下位算出表の関係は、本実施例においては、併合関係、選択関係、参照関係の３つから選択することができ、これによりデータ統合処理機能でのデータ統合方式が決定される。
算出表適用定義をたどって、最適な適合算出表を検出する手順は、具体的には以下のようなる。なお、以降では、グルーピング指定または抽出条件の中で使われている仮想項目をキー項目と呼び、それ以外の仮想項目を属性項目と記述する。
【０１０５】
（１）算出表の算出項目リストに、仮想項目セットに含まれているキー項目をすべて含んでおり、且つ仮想項目セットに含まれている属性項目を一つ以上含んでいる場合、当該算出表を適合算出表とする。なお、算出表に個別に、抽出条件の条件値による判定等の適合条件が指定されている場合には、検索要求が適合条件を満たす場合のみ、適合算出表とする。
（２）下位に複数の算出表が併合関係で定義されている場合には、先行する算出表に適合した属性項目でも、以降の算出表を検査するための仮想項目セットに残す。
（３）下位に複数の算出表が選択関係で定義されている場合には、先行する算出表に適合した属性項目は、以降の算出表を検査するための仮想項目セットから除外する。
（４）下位に算出表が参照関係で定義されている場合には、下位の算出表の項目も上位の算出表で算出可能とみなし、仮想項目セットに下位の算出表の項目が含まれているときには、上位の算出表とともに下位の算出表を適合算出表とする。
（５）以上の手順を、最上位の算出表からその下位の算出表について順番に検査し、算出表が適合した場合にはさらにその下位の算出表について順番に検査し、これを繰り返す。以降の算出表を検査するための仮想項目セットに属性項目が無くなったとき、あるいはすべての算出表を検査し終えたならば終了する。
【０１０６】
（検索命令生成機能）
検索要求翻訳手段２１で得られた検索要求に対応する１つ以上の適合算出表は、検索命令生成機能に引き渡される。検索命令生成機能では、適合算出表に対応して、適合算出表が外部参照表である場合には、検索対象のデータベース３上で実行可能な検索命令を生成し、検索命令実行手段２２に引き渡す。また、適合算出表が内部参照表である場合には、データ統合加工手段２３で実行可能な１つ以上の検索命令を生成し、データ統合加工手段２３に引き渡す。
【０１０７】
先ず、検索命令生成機能では、適合算出表の各々について、仮想項目セットのキー項目および属性項目に適合した算出項目を、各検索単位の算出項目セットとする。
次に、検索命令生成機能では、求められた検索単位の各々における検索項目リスト、グルーピング指定、ソート指定、及び抽出条件について、仮想項目名を物理表及び物理項目を用いて記述されている算出項目の算出定義式に基づいて式展開する。
また、算出表における算出定義式の中で複数の物理表が使われている場合、物理表結合定義から複数の物理表間の結合条件を求め、表参照式に追加する。
検索対象のデータベースに対応する算出構文定義中の検索項目リスト、グルーピング指定式リスト、ソート指定式リスト、表参照式、抽出条件式等の各命令要素に対して、上記の式を展開して得られた式を代入することにより、実行可能な検索命令の一つが生成される。
以上の過程を、適合算出表の個数回繰り返すことにより、一連の正規化検索命令の組を得ることができる。
【０１０８】
なお、本実施例においては、検索命令生成機能は一つの適合算出表から一つの検索命令を生成しているが、一つの適合算出表から複数の検索命令を生成する、あるいは複数の適合算出表から一つの検索命令を生成するように構成することも可能である。
【０１０９】
（検索命令実行手段）
検索命令実行手段２２は、検索要求翻訳手段２１の検索命令生成機能で作成された１または複数の検索命令をデータベース１に対して実行し、それぞれの検索命令に対する応答として検索データを取得して一時保管領域に格納し、データ統合加工手段２３のデータ統合処理機能に送出する。
データベース１が検索インターフェイスとしてＳＱＬ言語をサポートする場合には、データベース１の物理表に対するＳＱＬによる検索命令の実行手段、データベース１に格納されたストアド・プロシージャを用いる検索命令の実行手段、あるいは、データベース１のＳＱＬ言語で直接定義された検索の検索結果を検索対象として検索結果から再度検索する検索命令の実行手段、のいずれか一つ以上の実行手段を備えて構成すればよい。
また、データベース１が検索インターフェイスとしてＳＱＬ言語をサポートしない場合には、データベース１の検索インターフェイスに対応する検索命令の実行手段、データベース１がファイルシステム上のデータファイルの場合には当該データファイルに対応する検索命令の実行手段、を備えて構成すればよい。
検索データの一時保管領域は、例えば、データベース１上における一時テーブル、特定の作業用データベース上における一時テーブル、磁気記憶媒体上の一時ファイル、メモリ上の記憶領域等を用いて構成すれば良い。
【０１１０】
（データ統合加工手段）
データ統合加工手段２３は、検索要求翻訳手段２１で生成された内部算出表に対応する検索命令に基づいて、データ統合およびデータ加工の処理を実行する。
データ統合とデータ加工を行った結果データは、検索要求に対応する検索結果として、ビジネスインテリジェンス部３０、あるいは、ビジネスインテリジェンス部３０以外の出力先に送られる。
ビジネスインテリジェンス部３０以外の出力先として、例えば、データベースのテーブルに対して、結果データを出力することができる。あるいは、ファイルシステムに格納されるデータファイルやネットワークを介して送られるデータストリーム等に、結果データを出力することが可能である。この場合、結果データの出力形式としては、例えば、ＣＳＶ（カンマ区切り可変長データ）形式、ＨＴＭＬ形式、ＸＭＬ形式、表計算シート形式などを用いることができる。
【０１１１】
最も単純な構成例においては、データ統合加工手段２３では、検索命令実行手段２２における処理過程で分割作成される複数の中間的な検索データの１つまたは複数を入力として、データ統合とデータ加工を行って、結果データを一つの表として出力する。
また、より複雑な構成例においては、あるデータ統合加工手段２３が出力する結果データを、別のデータ統合加工手段２３への入力として引き渡すように構成することが可能である。
内部算出表に対応する検索命令が複数個発行されている場合には、検索命令に指示されている順序に従い、前段のデータ統合加工手段２３が出力する結果データを、後段のデータ統合加工手段２３への入力として引き渡すことにより、データ統合加工手段２３の処理を順次繰り返し、多段階でデータ統合加工手段２３の処理を実行することができる。
【０１１２】
データ統合加工手段２３の機能は、データ統合処理機能と、統合されたデータの加工を行うデータ加工処理機能から構成される。
【０１１３】
（データ統合処理機能）
データ統合処理機能では、１つまたは複数の中間的なデータをもとに、データ統合を行って１つの表データを作成する。
データ統合処理機能では、併合方式、選択方式、参照方式のデータ統合方式を備え、その中から最適な方式を選択あるいは組み合わせて使用することができる。
検索要求に指定された仮想表に対してどのようにデータ統合方式を使用するかは、データ辞書１０の仮想表に対応する算出表適用定義に記述される。
図１４に、これらの複数のデータ統合方式の処理概念図を示す。
【０１１４】
併合方式（ＵＮＩＯＮ）は、検索要求に対して適用可能な複数の算出表から複数の検索命令を生成し、複数の検索命令を並列的に実行して抽出された複数の検索データをすべて併合して、先ず一つの表データにする。複数の算出表の検索データは、すべて共通のキー項目を含んでいるが、属性項目は一部の検索データにしか含まれていない。このため、この表データを、含まれるすべてのキー項目でグルーピングして、属性項目の値をグループ毎に集約することにより、キー項目がすべて重複する冗長部分（非正規性）を除去する。属性項目の集約方法は、特に指定がない場合には、数値型データは合計計算を行い、数値型以外のデータは空値と有効値の場合には有効値を選択する最大値計算を行えばよい。ただし、集約方法をデータ辞書で個別に指定することも可能である。
図１４の併合方式に示された例において、検索結果にキー項目として「得意先」と「商品」を持つことが要求されており、検索データ１と検索データ２はともにこの要件を満たし、両方に値が「得意先１」と「商品１」であるレコードが存在している。次に、属性項目の単価については、検索データ１のみに値があるため、集約して「単価１」を検索結果の値とする。また数量については、検索データ１と検索データ２の両方に値があるため、数値型の合計計算で集約して「数量１＋数量２」を検索結果の値とする。
併合方式は、それぞれのデータベースからの検索データを一つの検索命令で取得することができ、また複数の検索命令を並列で実行できるため処理パフォーマンスが高いが、集約のために必要となるキー項目が、取得した検索データにすべて含まれていることが要件となる。
【０１１５】
選択方式（ＣＨＯＩＣＥ）は、検索要求に対して適用可能な複数の算出表を優先順位に従って検査し、要求されているキー項目をすべて含んでいることを条件に、それぞれの属性項目を含んでいる最も優先順位の高い算出表を選択して検索命令を生成し、実行して検索データを取得する。複数の属性項目に対して複数の検索命令が生成された場合には、それぞれ実行して抽出された複数の検索データを、併合方式と同様の方法でグルーピング及び集約して、冗長部分を除去する。
図１４の選択方式に示された例においては、検索結果にキー項目として「得意先」と「商品」を持つことが要求されているが、検索データ１はキー項目として「得意先」しか有していないので検索対象としない。次に、検索データ２にはキー項目として「得意先」と「商品」が含まれているので、ここから属性項目の「単価」、「数量」も取得する。これによりすべての属性項目が取得できるためここで判定を終了するが、もし属性項目の一部が取得できない場合には同様の判定をさらに続ける。
選択方式は、あるデータベースに格納されている明細データに対して、１または複数レベルの集約データも合わせて作成されてデータベースに格納されている場合に、与えられた検索要求の要求内容を満たし、かつ最も集約レベルの高いデータを検索対象とする算出表を自動的に選択することにより、データベースに対する検索処理効率の向上を図ることが出来る。
【０１１６】
参照方式（ＬＯＯＫＵＰ）は、一つの算出表に対して関連する１あるいは複数の参照する算出表を関連付けておく。もとの一つの算出表に対応する検索命令を生成・実行して取得した検索データの各レコードに対して、参照する算出表ごとに算出表適用定義に定義された参照条件にもとづいて検索を行って参照データとし、もとの検索データに不足する項目について参照データの対応する項目から値を転記することにより、複数の検索データを使って結果データを算出する。
図１４の参照方式に示された例において、最初の検索データ１では「得意先」、「商品」、「数量」が得られているが、「単価」という項目が欠落している。検索データ２の参照条件が「検索データ１の商品と検索データ２の商品が同じ値であること」とすると、検索データ１で得られた商品の値「商品１」を条件として検索データ２を参照し、得られた単価の値「単価１」を検索結果の単価の値に転記する。
参照方式は、一つの検索命令を実行して取得した検索データに必要な集約キーの一部が含まれていない場合に、別の検索命令を実行して関連する検索データを取得し、不足する集約キーを補足してから集約処理を行うことができる利点がある。
【０１１７】
（参照の処理方式）
参照方式においては、定義された参照条件にもとづいて検索を行って参照データを取得するが、一般に、参照条件は条件式の変数として参照元の項目を含んでいるため、参照元と参照先のデータベースが異なる場合には、参照先のデータベースで直接に検索を実行することができない。このため、異なるデータベース間の参照の処理方式は、通常のデーベースにおける結合処理（ＪＯＩＮ）とは違う仕組みが必要となる。
本実施例においては、参照の処理方式として、逐次参照方式、一括結合方式及び順次併合方式の３つの処理方式を備える。図１５Ａ及び図１５Ｂに、これらの複数の参照の処理方式の処理概念図を示す。
【０１１８】
逐次参照方式は、一つの検索命令を生成・実行して取得した検索データから、１レコードずつ取得する。当該レコードを参照元として検索するために、参照条件の条件式に変数として含まれている参照元の項目を、当該レコードの項目値に置換する。こうして得られた参照条件を検索命令に付加して参照先の検索データを取得し、両方のレコードを連結して結果データを算出する。以上の手順を、取得した検索データのすべてについて逐次繰り返す。
必要となる参照の検索命令の回数は、原理的には参照元の検索データの件数となるため、特に大量のデータを参照する場合には処理時間がかかる傾向がある。しかし、参照元の検索データの１レコードずつではなく、参照元の検索データの複数レコードをまとめて１つの参照する検索命令の結合条件に組み込むことは可能であり、その場合の発行する検索命令の個数は（参照元の検索データの件数÷参照１回あたりのレコード数）となる。
【０１１９】
一括結合方式は、参照元の検索対象となるデータおよび参照先の検索対象となるデータのすべてを一つの作業用データベースに一旦格納し、作業用データベースに対して結合（ＪＯＩＮ）処理を行う検索命令を発行して、結果データを一括算出する。作業用データベースに十分な作業領域が必要で、一般に処理手順が複雑となる。
一括結合方式の処理効率について、作業用データベースにおける結合処理は通常かなり高速であるため、結合処理の対象となるデータの作業用データベースへの転送効率、特に書き込み効率に大きく依存する。作業用データベースは検索対象のデータベースのいずれかを用いても良いため、参照元あるいは参照先のデータのいずれかが大量で、反対側は少量である場合には、大量側のデータを格納するデータベースへ少量側のデータを転送することにより、大量データの転送を行うことなく、高速に処理することが可能である。また、データの更新頻度が低く、静的に保持しても問題がないデータは、あらかじめ作業用データベースへ転送しておくことにより、参照検索の処理効率を向上させることができる。
【０１２０】
順次併合方式では、参照元の検索対象となるデータと参照先の検索対象となるデータを、あらかじめ参照条件の条件値の順番に並び替えておき、その後順次読み込みながら、参照元レコードと参照先レコードの参照条件の条件値を比較し、条件値が一致するものについて結果データを算出する。
図１６に、順次併合方式の処理概念を例示する。参照元データには、「出荷先コード」、「商品コード」、「数量」が含まれている。参照先データ１には、「出荷先コード」と「出荷先名」が含まれている。参照元データと参照先データ１との参照条件は、「参照元データ．出荷先コード＝参照先データ１．出荷先コード」である。したがって、参照元データを出荷先コードで並べ替えし、参照先データ１を出荷先コードで並べ替えを行う。その後、参照元データと参照先データ１を順次読み込み、出荷先コードが同一のレコードについて、出荷先名は参照先データ１を転記し、その他の項目は参照元データから転記して、中間データを作成する。
次に、中間データと参照先データ２に、同様に商品コードで並べ替えを行う。その後、中間データと参照先データ２を順次読み込み、商品コードが同一のレコードについて、商品名と単価は参照先データ２を転記し、その他の項目は中間データから転記して、結果データを作成する。もし参照元データあるいは参照先データに同一の条件値を持つレコードが複数存在する場合には、それぞれのレコードに対して結果データを作成するため、複数の結果データが出力されることとなる。
【０１２１】
図１７に、順次併合方式の具体的な処理フローを示す。
先ず、参照条件に含まれるすべての参照元の項目で参照元データの並び替えを行い、参照条件に含まれるすべての参照先の項目で参照先データの並び替えを行う。このとき、並び替えの順序は、参照条件の条件値が昇順となるようにする。（降順の場合には、以下の大小関係を逆に読み替えればよい。）
次に、参照元からレコードを１件読み込む。参照先からもレコードを読み込むが、同一条件値のレコードが複数存在する場合は、同一条件値のレコードを全部読み込んでレコード・セットとする。
参照元レコードの項目値による参照条件の条件値と、参照先レコードの項目値による参照条件の条件値とで大小比較を行う。もし、参照元レコードの条件値が小さい場合には、次の参照元レコードを読み込んで、再度、条件値の大小比較を行う。もし、参照先レコード・セットの条件値が小さい場合には、次の参照先レコード・セットを読み込んで、再度、条件値の大小比較を行う。
もし両方の条件値が等しく、すなわち参照条件が成立しているならば、参照先レコード・セットから１件取り出して参照先レコードとし、参照元レコードの不足項目について参照先レコードから値を転記して、結果データを出力する。この処理を、参照先レコード・セットの全てのレコードについて繰り返す。これにより、参照元の１レコードと参照先のｎレコードの条件値が対応する場合には、結果データがｎレコード出力される。レコード・セットの処理を完了したならば、次の参照元レコードを読み込んで、再度、条件値の大小比較を行う。
ここで参照先レコード・セットはレコード出力後もそのまま残されるため、参照元のｍレコードの条件値と、参照先のｎレコードを含むレコード・セットの条件値が対応する場合には、結果データがｍ×ｎレコード出力されることになる。これは、ＳＱＬのキー重複を含むレコードの結合処理と同等の結果である。
以降、この手順をすべての参照元レコードあるいはすべての参照先レコードを処理し終えるまで繰り返す。
【０１２２】
順次併合方式は、検索対象となるデータを事前に並び替えておく必要はあるが、１回の全レコードの順次読み込みにより参照処理が完了するため、処理時間が極めて安定している。ただし、全体の中の一部のレコードだけが必要な場合には、全レコードの読み込みが必要となるためあまり適さない。
また、並び替え処理や参照条件比較処理を含めて、全ての処理をシーケンシャル処理で構成できるため、メモリ消費量が極めて少なく大量データの処理に適している。特に、複数の大量データ同士を結合しなければならない場合などには、順次併合方式は大きな効果を発揮する。
【０１２３】
以上のように、データ統合方式について、複数の方式から最適な統合方式を選択、あるいは複数の統合方式を組み合わせて使用することができ、また統合方式が参照の場合の処理方式についても、複数の方式から最適な参照処理方式を選択、あるいは複数の参照処理方式を組み合わせて使用することができ、様々な状況において最適な統合処理効率を実現できるようにする。
【０１２４】
（データ加工処理機能）
データ加工処理機能では、データ統合処理機能で得られた一つの表データに対して、以下のような処理を行い、検索命令における指示内容に適合する結果データとして出力する。
（１）キー項目でグルーピングし、属性項目の値をグループ毎に集約する、分類・集約処理
（２）検索命令にデータ編集の指定がある場合には、数値演算、文字列操作、日付変換、コード変換等のデータ編集処理
（３）データ抽出条件が指定されている場合には、特定の値範囲条件指定、文字列のパターン・マッチング等によるデータ抽出処理
（４）検索命令に出力順が指定されている場合には、ソート処理
【０１２５】
また、データ加工処理機能には、レコード内のスカラー演算では処理することが困難な、レコード間の関係・順序に依存するような演算を行う機能を持たせることも可能である。そのような機能の例を、以下に挙げる。
（１）１番目の合計、１番目と２番目の合計、１番目と２番目と３番目の合計、といった累計処理
（２）１番目の合計、１番目と２番目の合計、２番目と３番目の合計、３番目と４番目の合計、といった移動累計処理
（３）１番目の値、２番目と１番目の差分、３番目と２番目の差分、といった差分処理
（４）先頭値、末尾値、先頭からｎ件目、末尾からｎ件目などのレコード連番にもとづく処理
（５）直前レコード、直後レコードなどのレコード順番による処理
（６）分散、相関、推定、検定などの統計処理
このような処理は、ＳＱＬの分析関数を使用しても実現が可能なものもあるが、通常のデータベース・エンジンではＳＱＬの分析関数はメモリ上での処理となるため、処理できるデータ量に制約があり、大量データの処理に適さない。本実施例のデータ加工処理機能は、ストリーム処理が前提となっているため、メモリの消費量がきわめて少なく、大量データの処理に適しているという利点がある。
【０１２６】
（検索命令生成機能の最適化）
また、検索命令実行手段２２で取得した複数の中間的な検索データをもとに、データ統合加工手段２３においてデータ統合処理やデータ加工処理を行う。このため、検索要求翻訳手段２１の検索命令生成機能においては、処理対象とするデータベースからの結果データのレコード件数を最少とするように、検索命令を生成することが重要である。これにより、結果データの転送による通信オーバーヘッドを減らすとともに、データ統合加工手段２３での処理効率を向上することができる。このため、検索命令生成機能では、以下のような対応を行う。
【０１２７】
検索要求に指示されている仮想データベース部に対する抽出条件のうち、可能なものについてデータベースに対する検索命令に変換して適用する。これにより、検索対象となるデータおよび検索結果として返されるデータを絞り込むことができる。
検索要求で要求されている分類集計のうち、可能なものについてデータベースに対する検索命令であらかじめ分類集計し検索結果を集約する。これにより、データベースから出力される検索結果のデータ件数を削減できる。
また、コード・名称変換のような、頻繁にデータの更新が行われない静的な属性を管理するマスターを参照するような処理は、件数が多いデータベースへの明細データの検索段階では行わず、件数の少ない集約後のデータに対して行う。これにより、参照処理の回数を減らすことが可能である。
【０１２８】
（データ・キャッシュ）
さらに、データ統合加工手段では、検索処理効率の向上のため、検索データをキャッシュする機構を備えることができる。図１８は、検索データ・キャッシュの処理概念図を示している。検索データ・キャッシュは、データ統合処理の結果の表データ、あるいはデータベース検索実行機能における処理過程で分割作成される中間的な検索データを、事前に作成して検索データ・キャッシュ用の外部記憶領域に格納しておき、検索実行時には、データベースの代わりに、検索データ・キャッシュ用の外部記憶領域のデータを参照することにより、実現される。
検索データ・キャッシュ用の外部記憶領域にあらかじめ格納するタイミングは、管理者の指定する一定の日時、あるいは利用者による初回検索時、あるいはデータ更新など外部のイベントによる起動など、任意に設定することができ、また管理者の指定により検索データ・キャッシュの有効期限を設定し、有効期間を超えている場合には検索データ・キャッシュを再作成するようにできる。
また検索データ・キャッシュの作成対象範囲については、仮想表あるいは算出表単位に、利用者の選択可能な項目はすべて含み、利用者の指定可能な抽出条件はすべての値を含んで、作成するようにできる。これにより、仮想表あるいは算出表を対象とする検索のすべてに対して、検索データ・キャッシュが有効となり、検索処理効率の高速化が図られる。
【０１２９】
（データ統合加工手段の多段階化の効果）
本発明は、データ統合加工手段２３の処理を多段階で実行することができる機能を備えている。このような多段階のデータ統合加工の必要性は、特定対象の件数を求める場合や、全体構成比を求める場合、出現頻度を求める場合、あるいは上位／下位ｎ件のみ出力する場合などがあり、特に検索結果の指標化などの統計加工を行う段階において多く発生する。
また、大量データに対して複雑な統計処理を行う場合には、処理効率の観点から、ステップを分けてデータ統合加工を実行する必要がある場合が多く見うけられる。
本発明では、データ辞書の算出表適用定義に、適用する仮想項目とともに、多段階のデータ統合加工を定義しておくことにより、利用者からの検索要求に応じて、仮想項目ごとに自動的に必要な段数のデータ統合加工を判別して、適切な段数のデータ統合加工処理を実行することができる。
【０１３０】
多段階のデータ統合加工手段を含む処理イメージを、図１９にもとづいて説明する。
データベースには、販売店ごとに分割された複数の出荷データ（物理表：Ｔ１およびＴ２）が格納されており、それぞれに商品、出荷先、出荷数量に相当する項目が含まれている。しかしながら、Ｔ１とＴ２は、検索に用いられない「・・・」で示される部位が異なっており、また登録されている項目の名称が異なる（「販売店名」と「Ｄｅａｌｅｒ」、「商品名」と「Ｐｒｏｄｕｃｔ」等）といった点において、データのフォーマットが異なっている。このＴ１及びＴ２を含んで構築されたデータベースから、Ｒで示されるような商品別に出荷数量と出荷先数を集計した最終的な検索結果を得たいとする。
【０１３１】
まず、商品別の出荷数量を取得するには、Ｔ１およびＴ２から必要なデータを抽出した複数の検索データに対して、データ辞書に基づいて名称の異なる項目を関連付けるなどして一つの表に統合し、統合されたデータを商品別に集計する。これにより、商品別に出荷数量をカウントした第１の結果データ（Ｖ１）が得られる。この場合、データ統合加工手段の実行は１回である。
一方、商品別に出荷先数と出荷数量を取得する場合には、Ｔ１およびＴ２から取得して一つの表に統合したデータに対して、一旦、重複する出荷先を排除するために商品別・出荷先別にデータを集約（Ｖ２）してから、商品別に出荷先数のカウントを行って第２の結果データ（Ｖ３）を得る必要がある。このため、商品別・出荷先別のデータ集約と、出荷先件数のカウントとで、データ統合加工手段の実行は２回必要となる。
そして、第１の結果データ（Ｖ１）と第２の結果データ（Ｖ３）のデータをまとめることにより、検索要求に対応した最終的な結果データＲを得ることができる。
【０１３２】
ここで、検索結果を得るために必要なデータ統合加工の段数は、データ辞書に基づいて自動的に判別されているため、利用者は全く意識する必要がない。
本発明における多段階でのデータ統合加工の実現により、利用者は、従来はデータベースから直接に取得することが困難であった複雑あるいは高度な統計処理などを含むレポートを、検索要求を発行するだけで簡単に取得できるようになり、事前や事後に人手によるデータ加工を行う必要がなくなる。すなわち、従来の仮想データベースに比べて、より複雑あるいは高度な検索要件に対して、柔軟に対応できるという特長を有している。
【０１３３】
以上、本願明細書では、本発明の内容を表現するために、図面を参照しながら本発明の実施形態の説明を行った。ただし、本発明は、上記実施形態に限定されるものではなく、本願明細書に記載された事項に基づいて当業者が自明な変更形態や改良形態を包含するものである。
【符号の説明】
【０１３４】
１…データベース                        ２…利用者端末
３…管理者端末                          １０…データ辞書
２０…仮想データベース部                ２１…検索要求翻訳手段
２２…検索命令実行手段                  ２３…データ統合加工手段
３０…ビジネスインテリジェンス部        ３１…検索要求発行手段
３２…レポート出力手段                  ３３…ダッシュボード手段
３４…ライブラリ管理手段                ４０…データ辞書編集部
１００…データ検索装置
【要約】
【解決課題】単一のキューブでは対応が困難な不整合を含むデータを分析するためのデータ検索ツールを提供する。
【解決手段】データ検索ツールであって、仮想データベース部の機能とビジネスインテリジェンス部の機能を一体のソフトウェアとして融合し、異なる検索要求間の関連性を管理することのできる単一のデータ辞書で制御することにより、異なる検索要求に基づいて複数のデータベースからそれぞれ取得したデータを統合して複数の検索結果を作成し、複数の検索結果から得られる複数のレポートを自動的に関連付けて操作することを特徴とする。
【選択図】図４【図１】
0005916974.tif 000002
【図２】
0005916974.tif 000003
【図３】
0005916974.tif 000004
【図４】
0005916974.tif 000005
【図５】
0005916974.tif 000006
【図６】
0005916974.tif 000007
【図７】
0005916974.tif 000008
【図８】
0005916974.tif 000009
【図９】
0005916974.tif 000010
【図１０】
0005916974.tif 000011
【図１１】
0005916974.tif 000012
【図１２】
0005916974.tif 000013
【図１３】
0005916974.tif 000014
【図１４】
0005916974.tif 000015
【図１５Ａ】
0005916974.tif 000016
【図１５Ｂ】
0005916974.tif 000017
【図１６】
0005916974.tif 000018
【図１７】
0005916974.tif 000019
【図１８】
0005916974.tif 000020
【図１９】
0005916974.tif 000021