説明

データ利用状況分析システムと方法およびプログラム

【課題】対象システムのデータベースに格納されているデータの内容から、対象システムのより正確な活用度を推し量ることを可能とする。
【解決手段】データ利用状況分析システム(利用状況集計システム102)は、項目入力判定部104により、パラメータファイル109の設定内容に基づき、対象システム(営業支援システム110)のデータベース(DBサーバ112が管理する折衝情報テーブル111)に登録されているデータの項目ごとの利用率を求め、また、パラメータファイル109において、自由にランク付けしたグループ毎の条件(ランクごとのデータが満たすべき条件)を設定しておき、ランク判定部106により、当該条件を満たすデータの検索を行い、その検索結果に基づきランク別にデータの分析を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、営業支援システムをはじめとするCRM(Customer Relationship Management)システム等、コンピュータシステムで管理するデータに対する利用状況を分析する技術に係り、特に、対象システムの利用状況の分析を質的な観点から行うのに好適な技術に関するものである。
【背景技術】
【0002】
企業においては例えば生産性向上のために、コンピュータを用いた様々なシステムやサービスが導入されている。それらが有効に活用されているかを知るための技術として、例えば、特許文献1に記載の技術がある。
【0003】
この技術は、情報記憶部に記憶している情報に対する参照や編集等の処理が実行された際に、処理内容をログとしてログ記憶部に記憶しておき、このログを表示装置に表示する際、当該ログに基づいて他のユーザの参照状況やその時間等の情報(共有を支援するための情報)を生成し、この生成した情報を含めて表示するものである。
【0004】
しかし、この技術では、システムの活用度(利用度)は、単に、ユーザがアクセス(参照/更新等)した履歴から確認するだけであり、例えば、システム内の「データの充実度」や「データの内容」までは考慮されていない。そのため、エンドユーザが実際に対象システムをどこまで活用しているかを十分に判断することはできない。
【0005】
【特許文献1】特開2004−246711号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
解決しようとする問題点は、従来の技術では、システムの活用度(利用度)は単にユーザがアクセス(参照/更新等)した履歴から確認するのみで、システム内のデータの充実度やデータの内容までは考慮されておらず、そのため、エンドユーザが実際に対象システムをどこまで活用しているかを判断することができない点である。
【0007】
本発明の目的は、これら従来技術の課題を解決し、対象システムに収集されているデータ、例えば、データベースに格納されているデータの内容から、対象システムのより正確な活用度を推し量ることを可能とすることである。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明では、図1に示す構成により、データ利用状況分析システム(利用状況集計システム102)が、項目入力判定部104により、パラメータファイル109の設定内容に基づき、対象システム(営業支援システム110)のデータベース(DBサーバ112が管理する折衝情報テーブル111)に登録されているデータの項目ごとの利用率を求め、また、パラメータファイル109において、自由にランク付けしたグループ毎の条件(ランクごとのデータが満たすべき条件)を設定しておき、ランク判定部106により、当該条件を満たすデータの検索を行い、その検索結果に基づきランク別にデータの分析を行う。
【発明の効果】
【0009】
本発明によれば、対象システムのデータベースに登録されているデータのどの項目が使用されているのかという充実度や、各データ項目の内容がどうなっているのかの確認を行い、格納されているデータの内容から対象システムの活用度を推し量ることが可能になる。
【発明を実施するための最良の形態】
【0010】
以下、図を用いて本発明を実施するための最良の形態例を説明する。図1は、本発明に係るデータ利用状況分析システムを設けたネットワークコンピュータシステムの構成例を示すブロック図であり、図2は、図1におけるデータ利用状況分析システムの本発明に係る処理動作例を示すフローチャート、図3は、図1のクライアント装置における項目入力判定部の処理動作例を示すフローチャート、図4は、図1のクライアント装置におけるランク判定部の処理動作例を示すフローチャート、図5は、図1における営業支援システムのDBサーバが管理する折衝情報テーブルの詳細構成例を示す説明図、図6は、図1のクライアント装置におけるデータ利用状況分析システムが記憶するパラメータファイルの詳細構成例を示す説明図、図7は、図1のクライアント装置における実行画面で表示される画面例を示す説明図、図8Aは、図1のクライアント装置におけるデータ利用状況分析システムが記憶する設定ファイルの詳細構成例を示す説明図、図8Bは、図1のクライアント装置におけるデータ利用状況分析システムが記憶するパラメータファイルの基本的な構成例を示す説明図、図8Cは、図1のクライアント装置におけるデータ利用状況分析システムが記憶するパラメータファイルの具体例を示す説明図、図9は、図1のクライアント装置におけるデータ利用状況分析システムの項目入力判定部およびランク判定部が生成するSQL文の具体例を示す説明図、図10は、図1のクライアント装置におけるデータ利用状況分析システムの項目入力判定出力ファイルおよびランク判定出力ファイルに格納された具体的なファイル例を示す説明図である。
【0011】
図1におけるクライアント装置(図中、「クライアント端末」と記載)101および営業支援システム110のDBサーバは、CPU(Central Processing Unit)や主メモリ、表示装置、入力装置、外部記憶装置等を具備したコンピュータ構成からなり、光ディスク駆動装置等を介してCD−ROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、各処理部の機能を実現する。
【0012】
本例では、クライアント装置101と営業支援システム110におけるDBサーバ112は、ネットワーク120を介して接続された構成となっており、クライアント装置101には、本発明に係るデータ利用状況分析システム(図中「利用状況集計システム」と記載)102が設けられており、営業支援システム110は、DBサーバ112により、データ利用状況分析システム102による分析の対象となる折衝情報テーブル111等を格納・管理している。
【0013】
クライアン装置101におけるデータ利用状況分析システム102は、エンドユーザが参照・操作する実行画面103、プログラムの動作環境等を記載した設定ファイル108、項目の判定条件等を記載したパラメータファイル109、営業支援システム110のDBサーバ112が管理するデータベースのテーブルの項目(カラム)ごとの入力判定を行う項目入力判定部104、その結果の出力ファイルを格納する項目入力判定出力ファイル105、設定した条件によりテーブル内のデータのグループ分け(以下、「ランク分け」と記載する)を行いランクごとの集計を行うランク判定部106、その結果の出力ファイルを格納するランク判定出力ファイル107を具備している。
【0014】
尚、実行画面103は、キーボードやマウス等からなる入力装置とCDTやLED等からなる表示装置により構成され、項目入力判定部104とランク判定部106は、プログラムを用いたコンピュータ処理により構築され、設定ファイル108とパラメータファイル109、および、項目入力判定出力ファイル105とランク判定出力ファイル107のそれぞれはHDD等からなる記憶装置に構築される。
【0015】
項目入力判定部104は、ネットワーク120を介してDBサーバ112から例えば折衝情報テーブル111を読み込み、図示していない記憶装置に記憶し、記憶した折衝情報テーブル111における全レコード数を計数する第1の機能と、折衝情報テーブル111の各項目におけるデータの登録状況情報をレコード毎に取得する第2の機能と、この第2の機能で取得したデータの登録状況情報と第1の機能で計数した全レコード数とを用いて、当該テーブルの利用状況を示す情報を生成する第3の機能と、この第3の機能で生成した情報を項目入力判定出力ファイル105に出力する第4の機能とを有する。
【0016】
パラメータファイル109には、項目入力判定部104が、第2の機能で、折衝情報テーブル111におけるデータの登録状況情報の取得を行う際に参照する、予め各項目毎に定められた条件情報を記憶している。尚、この条件情報は、第2の機能で、データを登録済であると判定するデータ値からなり、項目入力判定部104は、第2の機能により、折衝情報テーブル111の各項目におけるデータ値に基づき、各レコード毎の各項目におけるデータの入力済・未入力を判定し、この判定結果を登録状況情報として取得する。
【0017】
また、項目入力判定部104は、第3の機能により、第2の機能が登録状況情報として取得した、各レコード毎の各項目におけるデータの入力済・未入力の判定結果と、第1の機能で計数した全レコード数とを用いて、各項目毎に、入力済レコード数と未入力レコード数、および、入力済レコード数を全レコード数で除算した入力率と未入力レコード数を全レコード数で除算した未入力率を、折衝情報テーブル111の利用状況を示す情報として生成する。
【0018】
このように、本例のデータ利用状況分析システム102は、入力装置から入力された指定情報に対応するテーブル(折衝情報テーブル111)を、ネットワーク120を介して、営業支援システム110におけるサーバ112が管理するデータベースから読み込み、項目入力判定部104により、まず、折衝情報テーブル111における全レコード数を計数し、次に、当該折衝情報テーブル111の各項目におけるデータの登録状況情報をレコード毎に取得し、取得したデータの登録状況情報と全レコード数とを用いて、当該折衝情報テーブル111の利用状況を示す情報を生成し、項目入力判定出力ファイル105に出力する。
【0019】
より詳細には、項目入力判定部104がデータの登録状況情報の取得を行う際に参照する、予め各項目毎に定められた条件情報をパラメータファイル109に登録しておく。尚、この条件情報は、項目入力判定部104が、当該データを登録済であると判定するデータ値からなり、項目入力判定部104は、折衝情報テーブル111の各項目におけるデータ値に基づき、各レコード毎の各項目におけるデータの入力済・未入力を判定し、この判定結果を登録状況情報として取得する。
【0020】
そして、項目入力判定部104は、登録状況情報として取得した、各レコード毎の各項目におけるデータの入力済・未入力の判定結果と、計数した全レコード数とを用いて、各項目毎に、入力済レコード数と未入力レコード数、および、入力済レコード数を全レコード数で除算した入力率と未入力レコード数を全レコード数で除算した未入力率を、テーブルの利用状況を示す情報として生成する。
【0021】
以下、図2〜図4に示すフローチャートをもとに、このようなデータ利用状況分析システム102の処理動作を説明する。
【0022】
エンドユーザがクライアント装置101を操作し、表示装置の画面上に表示されている実行画面103(ここでは図7における実行画面例701の表示内容を用いる)の、集計対象データリストから「折衝情報」を選択して「実行」ボタンを押す(ステップS201)。エンドユーザの操作はここまでで、以降はデータ利用状況分析システム102により自動で処理される内容である。
【0023】
データ利用状況分析システム102は、まず、設定ファイル108、ここでは図8Aに示す設定ファイル801から、エンドユーザがステップS201で選択した「折衝情報」を集計するための以下の設定情報を読み込む(ステップS202)。
【0024】
[Database]セクションから、DBの接続文字列(ConnectString=DB_NAME)と、DBのログインID(LoginId=LOGIN_ID)、および、DBのログインパスワード(LoginPassword=LOGIN_PASS)の3つの設定を読み込む。
【0025】
ステップS201でユーザが選択したデータ名である[折衝情報]セクションから、「項目入力判定出力ファイル名(Out_File=C:¥SAMPLE1¥Output¥折衝情報_項目.csv)と、ランク判定出力ファイル名(Rank_File=C:¥SAMPLE1¥Output¥折衝情報_ランク.csv)、集計対象テーブル名(Table=TBL_SESSYO)、初期検索条件(Filter=ANKEN <> 'N')、パラメータファイル名(Param_File=C:¥SAMPLE1¥Param¥SE.txt)の5つの設定を読み込む。
【0026】
次に、データ利用状況分析システム102は、ステップS202で取得したDBの接続文字列(DB_NAME)、DBのログインID(LOGIN_ID)、DBのログインパスワード(LOGIN_PASS)を指定して営業支援システム110のデータベースに接続する(ステップS203)。
【0027】
そして、データ利用状況分析システム102は、ステップS202で取得した集計対象テーブル名(TBL_SESSYO)を指定して、『SELECT COUNT(*) FROM TBL_SESSYO ;』とのSQL(Structured Query Language)文を生成して実行する(ステップS204)。
【0028】
尚、上記SQL文における下線部の「TBL_SESSYO」がステップS202で取得した値である。また、「COUNT(*)」は集計対象テーブル(TBL_SESSYO)における全ての行数を計算するためのSQLの集計関数である。
【0029】
ここでは、ステップS202で取得した集計対象テーブル名の「TBL_SESSYO」が、図5に示すように、「1」〜「10」の主キーのレコードからなり、上記SQL文を実行すると、件数(10件)が返される。この件数を、「折衝情報の全件数」として保持する(ステップS204)。
【0030】
その後、データ利用状況分析システム102は、図3に詳細を示す「項目入力判定部104」での処理(ステップS205)と、図4に詳細を示す「ランク判定部106」での処理(ステップS206)を行う。以下、まず、図3を用いて、「項目入力判定部104」での処理(ステップS205)の詳細を説明する。
【0031】
図3に示すように、項目入力判定部104は、まず、図2のステップS202で取得した集計対象テーブル名(TBL_SESSYO)と初期検索条件(ANKEN <> 'N')を使用して、標準となるSQL文を、下記のように生成する(ステップS301)。
【0032】
SELECT COUNT(*) FROM TBL_SESSYO WHERE ANKEN <> 'N' ; (下線部がステップS202の処理で取得した値である)
【0033】
次に、項目入力判定部104は、図2のステップS202で取得したパラメータファイル名(C:¥SAMPLE1¥Param¥SE.txt)から、図8Cに具体例を示すパラメータファイル(折衝情報パラメータファイル例803)の1行目の設定を読み込む(ステップS302)。
【0034】
すなわち、カラム名として「ANKEN」、項目名として「案件名」、項目入力判定区分として「O」(その他)、項目入力判定条件として「」(空白)を読み込む。
【0035】
そして、項目入力判定部104は、ステップS302での読み込みがパラメータファイルの最後かどうかを判定し(ステップS303)、最後でなければ、ステップS302で読み込んだ項目入力判定区分が「Q:条件指定」、「S:数値」、「O:その他」の何れであるかを判定する(ステップS304)。
【0036】
項目入力判定区分が「Q:条件指定」であればステップS305の処理を行い、「S:数値」または「F:フラグ」であればステップS307の処理、「O:その他」であればステップS306の処理を行う。
【0037】
本例では、項目入力判定区分が「O」であり、その他となるので、ステップS306の処理を行う。すなわち、ステップS301で生成した標準のSQL文に、ステップS302で取得したカラム名(ANKEN)が空白・NULL以外の条件を付加した下記内容のSQL文を生成して実行する(ステップS306)。
【0038】
SELECT COUNT(*) FROM TBL_SESSYO WHERE ANKEN <> 'N' AND ANKEN <> '' AND ANKEN IS NOT NULL ;(下線部が付加した部分であり、このSQL文は図9に示す項目入力判定901における「1.案件名」のSQL文例である)
【0039】
このSQL文を実行すると、図5に示すデータ例502の内容から、件数(10件)が返されるので、その件数を、「案件名」の入力済件数として保持する(ステップS306)。
【0040】
そして、図2のステップS204で取得した折衝情報の全件数(10件)から、ステップS306で取得した入力済件数(10件)を減算する処理を行い、その結果(0件)を、「案件の未入力件数(0件)」として保持する(ステップS308)。
【0041】
また、ステップS306で取得した入力済件数(10件)に100をかけた後に、図2のステップS204で取得した折衝情報の全件数(10件)で除算する処理を行い、その結果(100)を、「案件の入力率(100%)」として保持する(ステップS308)。
【0042】
また、未入力件数(0件)に100をかけた後に、図2のステップS204で取得した折衝情報の全件数(10件)で除算する処理を行い、その結果(0)を、「案件の未入力率(0%)」として保持する(ステップS308)。
【0043】
以上の処理で、図8Cに示す折衝情報パラメータファイル例803における1行目の処理は完了するが、この折衝情報パラメータファイル例803には10行のデータが設定されているため、引き続き2行目以降に対する処理を行う(ステップS303)。
【0044】
図8Cに示す折衝情報パラメータファイル例803における2行目の「状況」に対する設定内容は、1行目の「案件名」に対する設定内容と同じであり、2行目に対しても、「状況の未入力件数=0」、「状況の入力率=100%」、「状況の未入力率=0%」との処理結果を保持する(ステップS308)。
【0045】
次に、ステップS302において、図8Cに示す折衝情報パラメータファイル例803から3行目の設定を読み込むと、「カラム名=YOTEIGAKU」、「項目名=受注予定額」、「項目入力判定区分=S(数値)」、「項目入力判定条件=(空白)」で、特に、「項目入力判定区分=S(数値)」であり、ステップS304の判定の結果、ステップS307の処理を行う。
【0046】
すなわち、ステップS301で生成した標準のSQL文に、このステップS302で取得した「カラム名=YOTEIGAKU」が空白・NULL・0以外の条件を付加したSQL文を、図9に示す項目入力判定901における「3.受注予定額」の内容、すなわち下記の内容で生成して実行する(ステップS307)。
【0047】
SELECT COUNT(*) FROM TBL_SESSYO WHERE ANKEN <> 'N' AND YOTEIGAKU <> '' AND YOTEIGAKUIS NOT NULL AND YOTEIGAKU <> 0 ; (下線部が付加した部分である)
【0048】
このSQL文を実行すると、図5に示すデータ例502の内容から、件数(9件)が返されるので、その件数を、「受注予定額」の入力済件数として保持する(ステップS307)。すなわち、図5に示すデータ例502の内容では、主キー「4」のレコードにおける項目「受注予定額」(列)におけるデータ値が「¥0」であり、上記SQL文の実行結果では「9」件が返される。
【0049】
以下、1行目と同様にして、ステップS308での未入力件数、入力率、未入力率の計算処理を行う。
【0050】
すなわち、図2のステップS204で取得した折衝情報の全件数(10件)から、ステップS307で取得した入力済件数(9件)を減算する処理を行い、その結果(1件)を、「受注予定額の未入力件数(1件)」として保持する(ステップS308)。
【0051】
また、ステップS307で取得した入力済件数(9件)に100をかけた後に、図2のステップS204で取得した折衝情報の全件数(10件)で除算する処理を行い、その結果(90)を、「受注予定額の入力率(90%)」として保持する(ステップS308)。
【0052】
また、未入力件数(1件)に100をかけた後に、図2のステップS204で取得した折衝情報の全件数(10件)で除算する処理を行い、その結果(10)を、「受注予定額の未入力率(10%)」として保持する(ステップS308)。
【0053】
以上の処理で、図8Cに示す折衝情報パラメータファイル例803における3行目の処理を完了し、次の4行目(「顧客予算」)のレコードに対する処理を行うが、この4行目においても、項目入力判定区分が「S」であり、3行目と同様に、ステップS307,S308での処理を行い、その結果、図5に示すデータ例502の内容から、「顧客予算」の入力済件数として「7」を保持し(ステップS307)、「顧客予算の未入力件数(7)」、「顧客予算の入力率(70%)」、「顧客予算の未入力率(30%)」を保持する(ステップS308)。
【0054】
次に、ステップS302において、図8Cに示す折衝情報パラメータファイル例803から5行目の設定を読み込むと、「カラム名=KAKUDO」、「項目名=確度」、「項目入力判定区分=Q(条件指定)」、「項目入力判定条件=IN ('A','B','C','D','E')」で、特に、「項目入力判定区分=Q(条件指定)」であり、ステップS304の判定の結果、ステップS305の処理を行う。
【0055】
すなわち、ステップS301で生成した標準のSQL文に、このステップS302で取得した「カラム名=KAKUDO」、「項目入力判定条件=IN ('A','B','C','D','E')」を付加したSQL文を、図9に示す項目入力判定901における「5.確度」の内容、すなわち下記の内容で生成して実行する(ステップS305)。
【0056】
SELECT COUNT(*) FROM TBL_SESSYO WHERE ANKEN <> 'N' AND KAKUDO IN ('A','B','C','D','E') ; (下線部が付加した部分である)
【0057】
このSQL文を実行すると、図5に示すデータ例502の内容から、件数(10件)が返されるので、その件数を、「確度」の入力済件数として保持する(ステップS305)。
【0058】
以下、ステップS308での処理を行い、その結果、図5に示すデータ例502の内容から、「確度の未入力件数(0)」、「確度の入力率(100%)」、「確度の未入力率(0%)」を計算して保持する(ステップS308)。
【0059】
次のステップS302の処理で読み込む、図8Cに示す折衝情報パラメータファイル例803における6〜9行目のレコードの各設定では、「項目入力判定区分」が全て「Q(条件指定)」であり、同折衝情報パラメータファイル例803における1,2行目に対する処理と同様、ステップS304の判定の結果、ステップS305とステップS308の処理を行い、それぞれの「入力済件数」、「未入力件数」、「入力率」、「未入力率」を計算して保持する。
【0060】
すなわち、6行目の提案製品に関しては、「入力済件数=8」、「未入力件数=2」、「入力率=80%」、「未入力率=20%」を計算し、7行目の顧客名に関しては、「入力済件数=10」、「未入力件数=0」、「入力率=100%」、「未入力率=0%」を計算し、8行目の納期に関しては、「入力済件数=9」、「未入力件数=1」、「入力率=90%」、「未入力率=10%」を計算し、9行目の受注予定日に関しては、「入力済件数=8」、「未入力件数=2」、「入力率=80%」、「未入力率=20%」を計算し保持する。
【0061】
次のステップS302の処理で読み込む、図8Cに示す折衝情報パラメータファイル例803における10行目のレコードの各設定では、「項目入力判定区分」が「F(フラグ)」であり、同折衝情報パラメータファイル例803における3,4行目(「項目入力判定区分」が「S(数値)」)に対する処理と同様、ステップS304の判定の結果、ステップS307とステップS308の処理を行い、「入力済件数」、「未入力件数」、「入力率」、「未入力率」を計算して保持する。
【0062】
具体的には、ステップS301で生成した標準のSQL文に、ステップS302で取得したカラム名(CYOKUJYU)が空白・NULL・N以外の条件を付加したSQL文を、図9に示す項目入力判定901における「10.」の内容、すなわち、下記の内容で生成して実行する(ステップS307)。
【0063】
SELECT COUNT(*) FROM TBL_SESSYO WHERE ANKEN <> 'N' AND CYOKUJYU <> 'N' AND CYOKUJYU NOT NULL AND CYOKUJYU <> 'N' ;(下線部が付加した部分である)
【0064】
このSQL文を実行すると、図5に示すデータ例502の内容から、件数(6件)が返されるので、その件数を、「直受」の入力済件数として保持する(ステップS307)。すなわち、図5に示すデータ例502の内容では、主キー「1,3〜5,8,10」の6レコードにおける項目「直受」(列)におけるデータ値が「Y」であり、上記SQL文の実行結果では「6」件が返される。
【0065】
以下、ステップS308での未入力件数、入力率、未入力率の計算処理を行う。すなわち、図2のステップS204で取得した折衝情報の全件数(10件)から、ステップS307で取得した入力済件数(6件)を減算する処理を行い、その結果(4件)を、「直受の未入力件数(4件)」として保持し、取得した入力済件数(6件)に100をかけた後に、図2のステップS204で取得した折衝情報の全件数(10件)で除算する処理を行い、その結果(60)を、「直受の入力率(60%)」として保持し、未入力件数(4件)に100をかけた後に、図2のステップS204で取得した折衝情報の全件数(10件)で除算する処理を行い、その結果(40)を、「直受の未入力率(40%)」として保持する。
【0066】
以上の処理で、図8Cに示す折衝情報パラメータファイル例803における1〜10行レコード分の全ての処理が完了し、ステップS303の判定処理の結果、ステップS309における、結果の出力処理に移る。
【0067】
このステップS309の処理では、ステップS302の処理で取得した項目名と、ステップS305,S306,S307のそれぞれの処理で取得した入力済件数、および、ステップS308の処理で取得した入力率、未入力件数、未入力率を、図2のステップS202の処理で取得した項目入力判定出力ファイル名(=「C:¥SAMPLE1¥Output¥折衝情報_項目.csv」)として、図10に示す項目入力判定出力ファイル1001のような形式ファイルを、図1の項目入力判定出力ファイル105に出力する。
【0068】
次に、図4を用いて、図1におけるランク判定部106の図2のステップS204における処理動作の詳細を説明する。
【0069】
まず、図2のステップS202の処理で取得した集計対象テーブル名 = 「TBL_SESSYO」、初期検索条件 = 「ANKEN <> 'N'」を用いて、標準となるSQL文を下記のようにして生成する(ステップS401)。
【0070】
SELECT COUNT(*) FROM TBL_SESSYO WHERE ANKEN <> 'N' ;(下線部がステップS202の処理で取得した値である)
【0071】
追加検索条件を初期化(クリア)し(ステップS402)、その後、図2のステップS202の処理で取得したパラメータファイル名(=「C:¥SAMPLE1¥Param¥SE.txt」)の、図8Cに示すパラメータファイル803から、その1行目のレコードにおける下の設定を読み込む(ステップS403)。
【0072】
・カラム名 = 「ANKEN」
・ランクA判定区分 = 「I」(入力済み)
【0073】
次に、パラメータファイルの最後のレコードか否かを判定し(ステップS404)、ここでは未だ最後ではないので、読み込んだランクの判定区分の内容を判定する(ステップS405)。
【0074】
ランクの判定区分が「():固定値」であればステップS406の処理を行い、「I:入力済み」であればステップS407の処理を行い、「N:数値」もしくは「F:フラグ」であればステップS408の処理を行う。
【0075】
ここでは、1行目のレコードにおけるランクAの判定区分は「I」(入力済み)であるのでステップS407の処理を行う。すなわち、ステップS401で生成した標準のSQL文に、ステップS403で取得したカラム名(ANKEN)が空白・NULL以外の条件を、以下のようにして、追加検索条件に付加する(ステップS407)。
【0076】
追加検索条件 = 追加検索条件 + AND ANKEN <> '' AND ANKEN IS NOT NULL(下線部が付加した部分である)
【0077】
以上で図8Cに示すパラメータファイル803における1行目のレコードに対する処理は完了するが、当該パラメータファイル803には10行のレコードが設定されているため、引き続き下記のようにして、図8Cに示すパラメータファイル803における2行目以降のレコードに対する処理を行う。
【0078】
当該パラメータファイル803から2行目のレコードにおける以下の設定を読み込む(ステップS403)。
【0079】
・カラム名 = 「STATUS」
・ランクA判定区分 = 「('折衝','受注')」(固定値)
【0080】
今回は、判定区分が「('折衝','受注')」(固定値)であるので(ステップS405)、ステップS406の処理を行う。
【0081】
すなわち、ステップS403の処理で取得したカラム名 = 「STATUS」、ランクA判定区分 = 「('折衝','受注')」を使用して検索条件を作成し、下記のように、追加検索条件に付加する(ステップS406)。
【0082】
追加検索条件 = 追加検索条件 + AND STATUS IN ('折衝','受注')(下線部が付加した部分である)
【0083】
さらに、ステップS403の処理に戻り、図8Cに示すパラメータファイル803における3行目のレコードから以下の設定を読み込む。
【0084】
・カラム名 = 「YOTEIGAKU」
・ランクA判定区分 = 「N」(数値)
【0085】
ここでは、判定区分が「N」(数値)であるのでステップS408の処理を行う。すなわち、ステップS403の処理で取得したカラム名 = 「YOTEIGAKU」が空白・NULL・0以外の条件を、下記のようにして、追加検索条件に付加する(ステップS408)。
【0086】
追加検索条件 = 追加検索条件 + AND YOTEIGAKU <> '' AND YOTEIGAKU IS NOT NULL AND YOTEIGAKU <> 0(下線部が付加した部分である)
【0087】
ステップS403の処理に戻り、図8Cに示すパラメータファイル803における4〜7行目の各レコードに対して、上述の処理と同様の処理を行い追加検索条件を編集し、さらに、同パラメータファイル803から8行目のレコードにおける以下の設定を読み込む(ステップS403)。
【0088】
・カラム名 = 「NOKI」
・ランクA判定区分 = 「A」(不問)
【0089】
今回は、判定区分が「不問」のため、追加検索条件には何も付加しない。
【0090】
ステップS403の処理に戻り、図8Cに示すパラメータファイル803における9行目のランクA判定区分は「I:(入力済み)」であり、1,6,7行目と同様の処理を行い追加検索条件を編集する。
【0091】
そして、ステップS403の処理に戻り、図8Cに示すパラメータファイル803における10行目のレコードから以下の設定を読み込む(ステップS403)。
【0092】
・カラム名 = 「CYOKUJYU」
・ランクA判定区分 = 「F」(フラグ)
【0093】
ここでは、判定区分が「F」(フラグ)であるのでステップS408の処理に移り、ステップS403で取得したカラム名 = 「CYOKUJYU」が空白・NULL・N以外の条件を、下記のようにして追加検索条件に付加する(ステップS408)。
【0094】
追加検索条件 = 追加検索条件 + AND CYOKUJYU <> '' AND CYOKUJYU IS NOT NULL AND CYOKUJYU <> 'N'(下線部が付加した部分である)
【0095】
以上で、図8Cに示すパラメータファイル803における全10行のレコード全ての処理が完了したため、ランクAの追加検索条件の集計を完了して(ステップS404)、ステップS409以降の「件数の算出処理」を行う。
【0096】
まず、ステップS401で生成した標準のSQL文に、上述のようにして求めた追加検索条件を付加して、下記のようにSQL文を生成して実行する(ステップS409)。
【0097】
SELECT COUNT(*) FROM TBL_SESSYO WHERE ANKEN <> 'N' AND ANKEN <> '' AND ANKEN IS NOT NULL AND STATUS IN ('折衝','受注') AND YOTEIGAKU <> 0 AND YOTEIGAKU IS NOT NULL AND YOSAN <> 0 AND YOSAN IS NOT NULL AND KAKUDO IN ('A','B','C') AND SEIHIN <> '' AND SEIHIN IS NOT NULL AND KOKYAKU <> '' AND KOKYAKU IS NOT NULL AND YOTEIBI <> '' AND YOTEIBI IS NOT NULL AND CYOKUJYU <> '' AND CYOKUJYU IS NOT NULL AND CYOKUJYU <> 'N' ;(下線部が追加検索条件であり、図9におけるランク判定902を参照)
【0098】
上記SQL文を実行すると、図8Cに示すパラメータファイル803における2,5レコードの2つが該当し、その結果、件数(2件)が返されるので、その件数をランクAの件数として保持する(ステップS409)。
【0099】
このステップS409の処理で取得した件数(2件)に100をかけた後に、図2のステップS204の処理で取得した折衝情報の全件数(10件)で除算することで、ランクAの割合(20%)を算出して保持する(ステップS410)。
【0100】
以上でランクAに対する処理は完了するが、図8Cに示すパラメータファイル803には、ランクA〜Eの全5ランクのデータが設定されているので、引き続きランクB目以降の処理を行い(ステップS411)、さらに、その後、ランクC,D,Eを同様に処理してランクごとの件数と割合を求める。
【0101】
そして、図8Cに示すパラメータファイル803における全5ランクに対する処理が完了すると(ステップS411)、当該集計処理を完了して、ステップS412における結果の出力処理を行う。
【0102】
すなわち、ランク名と、ステップS409の処理で取得した件数、および、ステップS410の処理で取得した割合を、図2におけるステップS202の処理で取得したランク判定出力ファイル名 = 「C:¥SAMPLE1¥Output¥折衝情報_ランク.csv」として図10に示すランク判定出力ファイル1002の内容で出力する(ステップS412)。
【0103】
以上、図1〜図3を用いて説明したように、本例のデータ利用状況分析システム102は、入力装置から入力された指定情報に対応するテーブル(折衝情報テーブル111)を、ネットワーク120を介して、営業支援システム110におけるサーバ112が管理するデータベースから読み込み、項目入力判定部104により、まず、折衝情報テーブル111における全レコード数を計数し、次に、当該折衝情報テーブル111の各項目におけるデータの登録状況情報をレコード毎に取得し、取得したデータの登録状況情報と全レコード数とを用いて、当該折衝情報テーブル111の利用状況を示す情報を生成し、項目入力判定出力ファイル105に出力する。
【0104】
より詳細には、項目入力判定部104がデータの登録状況情報の取得を行う際に参照する、予め各項目毎に定められた条件情報をパラメータファイル109に登録しておく。尚、この条件情報は、項目入力判定部104が、当該データを登録済であると判定するデータ値からなり、項目入力判定部104は、折衝情報テーブル111の各項目におけるデータ値に基づき、各レコード毎の各項目におけるデータの入力済・未入力を判定し、この判定結果を登録状況情報として取得する。
【0105】
そして、項目入力判定部104は、登録状況情報として取得した、各レコード毎の各項目におけるデータの入力済・未入力の判定結果と、計数した全レコード数とを用いて、各項目毎に、入力済レコード数と未入力レコード数、および、入力済レコード数を全レコード数で除算した入力率と未入力レコード数を全レコード数で除算した未入力率を、テーブルの利用状況を示す情報として生成する。
【0106】
尚、項目入力判定部104は、折衝情報テーブル111を含むテーブル毎に、当該テーブルにおける全レコード数を取得するための第1のSQL文を生成して実行する機能と、第1のSQL文に、当該レコードにおける各項目の条件情報を検索条件句として付加した第2のSQLを生成して実行する機能とを有する。
【0107】
さらに、ランク判定部106がデータの登録状況情報の取得を行う際に参照する、予め複数のグループ(ランク)毎に設定された検索条件情報(602)をパラメータファイル109に記憶しておき、ランク判定部106は、パラメータファイル109から各ランク(グループ)毎の検索条件情報(602)を読み込み、この検索条件情報(602)を検索条件句に持つSQL文を各グループ毎に生成し、生成したSQLを実行して、ランク(グループ)毎に、当該検索条件情報(602)に合致するデータ値を登録した項目を有するレコード数を取得し、各グループ毎に、取得したレコード数と、このレコード数を全レコード数で除算した値とを、当該テーブル(折衝情報テーブル111)の利用状況を示す情報として求める。
【0108】
このようにして、本例では、データベースのテーブルの項目(カラム)ごとの入力状況と、テーブル内のデータのランク分けの結果を得ることができ、対象システムのデータベースに格納されているデータの内容から、対象システムのより正確な活用度を推し量ることができる。
【0109】
このことにより、従来技術の問題点(システムの活用度(利用度)は、単に、ユーザがアクセス(参照/更新等)した履歴から確認するだけであり、例えば、システム内の「データの充実度」や「データの内容」までは考慮されていないため、エンドユーザが実際に対象システムをどこまで活用しているかを十分に判断することはできない)を解決して、対象システムのデータベースに格納されているデータの内容から、対象システムのより正確な活用度を推し量ることが可能となる。すなわち、対象システムのデータベースに登録されているデータのどの項目が使用されているのかという充実度や、各データ項目の内容がどうなっているのかの確認を行い、格納されているデータの内容から対象システムの活用度を推し量ることが可能になる。
【0110】
尚、本発明は、図1〜図10を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、図1,図10における項目入力判定出力ファイル105,1001およびランク判定出力ファイル107,1002を、実行画面103上に表示する手段を設けた構成とすることでも良い。
【0111】
また、本例のコンピュータ構成例に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【図面の簡単な説明】
【0112】
【図1】本発明に係るデータ利用状況分析システムを設けたネットワークコンピュータシステムの構成例を示すブロック図である。
【図2】図1におけるデータ利用状況分析システムの本発明に係る処理動作例を示すフローチャートである。
【図3】図1のクライアント装置における項目入力判定部の処理動作例を示すフローチャートである。
【図4】図1のクライアント装置におけるランク判定部の処理動作例を示すフローチャートである。
【図5】図1における営業支援システムのDBサーバが管理する折衝情報テーブルの詳細構成例を示す説明図である。
【図6】図1のクライアント装置におけるデータ利用状況分析システムが記憶するパラメータファイルの詳細構成例を示す説明図である。
【図7】図1のクライアント装置における実行画面で表示される画面例を示す説明図である。
【図8A】図1のクライアント装置におけるデータ利用状況分析システムが記憶する設定ファイルの詳細構成例を示す説明図である。
【図8B】図1のクライアント装置におけるデータ利用状況分析システムが記憶するパラメータファイルの基本的な構成例を示す説明図である。
【図8C】図1のクライアント装置におけるデータ利用状況分析システムが記憶するパラメータファイルの具体例を示す説明図である。
【図9】図1のクライアント装置におけるデータ利用状況分析システムの項目入力判定部およびランク判定部が生成するSQL文の具体例を示す説明図である。
【図10】図1のクライアント装置におけるデータ利用状況分析システムの項目入力判定出力ファイルおよびランク判定出力ファイルに格納された具体的なファイル例を示す説明図である。
【符号の説明】
【0113】
101:クライアント装置(「クライアント端末」)、102:データ利用状況分析システム(「利用状況集計システム」)、103:実行画面、104:項目入力判定部、105:項目入力判定出力ファイル、106:ランク判定部、107:ランク判定出力ファイル、108:設定ファイル、109:パラメータファイル、110:営業支援システム、111:折衝情報テーブル、112:DBサーバ、501:折衝情報テーブル(項目説明)、502:折衝情報テーブル(データ例)、601:パラメータ設定例(項目入力判定設定例)、602:パラメータ設定例(ランク判定設定例)、701:実行画面例、801:設定ファイル例、802:パラメータファイル(フォーマット例)、803:折衝情報パラメータファイル例、901:作成SQL文例(項目入力判定)、902:作成SQL文例(ランク判定)、1001:項目入力判定出力ファイル例、1002:ランク判定出力ファイル例。

【特許請求の範囲】
【請求項1】
プログラムされたコンピュータにより、データベースの利用状況を分析するシステムであって、
入力装置から入力された指定情報に対応するテーブルを、上記データベースから読み込み記憶する記憶手段と、
該記憶手段に記憶したテーブルにおける全レコード数を計数する第1の手段と、
上記テーブルの各項目におけるデータの登録状況情報をレコード毎に取得する第2の手段と、
該第2の手段で取得したデータの登録状況情報と上記第1の手段で計数した全レコード数とを用いて、当該テーブルの利用状況を示す情報を生成する第3の手段と、
該第3の手段で生成した情報を出力する第4の手段と
を有することを特徴とするデータ利用状況分析システム。
【請求項2】
請求項1に記載のデータ利用状況分析システムであって、
上記第2の手段が上記データの登録状況情報の取得を行う際に参照する、予め各項目毎に定められた条件情報を記憶する条件記憶手段を有し、
上記条件情報は、上記第2の手段が上記データを登録済であると判定するデータ値からなり、
上記第2の手段は、上記テーブルの各項目におけるデータ値に基づき、各レコード毎の各項目におけるデータの入力済・未入力を判定し、該判定結果を上記登録状況情報として取得する
ことを特徴とするデータ利用状況分析システム。
【請求項3】
請求項2に記載のデータ利用状況分析システムであって、
上記第3の手段は、
上記第2の手段が上記登録状況情報として取得した、各レコード毎の各項目におけるデータの入力済・未入力の判定結果と、上記第1の手段で計数した全レコード数とを用いて、
各項目毎に、
入力済レコード数と未入力レコード数、および、
入力済レコード数を全レコード数で除算した入力率と未入力レコード数を全レコード数で除算した未入力率を、上記テーブルの利用状況を示す情報として生成する
ことを特徴とするデータ利用状況分析システム。
【請求項4】
請求項2もしくは請求項3のいずれかに記載のデータ利用状況分析システムであって、
上記第1の手段は、上記テーブル毎に、当該テーブルにおける全レコード数を取得するための第1のSQL文を生成して実行する手段を有し、
上記第2の手段は、上記第1のSQL文に、当該レコードにおける各項目の条件情報を検索条件句として付加した第2のSQLを生成して実行する手段を有する
ことを特徴とするデータ利用状況分析システム。
【請求項5】
請求項1から請求項4のいずれかに記載のデータ利用状況分析システムであって、
上記第2の手段が上記データの登録状況情報の取得を行う際に参照する、予め複数のグループ毎に設定された検索条件情報を記憶する条件記憶手段を有し、
上記第2の手段は、
上記条件記憶手段から上記各グループ毎の検索条件情報を読み込み、該検索条件情報を検索条件句に持つSQL文を各グループ毎に生成する手段と、
該生成したSQLを実行して、上記グループ毎に、当該検索条件情報に合致するデータ値を登録した項目を有するレコード数を取得する手段とを有し、
上記第3の手段は、各グループ毎に、上記第2の手段が取得したレコード数と、該レコード数を上記第1の手段で計数した全レコード数で除算した値とを、上記テーブルの利用状況を示す情報として求める手段を有する
ことを特徴とするデータ利用状況分析システム。
【請求項6】
コンピュータを、請求項1から請求項5のいずれかに記載のデータ利用状況分析システムにおける各手段として機能させるためのプログラム。
【請求項7】
請求項1から請求項5のいずれかに記載のデータ利用状況分析システムであって、
上記データベースのアクセス制御を行うサーバ装置と、該サーバ装置にネットワークを介して接続されたクライアント装置からなり、該クライアント装置に、上記第1〜第4の手段を設けたことを特徴とするデータ利用状況分析システム。
【請求項8】
プログラムされたコンピュータにより、データベースの利用状況を分析する方法であって、
入力装置から入力された指定情報に対応するテーブルを、上記データベースから読み込み記憶装置に記憶する記憶手順と、
上記記憶装置に記憶したテーブルにおける全レコード数を計数する第1の手順と、
上記テーブルの各項目におけるデータの登録状況情報をレコード毎に取得する第2の手順と、
該第2の手順で取得したデータの登録状況情報と上記第1の手順で計数した全レコード数とを用いて、当該テーブルの利用状況を示す情報を生成する第3の手順と、
該第3の手順で生成した情報を出力する第4の手順と
を有することを特徴とするデータ利用状況分析方法。
【請求項9】
請求項8に記載のデータ利用状況分析方法であって、
上記第2の手順で上記データの登録状況情報の取得を行う際に参照する、予め各項目毎に定められた条件情報を記憶する手順を有し、
上記条件情報は、上記第2の手順で上記データを登録済であると判定するデータ値からなり、
上記第2の手順では、上記テーブルの各項目におけるデータ値に基づき、各レコード毎の各項目におけるデータの入力済・未入力を判定し、該判定結果を上記登録状況情報として取得する
ことを特徴とするデータ利用状況分析方法。
【請求項10】
請求項9に記載のデータ利用状況分析方法であって、
上記第3の手順は、
上記第2の手順で上記登録状況情報として取得した、各レコード毎の各項目におけるデータの入力済・未入力の判定結果と、上記第1の手順で計数した全レコード数とを用いて、
各項目毎に、
入力済レコード数と未入力レコード数、および、入力済レコード数を全レコード数で除算した入力率と未入力レコード数を全レコード数で除算した未入力率を、上記テーブルの利用状況を示す情報として生成する
ことを特徴とするデータ利用状況分析方法。
【請求項11】
請求項9もしくは請求項10のいずれかに記載のデータ利用状況分析方法であって、
上記第1の手順は、上記テーブル毎に、当該テーブルにおける全レコード数を取得するための第1のSQL文を生成して実行する手順を有し、
上記第2の手順は、上記第1のSQL文に、当該レコードにおける各項目の条件情報を検索条件句として付加した第2のSQLを生成して実行する手順を有する
ことを特徴とするデータ利用状況分析方法。
【請求項12】
請求項8から請求項11のいずれかに記載のデータ利用状況分析方法であって、
上記第2の手順で上記データの登録状況情報の取得を行う際に参照する、予め複数のグループ毎に設定された検索条件情報を記憶装置に記憶する手順を有し、
上記第2の手順は、
上記記憶装置から上記各グループ毎の検索条件情報を読み込み、該検索条件情報を検索条件句に持つSQL文を各グループ毎に生成する手順と、
該生成したSQLを実行して、上記グループ毎に、当該検索条件情報に合致するデータ値を登録した項目を有するレコード数を取得する手順とを有し、
上記第3の手順は、各グループ毎に、上記第2の手順で取得したレコード数と、該レコード数を上記第1の手順で計数した全レコード数で除算した値とを、上記テーブルの利用状況を示す情報として求める手順を有する
ことを特徴とするデータ利用状況分析方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図9】
image rotate

【図10】
image rotate