(57)【特許請求の範囲】
【請求項１】
所定の集計項目の数値を新規に登録する伝票と当該伝票の前記集計項目の数値を修正した修正伝票を、伝票を識別する識別情報を同じとして送信する複数の業務システムから受信した、前記識別情報および前記集計項目の数値を含んだ伝票情報を記憶する記憶部と、
前記複数の業務システムのうち少なくとも１つの業務システムから新たに伝票情報を受信した場合に、前記記憶部に、受信した伝票情報に含まれる識別情報と同じ識別情報を含む伝票情報が記憶されているか検索し、受信した伝票情報に含まれる識別情報と同じ識別情報の伝票情報が記憶されている場合、記憶された当該伝票情報に含まれる前記集計項目の数値の正負を反転させた伝票情報を生成する生成部と、
受信した伝票情報に含まれる前記集計項目の数値および生成した伝票情報に含まれる前記集計項目の数値を所定の集計キーの項目のデータ毎に集計する集計部と、
を有することを特徴とする集計装置。
【請求項２】
コンピュータに、
所定の集計項目の数値を新規に登録する伝票と当該伝票の前記集計項目の数値を修正した修正伝票を、伝票を識別する識別情報を同じとして送信する複数の業務システムのうち少なくとも１つの業務システムから新たに伝票情報を受信した場合に、前記識別情報および前記集計項目の数値を含んだ受信済みの伝票情報を記憶する記憶部に、受信した伝票情報に含まれる識別情報と同じ識別情報を含む伝票情報が記憶されているか検索し、受信した伝票情報に含まれる識別情報と同じ識別情報の伝票情報が記憶されている場合、記憶された当該伝票情報に含まれる前記集計項目の数値の正負を反転させた伝票情報を生成し、
受信した伝票情報に含まれる前記集計項目の数値および生成した伝票情報に含まれる前記集計項目の数値を所定の集計キーの項目のデータ毎に集計する
各処理を実行させることを特徴とする集計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集計装置および集計プログラムに関する。
【背景技術】
【０００２】
グローバル化の進展により、企業は、支店や工場、子会社、ディーラ、サプライヤなどの拠点が複数の地域や国に展開している場合がある。そして、各種の分析を行うため、各拠点の製品などの販売実績や受注状況、納品状況などの各種の状況の見える化が望まれている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１８１２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
各種の状況の見える化を行うシステムとして、例えば、データを収集する収集サーバと分析を行う分析サーバとを設け、各拠点から販売実績など各種の伝票情報を収集サーバに収集し、収集された情報を分析サーバへ送信して分析を行う構成が考えられる。
【０００５】
収集サーバは、各拠点で発生した伝票情報を記憶させた場合、大量のデータが記憶される。この大量のデータを収集サーバが分析サーバへ送信した場合、通信負荷が大きい。
【０００６】
そこで、収集サーバが、各拠点で発生した伝票情報をサマライズし、サマライズしたサマライズデータを分析サーバへ送信することが考えられる。例えば、収集サーバは、販売実績の伝票情報を商品別、販売月別に集計し、商品毎の販売月別の販売数の集計データを分析サーバへ送信する。
【０００７】
ところで、各拠点では、収集サーバへ送信した伝票の数量や金額などの数値を修正して修正伝票として伝票情報を再度送信する場合がある。収集サーバが、修正伝票の伝票情報の数値を集計して分析サーバへ送信した場合、修正前の数値を集計した集計データと修正後の数値を集計した集計データがそれぞれ送信されるため、伝票の数値と集計データを合算した数値との間で数値の整合性が取れなくなる。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、伝票が修正された場合でも数値の整合性が取れなくなることを抑制できる集計装置および集計プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する集計装置は、記憶部と、受信部と、集計部とを有する。記憶部は、それぞれの伝票を識別する識別情報および所定の集計項目の数値を含んだ伝票情報を記憶する。受信部は、前記伝票情報を受信する。集計部は、前記受信部により受信された伝票情報に含まれる識別情報と同じ識別情報を含んだ伝票情報が前記記憶部に記憶されている場合、記憶された伝票情報に含まれる前記集計項目の数値に対する受信した伝票情報に含まれる前記集計項目の数値の差を集計する。また、集計部は、受信された伝票情報に含まれる識別情報と同じ識別情報を含んだ伝票情報が前記記憶部に記憶されていない場合、受信した伝票情報に含まれる前記集計項目の数値を集計する。
【発明の効果】
【００１０】
本願の開示する集計装置の一つの態様によれば、伝票が修正された場合でも数値の整合性が取れなくなることを抑制できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係る分析システムの構成を示す図である。
【図２】図２は、実施例１に係るマスタサーバの機能的構成を示すブロック図である。
【図３】図３は、実施例１に係る業務データの構成例を示す図である。
【図４】図４は、実施例１に係る受信データ記憶テーブルの構成例を示す図である。
【図５】図５は、実施例１に係る統一コードテーブルの構成例を示す図である。
【図６】図６は、実施例１に係る集計対象格納テーブルの構成例を示す図である。
【図７】図７は、実施例１に係るサマライズデータの構成例を示す図である。
【図８】図８は、実施例１に係るサマライズデータの他の構成例を示す図である。
【図９】図９は、実施例１に係るモニタリングサーバの機能的構成を示すブロック図である。
【図１０】図１０は、実施例１に係る蓄積データの構成例を示す図である。
【図１１】図１１は、実施例１に係る分析画面の一例を示す図である。
【図１２】図１２は、売上金額が修正された修正伝票の構成例を示す図である。
【図１３】図１３は、赤伝票および黒伝票を格納した集計対象格納テーブルの構成例を示す図である。
【図１４】図１４は、図１３に示す集計対象格納テーブルの各レコードを集計したサマライズデータの構成例を示す図である。
【図１５】図１５は、修正伝票のサマライズデータを蓄積した蓄積データの構成例を示す図である。
【図１６】図１６は、実施例１に係る格納処理の手順を示すフローチャートである。
【図１７】図１７は、実施例１に係る集計処理の手順を示すフローチャートである。
【図１８】図１８は、集計プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する集計装置および集計プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１３】
［システム構成］
まず、本実施例に係る分析システムの構成について説明する。図１は、実施例１に係る分析システムの構成を示す図である。図１に示す分析システム１０は、企業の各拠点の製品などの販売実績や受注状況、納品状況などの各種の状況の見える化を行うものである。
【００１４】
この分析システム１０は、図１に示すように、複数の業務システム１１と、マスタサーバ１２と、モニタリングサーバ１３とを有する。業務システム１１は、企業の拠点でそれぞれ運用され、拠点の業務に用いられるシステムである。マスタサーバ１２およびモニタリングサーバ１３は、企業の本社で運用される。マスタサーバ１２は、各業務システム１１から各拠点の業務に関する情報を収集するサーバ装置である。モニタリングサーバ１３は、マスタサーバ１２に収集された情報を用いて、各拠点に状況を示す各種情報を提供するサーバ装置である。なお、図１の例では、業務システム１１が２つの場合を例示したが、開示のシステムはこれに限定されず、業務システム１１を任意の数とすることができる。また、図１の例では、モニタリングサーバ１３が１つの場合を例示したが、開示のシステムはこれに限定されず、モニタリングサーバ１３を２つ以上設けてもよい。
【００１５】
これら業務システム１１と、マスタサーバ１２、モニタリングサーバ１３の間は、ネットワーク１４を介して通信可能に接続される。かかるネットワーク１４には、有線または無線を問わず、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）、ＶＰＮ（Virtual  Private  Network）などの任意の通信網を採用できる。
【００１６】
業務システム１１には、それぞれ拠点の各種の業務に関する計画や実績が入力される。業務システム１１は、それぞれの拠点が遂行する業務内容に応じてそれぞれ異なるものとしてもよく、複数のシステムを含んでもよい。例えば、かかる業務システム１１としては、拠点の会計を管理する会計システム、各種作業の予定や実績を管理する作業管理システム、各設備稼働の予定や実績を管理する設備管理システム、商品等の生産状況を管理する生産管理システムなどがある。また、業務システム１１としては、商品等の販売計画を管理する販売計画システム、商品等の販売実績や受注状況を管理する販売管理システム、商品等の生産状況を管理する生産管理システム、商品等の在庫状況を管理する在庫管理システムなどがある。さらに、業務システム１１としては、生産や販売、在庫、購買、物流、会計などの企業内のあらゆる経営資源に関する情報を管理するＥＲＰ（Enterprise  Resource  Planning）システムなどがある。業務システム１１には、会計、作業管理、設備管理、販売管理、生産管理、販売計画、在庫管理など各種の業務に関する計画や実績の情報が入力される。例えば、業務システム１１には、商品を販売する取引があった場合、取引に関する売上伝票の情報が入力される。
【００１７】
業務システム１１は、入力された伝票情報などの各種業務に関する情報を業務データとして、マスタサーバ１２へ送信する。例えば、会計に関する業務データとしては、各勘定科目の予算データ、各勘定科目の残高データなどがある。また、作業管理に関する業務データとしては、作業予定データ、作業実績データなどがある。また、設備管理に関する業務データとしては、設備稼働予定データ、設備稼働実績データなどがある。また、生産管理に関する業務データとしては、製造予定データ、製造実績データ、消費材料の使用予定データ、消費材料の使用実績データ、不良実績データなどがある。また、販売計画に関する業務データとしては、販売計画データ、商品等の調達予定データ、商品等の調達実績データなどがある。また、販売管理に関する業務データとしては、受注データ、出荷実績データ、売上実績データなどがある。在庫管理に関する業務データとしては、在庫データ、在庫調整データ、原価データなどがある。なお、業務システム１１は、業務データをマスタサーバ１２へリアルタイムに送信してもよく、ユーザから送信を指示する操作が行われたタイミングで送信してもよく、日毎など一定期間毎にバッチ処理でまとめて送信してもよい。
【００１８】
マスタサーバ１２は、各業務システム１１から各拠点の業務データを収集する。ここで、グローバル化の進展により、企業は、拠点が複数の地域や国に展開している場合がある。各拠点の業務システム１１は、それぞれ個別に運用されるため、同一の商品や同一の仕入先など同一の対象に対して異なる名称やコードが使用される場合がある。マスタサーバ１２は、各業務システム１１で用いられる名称やコードなどを統一するためのマスタ情報を記憶している。このマスタ情報には、各業務システム１１で用いられる名称やコードと、共通に用いる名称やコードとが関連づけられている。マスタサーバ１２は、マスタ情報に基づいて、各業務システム１１から収集された情報のコードを統一コードに変換して格納する。
【００１９】
また、マスタサーバ１２は、モニタリングサーバ１３へ各拠点の各種の状況の分析に用いる分析用のデータを送信する。ここで、マスタサーバ１２には、各業務システム１１から各拠点で発生した伝票の情報などの大量の業務データが記憶される。この大量の業務データをマスタサーバ１２がモニタリングサーバ１３へ送信した場合、通信負荷が大きい。モニタリングサーバ１３を複数設けた場合、通信負荷はさらに大きくなる。そこで、マスタサーバ１２は、各業務システム１１から収集された業務データをサマライズし、サマライズしたサマライズデータを分析対象データとしてモニタリングサーバ１３へ送信する。例えば、マスタサーバ１２は、売上伝票情報を集計キーとされた項目の情報毎に集計してサマライズデータを生成し、生成したサマライズデータを分析対象データとしてモニタリングサーバ１３へ送信する。
【００２０】
モニタリングサーバ１３は、マスタサーバ１２に送信されたサマライズデータを蓄積し、蓄積されたサマライズデータを用いて、各拠点に関する各種情報を提供する。本社の経営者や担当者、あるいは各拠点の責任者は、モニタリングサーバ１３から提供される各拠点に関する各種情報を基に分析を行う。
【００２１】
また、マスタサーバ１２には、各拠点から伝票が業務データとして適宜収集される。マスタサーバ１２は、各拠点から収集された業務データを集計してサマライズデータを生成する。よって、サマライズデータは、複数の伝票の集計結果を含む場合がある。また、マスタサーバ１２には、ある商品の売上情報を集計してモニタリングサーバ１３へ送信した後に、同じ商品の売上情報が再度収集される場合もある。マスタサーバ１２は、再度収集された売上情報も集計してモニタリングサーバ１３へ送信する。このように、モニタリングサーバ１３には、同じ商品に関するサマライズデータが複数回に分かれて送信される場合もある。このため、モニタリングサーバ１３では、マスタサーバ１２から受信されたサマライズデータを以前に受信したサマライズデータと置き換えず、受信したサマライズデータを蓄積、集計して各種情報を提供する。
【００２２】
ところで、各拠点では、マスタサーバ１２へ伝票情報を送信した後、送信した伝票情報の伝票の数量や金額などの数値を修正する場合があり、数値を修正した修正伝票の伝票情報を再度送信する場合がある。マスタサーバ１２が、修正伝票の伝票情報の数値を集計したサマライズデータをモニタリングサーバ１３へ送信した場合、修正前の数値を集計したサマライズデータと修正後の数値を集計したサマライズデータをそれぞれ送信される。モニタリングサーバ１３は、マスタサーバ１２に受信したサマライズデータを蓄積、集計するが、修正伝票の数値を集計したサマライズデータを集計した場合、伝票の数値とサマライズデータを合算した数値との間で数値の整合性が取れなくなる。例えば、マスタサーバ１２は、拠点Ａから収集された商品Ａを１０個売り上げた売上の伝票情報を集計してモニタリングサーバ１３へ送信する。その後、マスタサーバ１２は、拠点Ａから商品Ａの売上個数が８個に修正された売上の伝票情報が収集され、売上個数が修正された伝票情報を集計してモニタリングサーバ１３へ送信した場合を想定する。この場合、モニタリングサーバ１３では、受信したサマライズデータを蓄積、集計した結果、商品Ａの売上個数が１８個となってしまう。
【００２３】
そこで、本実施例に係るマスタサーバ１２は、それぞれの伝票を識別する識別情報および所定の集計項目の数値を含んだ伝票情報を記憶する。一態様としては、それぞれの伝票を識別する識別情報毎に直近に受信した伝票情報を記憶する。例えば、伝票情報に全拠点で一意となるように伝票番号を定める場合、マスタサーバ１２は、伝票番号を識別情報として、伝票番号毎に伝票情報を記憶する。また、伝票情報に拠点毎に一意となる伝票番号を定める場合、マスタサーバ１２は、拠点のコードおよび伝票番号を識別情報として、拠点のコードおよび伝票番号毎に伝票情報を記憶する。また、伝票情報に、拠点、伝票の種別毎に一意となる伝票番号を定める場合、マスタサーバ１２は、拠点のコード、伝票の種別および伝票番号を識別情報として、拠点のコード、種別および伝票番号毎に伝票情報を記憶する。そして、本実施例に係るマスタサーバ１２は、受信された伝票情報と識別情報が同じ伝票情報が記憶されている場合、記憶された伝票情報の数値に対する受信した伝票情報の数値の差を集計する。一方、本実施例に係るマスタサーバ１２は、同じ伝票情報が記憶されていない場合、受信した伝票情報の数値を集計する。このように、識別情報が同じ伝票情報が記憶されている場合、記憶された伝票情報の数値に対する受信した伝票情報の数値の差を集計することにより、修正された伝票について修正前の数値と修正後の数値の差分が集計される。よって、本実施例に係るモニタリングサーバ１３によれば、伝票が修正された場合でも数値の整合性が取れなくなることを抑制できる。
【００２４】
［マスタサーバ１２の構成］
続いて、本実施例に係るシステムに含まれるマスタサーバ１２の機能的構成について説明する。図２は、実施例１に係るマスタサーバの機能的構成を示すブロック図である。図２に示すように、マスタサーバ１２は、通信Ｉ／Ｆ（interface）部２０と、記憶部２１と、制御部２２とを有する。
【００２５】
通信Ｉ／Ｆ部２０は、他の装置、例えばモニタリングサーバ１３や業務システム１１との間で通信制御を行うインタフェースである。例えば、通信Ｉ／Ｆ部２０は、業務システム１１から伝票情報などの各種の業務データを受信する。また、通信Ｉ／Ｆ部２０は、分析対象データをモニタリングサーバ１３へ送信する。かかる通信Ｉ／Ｆ部２０の一態様としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。
【００２６】
記憶部２１は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部２１は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００２７】
記憶部２１は、制御部２２で実行されるＯＳ（Operating  System）や後述するマスタデータのメンテナンスに用いるプログラム、業務データのサマライズに用いるプログラムなど各種プログラムを記憶する。さらに、記憶部２１は、制御部２２で実行されるプログラムの実行に必要な各種データを記憶する。かかるデータの一例として、記憶部２１は、業務データ３０と、受信データ記憶テーブル３１と、マスタデータ３２と、集計対象格納テーブル３３と、サマライズデータ３４とを記憶する。
【００２８】
業務データ３０は、各業務システム１１から受信した業務データである。一例として、業務データ３０は、通信Ｉ／Ｆ部２０が各業務システム１１から受信した業務データが後述の受信制御部４０によって格納される。他の一例として、業務データ３０は、後述の特定部４１によって参照される。また、他の一例として、業務データ３０は、後述の格納部４３によって削除される。
【００２９】
図３は、実施例１に係る業務データの構成例を示す図である。なお、図３は、業務データとして売上伝票情報の構成例を示す図である。図３に示すように、業務データ３０は、「拠点コード」、「伝票番号」、「部門」、「拠点品番」、「売上日」、「売上金額」の各項目を有する。拠点コードの項目は、業務データの送信元の拠点を示す情報を格納する領域である。拠点には、それぞれの拠点を示すコードが一意に定められている。拠点コードの項目には、業務データの送信元の拠点を示すコードが格納される。伝票番号の項目は、伝票を識別する番号を格納する領域である。伝票には、取引毎にそれぞれ一意の伝票番号が定められる。本実施例では、それぞれの伝票に、拠点毎に一意となる伝票番号が定められるものとする。伝票番号の項目には、定められた伝票番号が格納される。部門の項目は、業績データの送信元の部門を示すコードを格納する領域である。部門には、それぞれの部門を示すコードが一意に定められている。この部門を示すコードは、全社で一意に定められてもよく、拠点毎にそれぞれの拠点内で一意に定められてもよい。部門の項目には、業務データの送信元の部門を示すコードが格納される。拠点品番の項目は、拠点における商品を示すコードを格納する領域である。拠点では、商品毎にコードを定めている。この商品を示すコードは、拠点毎に定めることができるため、同一の商品でも拠点毎に異なる場合もある。拠点品番の項目には、業務データの送信元の拠点での商品を示すコードが格納される。売上日の項目は、取引があった日付を格納する領域である。売上金額の項目は、取引された金額を格納する領域である。
【００３０】
図３の例では、拠点コード「０１」の伝票番号「Ｄ００１」は、２０１２年４月１０日に部門「Ａ」で拠点品番「Ｌ００１」の商品の売上取引があり、売上金額が「１，０００」円であったことを示す。また、拠点コード「０１」の伝票番号「Ｄ００２」は、２０１２年４月１５日に部門「Ａ」で拠点品番「Ｌ００２」の商品の売上取引があり、売上金額が「２，０００」円であったことを示す。また、拠点コード「０１」の伝票番号「Ｄ００３」は、２０１２年８月３０日に部門「Ｂ」で拠点品番「Ｌ００３」の商品の売上取引があり、売上金額が「３，０００」円であったことを示す。
【００３１】
受信データ記憶テーブル３１は、各業務システム１１から受信した業務データ３０を記憶するテーブルである。例えば、受信データ記憶テーブル３１は、拠点コードおよび伝票番号毎に、直近に受信した業務データ３０を記憶する。一例として、受信データ記憶テーブル３１は、後述の生成部４２によって参照される。他の一例として、受信データ記憶テーブル３１は、後述の格納部４３によって業務データ３０が格納される。
【００３２】
図４は、実施例１に係る受信データ記憶テーブルの構成例を示す図である。なお、図４は、業務データ３０として直近に受信した売上伝票情報を格納する受信データ記憶テーブル３１の構成例を示す図である。図４に示すように、受信データ記憶テーブル３１は、図３に示した業務データ３０と同様に、「拠点コード」、「伝票番号」、「部門」、「拠点品番」、「売上日」、「売上金額」の各項目を有する。また、受信データ記憶テーブル３１は、「統一コード」の項目を有する。統一コードの項目は、拠点品番の商品の後述する統一コードを格納する領域である。本実施例では、業務データ３０の内容を全て記憶するため、受信データ記憶テーブル３１に業務データ３０の項目を全て含むものとしているが、必要な項目のみを抽出して格納してもよい。
【００３３】
図４の例では、拠点コード「０１」の伝票番号「Ｄ００１」は、２０１２年４月１０日に部門「Ａ」で拠点品番「Ｌ００１」の商品の売上取引があり、商品の統一コードが「Ｓ００１」であり、売上金額が「１，０００」円であったことを示す。また、拠点コード「０１」の伝票番号「Ｄ００２」は、２０１２年４月１５日に部門「Ａ」で拠点品番「Ｌ００２」の商品の売上取引があり、商品の統一コードが「Ｓ００２」であり、売上金額が「２，０００」円であったことを示す。また、拠点コード「０１」の伝票番号「Ｄ００３」は、２０１２年８月３０日に部門「Ｂ」で拠点品番「Ｌ００３」の商品の売上取引があり、商品の統一コードが「Ｓ００３」であり、売上金額が「３，０００」円であったことを示す。
【００３４】
マスタデータ３２は、共通に用いられる基本となる各種情報が記憶されたデータである。マスタデータ３２は、本実施例に関係するデータとして、統一コードテーブル３２ａと、集計キー情報３２ｂとを含む。
【００３５】
統一コードテーブル３２ａは、各業務システム１１で用いられる名称やコードと統一名称や統一コードを対応付けて記憶したテーブルである。一例として、統一コードテーブル３２ａは、各業務システム１１から送信された業務データ３０のコードを統一するため、後述の特定部４１によって参照される。他の一例として、統一コードテーブル３２ａは、後述のマスタ管理部４５によって更新される。集計キー情報３２ｂは、サマライズにおいて業務データをどの項目の単位で集計するかの集計キーを示すデータである。一例として、集計キー情報３２ｂは、各業務データをサマライズするため、後述の集計部４４によって参照される。他の一例として、集計キー情報３２ｂは、後述のマスタ管理部４５によって更新される。
【００３６】
図５は、実施例１に係る統一コードテーブルの構成例を示す図である。図５に示すように、統一コードテーブル３２ａは、「拠点コード」、「拠点品番」、「統一コード」の各項目を有する。拠点コードの項目は、拠点を示すコードを格納する領域である。拠点品番の項目は、拠点において商品を示すコードを格納する領域である。統一コードの項目は、商品を示す統一コードを格納する領域である。なお、この統一コードは、何れかの拠点での商品のコードとしてもよく、商品についてそれぞれ一意に新たに定めてもよい。
【００３７】
図５の例では、拠点コード「０１」の拠点品番「Ｌ００１」は、統一コードが「Ｓ００１」であることを示す。また、拠点コード「０２」の拠点品番「Ｍ００１」は、統一コードが「Ｓ００１」であることを示す。また、拠点コード「０１」の拠点品番「Ｌ００２」は、統一コードが「Ｓ００２」であることを示す。また、拠点コード「０２」の拠点品番「Ｍ００２」は、統一コードが「Ｓ００２」であることを示す。また、拠点コード「０１」の拠点品番「Ｌ００３」は、統一コードが「Ｓ００３」であることを示す。また、拠点コード「０２」の拠点品番「Ｍ００３」は、統一コードが「Ｓ００３」であることを示す。
【００３８】
集計対象格納テーブル３３は、集計の対象とする業務データ３０を記憶するテーブルである。一例として、集計対象格納テーブル３３は、後述の格納部４３によってデータが格納される。他の一例として、集計対象格納テーブル３３は、後述の集計部４４によって参照およびデータの削除が行われる。
【００３９】
図６は、実施例１に係る集計対象格納テーブルの構成例を示す図である。なお、図６は、業務データ３０として売上伝票情報を格納する集計対象格納テーブル３３の構成例を示す図である。図６に示すように、集計対象格納テーブル３３は、図４に示した受信データ記憶テーブル３１と同様に、「拠点コード」、「伝票番号」、「部門」、「統一コード」、「売上日」、「売上金額」の各項目を有する。また、集計対象格納テーブル３３は、「区分」の項目を有する。区分の項目は、伝票の区分を格納する領域である。区分の項目には、以前の伝票を取り消す赤伝票を表す場合、「０１」が格納され、黒伝票を表す場合、「０２」が格納される。本実施例では、集計対象格納テーブル３３に受信データ記憶テーブル３１の拠点品番以外の項目を全て含むものとしているが、必要な項目のみを抽出して格納してもよい。
【００４０】
図６の例では、拠点コード「０１」の伝票番号「Ｄ００１」は、２０１２年４月１０日に部門「Ａ」で統一コード「Ｓ００１」の商品について売上金額が「１，０００」円の売上取引があり、区分が「０２」であることから黒伝票であることを示す。また、拠点コード「０１」の伝票番号「Ｄ００２」は、２０１２年４月１５日に部門「Ａ」で統一コード「Ｓ００２」の商品について売上金額が「２，０００」円の売上取引があり、区分が「０２」であることから黒伝票であることを示す。また、拠点コード「０１」の伝票番号「Ｄ００３」は、２０１２年８月３０日に部門「Ｂ」で拠点品番「Ｌ００３」の商品について売上金額が「３，０００」円の売上取引があり、区分が「０２」であることから黒伝票であることを示す。
【００４１】
サマライズデータ３４は、集計対象格納テーブル３３に格納されたレコードのデータをサマライズしたデータである。一例として、サマライズデータ３４は、後述の集計部４４によって業務データ３０を集計して生成される。他の一例として、サマライズデータ３４は、後述の送信制御部４６によって参照される。
【００４２】
図７は、実施例１に係るサマライズデータの構成例を示す図である。なお、図７は、売上伝票情報を集計して生成されたサマライズデータの構成例を示す図である。図７に示すように、サマライズデータ３４は、「拠点コード」、「部門」、「統一コード」、「売上年月」、「売上金額」の各項目を有する。拠点コードの項目は、拠点を示すコードを格納する領域である。統一コードの項目は、商品を示す統一コードを格納する領域である。売上年月の項目は、売上を集計した年および月を格納する領域である。売上金額の項目は、売上年月毎に集計された売上金額を格納する領域である。また、サマライズデータ３４は、サマライズされている項目に、サマライズされている項目であることを示す情報として「*」が格納される。
【００４３】
図７の例は、売上伝票情報を拠点コードおよび部門の項目を集計キーとして、売上年月毎の売上金額を集計した結果を示している。図７の例では、拠点コード「０１」の部門「Ａ」は、２０１２年４月に「３，０００」円の売上があったことを示す。また、拠点コード「０１」の部門「Ｂ」は、２０１２年８月に「３，０００」円の売上があったことを示す。ここで、図６に示す集計対象格納テーブル３３に格納された売上伝票情報を拠点コードおよび部門の項目を集計キーとして集計した場合、統一コードの項目は、サマライズされている項目であるため、統一コードが何れであるか特定できない。そこで、図７の例では、統一コードの項目に、サマライズされている項目であることを示す「*」が格納されている。
【００４４】
図８は、実施例１に係るサマライズデータの他の構成例を示す図である。図８の例は、売上伝票情報を拠点コード、部門および統一コードの項目を集計キーとして、売上年月毎の売上金額を集計した結果を示している。図８の例では、拠点コード「０１」の部門「Ａ」の統一コード「Ｓ００１」の商品は、２０１２年４月に「１，０００」円の売上があったことを示す。また、拠点コード「０１」の部門「Ａ」の統一コード「Ｓ００２」の商品は、２０１２年４月に「２，０００」円の売上があったことを示す。また、拠点コード「０１」の部門「Ｂ」の統一コード「Ｓ００３」の商品は、２０１２年８月に「３，０００」円の売上があったことを示す。ここで、図６に示す集計対象格納テーブル３３に格納された売上伝票情報を拠点コード、部門および統一コードの項目を集計キーとして集計した場合、拠点コード、部門および統一コードの項目は、特定できる。このため、図８の例では、何れの項目にも「*」が格納されていない。
【００４５】
図２に戻り、制御部２２は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２２は、図２に示すように、受信制御部４０と、特定部４１と、生成部４２と、格納部４３と、集計部４４と、マスタ管理部４５と、送信制御部４６とを有する。
【００４６】
このうち、受信制御部４０は、各業務システム１１から送信された業務データを記憶部２１へ格納する処理部である。一態様としては、受信制御部４０は、各業務システム１１から業務データを受信した場合に、当該業務データを記憶部２１へ格納する。
【００４７】
特定部４１は、統一コードテーブル３２ａに基づき、記憶部２１に記憶された業務データ３０のコードの統一コードを特定する処理部である。一態様としては、特定部４１は、業務データ３０が記憶部２１へ格納された場合、格納された業務データ３０の各レコードを順次読み出す。特定部４１は、格納された業務データ３０に統一コードテーブル３２ａに登録されているコードを変換すべき項目がある場合、読み出したレコードのコードを変換すべき項目に設定されたコードに対応する統一コードを統一コードテーブル３２ａから特定する。例えば、特定部４１は、業務データ３０に拠点品番が含まれる場合、拠点コード、拠点品番に設定されたコードに対応する統一コードを統一コードテーブル３２ａから特定する。
【００４８】
生成部４２は、記憶部２１に格納された業務データ３０に、以前に受信した伝票の修正伝票が含まれる場合、以前に受信した伝票を取り消す赤伝票のデータを作成する処理部である。一態様としては、生成部４２は、特定部４１により読み出された業務データ３０のレコードと識別情報が同じレコードが受信データ記憶テーブル３１に記憶されているか否か判定する。生成部４２は、識別情報が同じレコードが受信データ記憶テーブル３１に記憶されている場合、受信データ記憶テーブル３１に記憶されたレコードの集計の対象とされた項目の数値の正負を反転させたレコードを赤伝票として生成する。例えば、業務データ３０が図３に示す売上伝票情報の場合、生成部４２は、業務データ３０のレコードと拠点コードおよび伝票番号が同じレコードが受信データ記憶テーブル３１に記憶されているか否か判定する。生成部４２は、拠点コードおよび伝票番号が同じレコードが受信データ記憶テーブル３１に記憶されている場合、受信データ記憶テーブル３１に記憶されたレコードの売上金額の項目の数値の正負を反転させ、他の項目を同じ情報としたレコードを生成する。
【００４９】
格納部４３は、受信データ記憶テーブル３１および集計対象格納テーブル３３に対して、データの格納を行う処理部である。一態様としては、格納部４３は、業務データ３０にコードを変換すべき項目がない場合、特定部４１により読み出された業務データ３０のレコードを集計対象格納テーブル３３に格納する。また、格納部４３は、業務データ３０にコードを変換すべき項目がある場合、特定部４１により特定された統一コードを加えて、特定部４１により読み出された業務データ３０のレコードを集計対象格納テーブル３３に格納する。例えば、業務データ３０が図３に示す売上伝票情報の場合、格納部４３は、次のようなデータをセットしたレコードを集計対象格納テーブル３３に格納する。すなわち、格納部４３は、集計対象格納テーブル３３の各項目に業務データ３０のレコードの対応する項目のデータをセットし、統一コードの項目に特定部４１で特定した統一コードをセットし、区分の項目に黒伝票を示す「０２」をセットしたレコードを格納する。
【００５０】
また、格納部４３は、生成部４２により赤伝票のレコードが生成された場合、生成された赤伝票のレコードを集計対象格納テーブル３３に格納する。例えば、業務データ３０が図３に示す売上伝票情報の場合、次のようなデータをセットしたレコードを集計対象格納テーブル３３に格納する。すなわち、格納部４３は、集計対象格納テーブル３３の各項目に赤伝票のレコードの対応する項目のデータをセットし、区分の項目に赤伝票を示す「０１」をセットしたレコードを格納する。
【００５１】
また、格納部４３は、特定部４１により読み出された業務データ３０のレコードを受信データ記憶テーブル３１に格納する。一態様としては、格納部４３は、特定部４１により読み出された業務データ３０のレコードと識別情報が同じレコードが受信データ記憶テーブル３１に記憶されているか否か判定する。生成部４２は、識別情報が同じレコードが受信データ記憶テーブル３１に記憶されている場合、受信データ記憶テーブル３１に記憶されたレコードを、読み出したレコードの情報に更新する。一方、格納部４３は、識別情報が同じレコードが受信データ記憶テーブル３１に記憶されていない場合、受信データ記憶テーブル３１に読み出したレコードの情報を格納する。例えば、業務データ３０が図３に示す売上伝票情報の場合、格納部４３は、業務データ３０のレコードと拠点コードおよび伝票番号が同じレコードが受信データ記憶テーブル３１に記憶されているか否か判定する。格納部４３は、拠点コードおよび伝票番号が同じレコードが受信データ記憶テーブル３１に記憶されている場合、拠点コードおよび伝票番号以外の項目のデータを、読み出したレコードの情報に更新する。なお、本実施例では、拠点コードおよび伝票番号以外の項目を更新するものとしたが、集計の対象とされた項目のデータのみを、読み出したレコードの情報に更新してもよい。例えば、業務データ３０が図３に示す売上伝票情報の場合、格納部４３は、売上金額の項目の数値のみを、読み出したレコードの売上金額の項目の数値に更新してもよい。一方、格納部４３は、拠点コードおよび伝票番号が同じレコードが受信データ記憶テーブル３１に記憶されていない場合、次のようなデータをセットしたレコードを受信データ記憶テーブル３１に格納する。すなわち、格納部４３は、受信データ記憶テーブル３１の各項目に業務データ３０のレコードの対応する項目のデータをセットし、統一コードの項目に特定部４１で特定した統一コードをセットしたレコードを格納する。これにより、受信データ記憶テーブル３１には、識別情報毎に直近に受信した伝票情報が記憶される。
【００５２】
格納部４３は、受信データ記憶テーブル３１および集計対象格納テーブル３３に対して、業務データ３０の全てのレコードのデータの格納が完了すると、業務データ３０を記憶部２１から削除する。なお、格納部４３は、業務データ３０を、受信データ記憶テーブル３１および集計対象格納テーブル３３に格納が完了したレコードから順次削除してもよい。これにより、集計対象格納テーブル３３に対して、同一の業務データ３０が複数回格納されることを防止できる。
【００５３】
集計部４４は、集計キー情報３２ｂに基づき、集計対象格納テーブル３３に格納されたデータを集計してサマライズデータ３４を生成する処理部である。集計キー情報３２ｂには、伝票の種類毎など業務データ３０の種類毎に、どの項目の単位で業務データ３０を集計するかの集計キーを示すデータが含まれている。例えば、集計キー情報３２ｂは、売上取引の伝票情報を集計する集計キーとして拠点コードおよび部門を指定する。集計部４４は、拠点コードおよび部門毎に集計対象格納テーブル３３の各レコードをグループ化し、グループ毎にレコードの集計項目の数値を集計し、集計結果を示すサマライズデータ３４を生成する。また、集計部４４は、サマライズされている項目に、サマライズされている項目であることを示す情報として「*」が格納される。例えば、集計部４４は、集計対象格納テーブル３３に格納された売上取引の伝票情報を、拠点コードおよび部門毎に集計して、図７に示すようなサマライズデータ３４を生成する。
【００５４】
ここで、業務データ３０のレコードと拠点コードおよび伝票番号が同じレコードが受信データ記憶テーブル３１に記憶されている場合、集計対象格納テーブル３３には、赤伝票のレコードと黒伝票のレコードが格納される。この赤伝票のレコードは、受信データ記憶テーブル３１に記憶された修正前の伝票の集計項目の数値の正負を反転させたレコードである。よって、集計部４４は、この赤伝票のレコードと黒伝票のレコードを集計することにより、受信データ記憶テーブル３１に記憶された修正前の伝票に含まれる集計項目の数値に対する受信した修正伝票に含まれる集計項目の数値の差を集計することになる。また、業務データ３０のレコードと拠点コードおよび伝票番号が同じレコードが受信データ記憶テーブル３１に記憶されていない場合、集計対象格納テーブル３３には、黒伝票のレコードのみが格納される。集計部４４は、この黒伝票のレコードを集計することにより、受信した修正伝票に含まれる集計項目の数値を集計することになる。
【００５５】
集計部４４は、集計対象格納テーブル３３に格納された全てのレコードの集計が完了すると、集計対象格納テーブル３３に格納された全てのレコードを削除する。これにより、同一のレコードが複数回集計されることを防止できる。
【００５６】
マスタ管理部４５は、マスタデータ３２の登録、修正および削除を行う処理部である。一態様としては、マスタ管理部４５は、図示しない端末装置に、マスタデータ３２の登録、修正および削除を行うための各種の画面を表示させ、当該画面からマスタデータ３２の登録、修正および削除を受け付ける。例えば、マスタ管理部４５は、統一コードテーブル３２ａや集計キー情報３２ｂを登録する登録画面を表示させ、当該登録画面から新たな情報の登録を受け付ける。
【００５７】
送信制御部４６は、各種のデータをモニタリングサーバ１３へ送信する処理部である。一態様としては、送信制御部４６は、集計部４４により集計されたサマライズデータ３４を分析対象データとしてモニタリングサーバ１３へ送信する。なお、送信制御部４６は、サマライズデータ３４をモニタリングサーバ１３へ日毎など一定期間毎にバッチ処理でまとめて送信してもよく、ユーザから送信を指示する操作が行われたタイミングで送信してもよい。
【００５８】
送信制御部４６は、モニタリングサーバ１３へのサマライズデータ３４の送信が完了すると、サマライズデータ３４を記憶部２１から削除する。これにより、同一のサマライズデータ３４がモニタリングサーバ１３へ複数回送信されることを防止できる。
【００５９】
［モニタリングサーバ１３の構成］
続いて、本実施例に係るシステムに含まれるモニタリングサーバ１３の機能的構成について説明する。図９は、実施例１に係るモニタリングサーバの機能的構成を示すブロック図である。図９に示すように、モニタリングサーバ１３は、通信Ｉ／Ｆ部５０と、記憶部５１と、制御部５２とを有する。
【００６０】
通信Ｉ／Ｆ部５０は、他の装置、例えばマスタサーバ１２との間で通信制御を行うインタフェースである。例えば、通信Ｉ／Ｆ部５０は、マスタサーバ１２から分析対象データとしてサマライズデータ３４を受信する。かかる通信Ｉ／Ｆ部５０の一態様としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。
【００６１】
記憶部５１は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部５１は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ、ＲＯＭであってもよい。
【００６２】
記憶部５１は、制御部５２で実行されるＯＳや後述する属性情報を付加するプログラムなど各種プログラムを記憶する。さらに、記憶部５１は、制御部５２で実行されるプログラムの実行に必要な各種データを記憶する。かかるデータの一例として、記憶部５１は、蓄積データ６１を記憶する。
【００６３】
蓄積データ６１は、各種の分析に用いる各種情報を蓄積したデータである。一例として、蓄積データ６１は、後述の格納部７０によって格納される。他の一例として、蓄積データ６１は、各種の分析結果を出力するため、後述の分析制御部７１によって参照される。
【００６４】
図１０は、実施例１に係る蓄積データの構成例を示す図である。なお、図１０は、売上伝票情報のサマライズデータ３４を蓄積した蓄積データ６１の構成例を示す図である。図１０に示すように、蓄積データ６１は、図７に示したサマライズデータ３４と同様に、「拠点コード」、「部門」、「統一コード」、「売上年月」、「売上金額」の各項目を有し、「拠点コード」、「部門」、「統一コード」の項目がキーの項目とされている。
【００６５】
図１０の例では、拠点コード「０１」の部門「Ａ」は、２０１２年４月に「３，０００」円の売上があったことを示す。また、拠点コード「０１」の部門「Ｂ」は、２０１２年８月に「３，０００」円の売上があったことを示す。なお、図１０は、マスタサーバ１２が売上伝票情報を拠点コードおよび部門を集計キーとして集計したサマライズデータ３４を蓄積した場合を例としているため、「部門コード」の項目に、サマライズされている項目であることを示す「*」が格納されている。
【００６６】
図９に戻り、制御部５２は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部５２は、図９に示すように、格納部７０と、分析制御部７１とを有する。
【００６７】
格納部７０は、サマライズデータ３４を蓄積データ６１に格納する処理部である。一態様としては、格納部７０は、サマライズデータ３４の種類毎にサマライズデータ３４を蓄積データ６１として格納する。なお、格納部７０は、格納するサマライズデータ３４とキーの項目の情報が同じレコードが既に蓄積データ６１に格納されている場合、既に格納されているレコードの集計項目の値に、サマライズデータ３４の対応する集計項目の値を合計する。一方、格納部７０は、格納するサマライズデータ３４とキーの項目の情報が同じレコードが蓄積データ６１に無い場合、サマライズデータ３４を蓄積データ６１に格納する。
【００６８】
分析制御部７１は、蓄積データ６１に基づき、各種情報を提供する処理部である。一態様としては、分析制御部７１は、各種の分析を行う端末装置からの分析対象データに対する分析の要求に応じて、蓄積データ６１に蓄積された分析対象データを端末装置へ送信する。この際、分析制御部７１は、分析対象データを何れの項目でも集計せずに、そのまま送信してもよい。これにより、端末装置は、分析対象データをそのまま表示したり、いずれかの項目で集計するなど様々な分析を行うことができる。また、分析制御部７１は、分析対象データを属性情報を含む何れかの項目で集計して送信してもよい。これにより、端末装置は、分析対象データに対して集計を行うことなく分析を行うことができる。他の一態様としては、分析制御部７１は、蓄積データ６１に基づいて、端末装置に各拠点の各種の状況の分析に用いる分析画面を表示させる。分析制御部７１は、分析対象データが販売実績などの実績のデータや、販売計画などの予定のデータである場合、予定や実績をそれぞれ個別に表示してもよい。また、分析制御部７１は、予定と実績を比較できるように並べて表示したり、予定に対する実績の割合から達成率を表示してもよい。
【００６９】
図１１は、実施例１に係る分析画面の一例を示す図である。なお、図１１は、図１０に示した蓄積データ６１に基づいて月別の売上の分析を行う分析画面の一例を示す図である。図１１に示すように、分析画面１５０には、月別の売上を表示する表示領域１５１が設けられている。
【００７０】
［具体的な処理の流れ］
次に、実施例１に係る分析システム１０の具体的な処理の流れの一例を説明する。業務システム１１は、各種の伝票など各種業務に関する情報が入力される。業務システム１１は、入力された伝票情報などの各種業務に関する情報を業務データとしてマスタサーバ１２へ送信する。例えば、業務システム１１は、図３に示すような売上伝票情報を業務データとしてマスタサーバ１２へ送信する。
【００７１】
マスタサーバ１２では、各業務システム１１から送信された業務データを受信した場合、受信制御部４０が、受信された業務データを記憶部２１へ格納する。特定部４１は、格納された業務データ３０の各レコードを順次読み出し、コードを変換すべき項目がある場合、コードを変換すべき項目に設定されたコードに対応する統一コードを統一コードテーブル３２ａから特定する。例えば、業務データ３０として図３に示すような売上伝票情報が格納され、統一コードテーブル３２ａが図５に示すような場合、特定部４１は、拠点コード「０１」の拠点品番「Ｌ００１」の統一コードを「Ｓ００１」と特定する。また、特定部４１は、拠点コード「０１」の拠点品番「Ｌ００２」の統一コードを「Ｓ００２」と特定する。また、特定部４１は、拠点コード「０１」の拠点品番「Ｌ００３」の統一コードを「Ｓ００３」と特定する。
【００７２】
生成部４２は、読み出されたレコードと識別情報が同じレコードが受信データ記憶テーブル３１に記憶されているか否か判定する。そして、生成部４２は、識別情報が同じレコードが記憶されている場合、記憶されたレコードの集計の対象とされた項目の数値の正負を反転させたレコードを赤伝票として生成する。例えば、業務データ３０として図３に示すような売上伝票情報の何れのレコードもマスタサーバ１２に初めて送信された場合、識別情報が同じレコードが受信データ記憶テーブル３１に記憶されていないため、生成部４２は、赤伝票の生成を行わない。格納部４３は、読み出された業務データ３０のレコードを受信データ記憶テーブル３１および集計対象格納テーブル３３に格納する。これにより、業務データ３０が図３に示すような売上伝票情報である場合、受信データ記憶テーブル３１には、図４に示すような情報が格納される。また、集計対象格納テーブル３３には、図６に示すような情報が格納される。
【００７３】
集計部４４は、集計キー情報３２ｂに基づき、集計対象格納テーブル３３に格納されたデータを集計してサマライズデータ３４を生成する。例えば、集計部４４は、図６に示した集計対象格納テーブル３３の各レコードを拠点コードおよび部門毎に集計して、図７に示すようなサマライズデータ３４を生成する。また、集計部４４は、集計が完了すると、集計対象格納テーブル３３に格納された全てのレコードを削除する。
【００７４】
送信制御部４６は、集計部４４により集計されたサマライズデータ３４を分析対象データとしてモニタリングサーバ１３へ送信する。また、送信制御部４６は、サマライズデータ３４の送信が完了すると、サマライズデータ３４を記憶部２１から削除する。
【００７５】
モニタリングサーバ１３では、マスタサーバ１２から送信されたサマライズデータ３４を受信した場合、格納部７０が、サマライズデータ３４を蓄積データ６１に格納する。例えば、図７に示すようなサマライズデータ３４が受信された場合、蓄積データ６１には、図１０に示すような情報が格納される。
【００７６】
ところで、各拠点では、マスタサーバ１２へ伝票情報を送信した後、送信した伝票情報の伝票の数量や金額などの数値を修正する場合がある。業務システム１１は、送信した伝票情報の伝票の数量や金額などの数値が修正された場合、修正前と同じ識別情報で数値を修正した修正伝票の伝票情報を業務データとしてマスタサーバ１２へ送信する。例えば、業務システム１１では、図３に示すような売上伝票情報の売上金額を修正された場合、売上金額を修正した修正伝票の伝票情報を業務データとしてマスタサーバ１２へ送信する。図１２は、売上金額が修正された修正伝票の構成例を示す図である。図１２の例では、拠点コード「０１」の伝票番号「Ｄ００１」は、図３に示す売上伝票情報から売上金額が「２，０００」円に修正されている。また、拠点コード「０１」の伝票番号「Ｄ００２」は、図３に示す売上伝票情報から売上金額が「３，０００」円に修正されている。また、拠点コード「０１」の伝票番号「Ｄ００３」は、図３に示す売上伝票情報から売上金額が「１，０００」円に修正されている。
【００７７】
マスタサーバ１２では、修正伝票の業務データを受信した場合、受信制御部４０が、受信された業務データを記憶部２１へ格納する。特定部４１は、格納された業務データ３０の各レコードを順次読み出し、コードを変換すべき項目に設定されたコードに対応する統一コードを統一コードテーブル３２ａから特定する。
【００７８】
生成部４２は、読み出されたレコードと識別情報が同じレコードが受信データ記憶テーブル３１に記憶されているか否か判定する。そして、生成部４２は、識別情報が同じレコードが記憶されている場合、記憶されたレコードの集計の対象とされた項目の数値の正負を反転させたレコードを赤伝票として生成する。例えば、業務データ３０が図１２に示す売上伝票情報であり、受信データ記憶テーブル３１に図４に示す情報が格納されている場合、生成部４２は、図４に示す各レコードの売上金額の項目の数値の正負を反転させたレコードを赤伝票として生成する。
【００７９】
格納部４３は、読み出された業務データ３０のレコードを受信データ記憶テーブル３１および集計対象格納テーブル３３に格納する。また、格納部４３は、生成部４２により赤伝票のレコードが生成された場合、生成された赤伝票のレコードを集計対象格納テーブル３３に格納する。図１３は、赤伝票および黒伝票を格納した集計対象格納テーブルの構成例を示す図である。集計対象格納テーブル３３には、区分が「０１」として赤伝票のレコードが格納され、区分が「０２」として、図１２に示す修正伝票の情報が黒伝票のレコードが格納される。
【００８０】
集計部４４は、集計キー情報３２ｂに基づき、集計対象格納テーブル３３に格納されたデータを集計してサマライズデータ３４を生成する。例えば、集計部４４は、図１３に示した集計対象格納テーブル３３の各レコードを拠点コードおよび部門毎に集計して、図１４に示すサマライズデータ３４を生成する。また、集計部４４は、集計が完了すると、集計対象格納テーブル３３に格納された全てのレコードを削除する。
【００８１】
図１４は、図１３に示す集計対象格納テーブルの各レコードを集計したサマライズデータの構成例を示す図である。図１４の例では、拠点コード「０１」の部門「Ａ」は、２０１２年４月の売上金額の集計結果が「２，０００」であることを示す。また、拠点コード「０１」の部門「Ｂ」は、２０１２年８月の売上金額の集計結果が「−２，０００」円であることを示す。
【００８２】
送信制御部４６は、集計部４４により集計されたサマライズデータ３４を分析対象データとしてモニタリングサーバ１３へ送信する。また、送信制御部４６は、サマライズデータ３４の送信が完了すると、サマライズデータ３４を記憶部２１から削除する。
【００８３】
モニタリングサーバ１３では、マスタサーバ１２から送信されたサマライズデータ３４を受信した場合、格納部７０が、サマライズデータ３４を蓄積データ６１に格納する。格納部７０は、格納するサマライズデータ３４とキーの項目の情報が同じレコードが既に蓄積データ６１に格納されている場合、既に格納されているレコードの集計項目の値に、サマライズデータ３４の対応する集計項目の値を合計する。一方、格納部７０は、格納するサマライズデータ３４とキーの項目の情報が同じレコードが蓄積データ６１に無い場合、サマライズデータ３４を蓄積データ６１に格納する。これにより、例えば、蓄積データ６１に図１０に示す情報が格納され、図１４に示すようなサマライズデータ３４が受信された場合、蓄積データ６１は、図１５に示すように更新される。図１５は、修正伝票のサマライズデータを蓄積した蓄積データの構成例を示す図である。図１５の例では、拠点コード「０１」の部門「Ａ」は、２０１２年４月に「５，０００」円の売上があったことを示す。また、拠点コード「０１」の部門「Ｂ」は、２０１２年８月に「１，０００」円の売上があったことを示す。この図１５に示す集計結果は、図１２に示す修正伝票を拠点コードおよび部門毎に売上年月の売上金額を集計した結果と合致する。このように、本実施例に係るマスタサーバ１２によれば、伝票が修正された場合でも数値の整合性が取れなくなることを抑制できる。
【００８４】
［処理の流れ］
次に、本実施例に係るマスタサーバ１２の処理の流れについて説明する。図１６は、実施例１に係る格納処理の手順を示すフローチャートである。この格納処理は、業務システム１１から送信された業務データを記憶部２１へ格納した場合に実行される。例えば、格納処理は、業務システム１１から受信した業務データが受信制御部４０により記憶部２１へ格納された場合に実行される。なお、格納処理は、日毎など一定期間毎に実行されてるものとしてもよい。
【００８５】
図１６に示すように、格納部４３は、記憶部２１に記憶された業務データ３０の全てのレコードに対する処理が完了したか否か判定する（ステップＳ１０）。全てのレコードに対する処理が完了した場合（ステップＳ１０肯定）、格納部４３は、記憶部２１に記憶された業務データ３０を削除し（ステップＳ１１）、処理を終了する。
【００８６】
一方、全てのレコードに対する処理が完了していない場合（ステップＳ１０否定）、特定部４１は、業務データ３０から１レコードを順次読み出す（ステップＳ１２）。特定部４１は、読み出したレコードにコードを変換すべき項目がある場合、変換すべき項目に設定されたコードに対応する統一コードを統一コードテーブル３２ａから特定する（ステップＳ１３）。
【００８７】
生成部４２は、読み出したレコードと識別情報が同じレコードが受信データ記憶テーブル３１に記憶されているか否か判定する（ステップＳ１４）。識別情報が同じレコードが記憶されている場合（ステップＳ１４肯定）、生成部４２は、受信データ記憶テーブル３１に記憶された識別情報が同じレコードの集計の対象とされた項目の数値の正負を反転させたレコードを赤伝票として生成する（ステップＳ１５）。格納部４３は、読み出したレコードにコードを変換すべき項目がある場合、特定部４１により特定された統一コードを加えて、当該レコードの情報を集計対象格納テーブル３３に格納する（ステップＳ１６）。また、格納部４３は、生成された赤伝票のレコードの情報を集計対象格納テーブル３３に格納する（ステップＳ１７）。その後、格納部４３は、読み出したレコードと識別情報が同じ受信データ記憶テーブル３１のレコードを読み出したレコードの情報に更新し（ステップＳ１８）、ステップＳ１０へ移行する。
【００８８】
一方、識別情報が同じレコードが記憶されていない場合（ステップＳ１４否定）、格納部４３は、読み出したレコードにコードを変換すべき項目がある場合、統一コードを加えて、当該レコードの情報を集計対象格納テーブル３３に格納する（ステップＳ１９）。その後、格納部４３は、読み出したレコードの情報を受信データ記憶テーブル３１に格納し（ステップＳ２０）、ステップＳ１０へ移行する。
【００８９】
次に、本実施例に係るマスタサーバ１２によりサマライズデータを生成する集計処理の流れについて説明する。図１７は、実施例１に係る集計処理の手順を示すフローチャートである。この集計処理は、日毎など一定期間毎に実行される。
【００９０】
図１７に示すように、集計部４４は、集計キー情報３２ｂから集計キーを特定する（ステップＳ３０）。集計部４４は、特定した集計キーで集計対象格納テーブル３３に格納されたデータを集計する（ステップＳ３１）。集計部４４は、集計対象格納テーブル３３に格納されたデータを集計した集計結果を示すサマライズデータ３４を生成し（ステップＳ３２）、処理を終了する。
【００９１】
［実施例１の効果］
本実施例に係るマスタサーバ１２は、それぞれの伝票を識別する識別情報および所定の集計項目の数値を含んだ伝票情報を記憶する。本実施例に係るマスタサーバ１２は、各業務システム１１から受信伝票情報を業務データとして受信する。本実施例に係るマスタサーバ１２は、受信された伝票情報に含まれる識別情報と同じ識別情報を含んだ伝票情報が記憶されている場合、記憶された伝票情報に含まれる集計項目の数値に対する受信した伝票情報に含まれる集計項目の数値の差を集計する。また、本実施例に係るマスタサーバ１２は、受信された伝票情報に含まれる識別情報と同じ識別情報を含んだ伝票情報が記憶されていない場合、受信した伝票情報に含まれる集計項目の数値を集計する。これにより、本実施例に係るマスタサーバ１２によれば、伝票が修正された場合でも数値の整合性が取れなくなることを抑制できる。
【００９２】
また、本実施例に係るマスタサーバ１２は、受信された伝票情報に含まれる識別情報と同じ識別情報を含んだ伝票情報が記憶されている場合、記憶された伝票情報の集計項目の数値の正負を反転させた伝票情報を生成する。そして、本実施例に係るマスタサーバ１２は、受信した伝票情報に含まれる前記集計項目の数値および生成された伝票情報に含まれる集計項目の数値を集計する。このように、本実施例に係るマスタサーバ１２によれば、集計項目の数値の正負を反転させた赤伝票の伝票情報を生成することにより、データ上で修正された伝票情報が判別しやすくなる。また、本実施例に係るマスタサーバ１２によれば、修正された伝票情報について、赤伝票の伝票情報を生成することにより、修正前の伝票情報の内容を容易に把握できる。
【００９３】
また、本実施例に係るマスタサーバ１２は、受信された伝票情報に含まれる識別情報と同じ識別情報を含んだ伝票情報が記憶されている場合、記憶された伝票情報を受信された伝票情報に更新する。また、本実施例に係るマスタサーバ１２は、受信された伝票情報に含まれる識別情報と同じ識別情報を含んだ伝票情報が記憶されていない場合、受信された伝票情報を格納する。これにより、本実施例に係るマスタサーバ１２によれば、識別情報毎に直近に受信した伝票情報のみを記憶することができる。このように、直近に受信した伝票情報のみを記憶することにより、伝票情報を記憶する記憶領域の容量を少なく抑えることができる。
【実施例２】
【００９４】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００９５】
例えば、上記の実施例では、識別情報毎に直近に受信した伝票情報のみを記憶する場合について説明したが、開示の装置はこれに限定されない。例えば、受信した伝票情報を受信日時と共に記憶し、伝票情報を受信した場合、受信した伝票情報と識別情報が同じ伝票情報が記憶されているか判別し、複数記憶されている場合、受信日時の最も新しい識別情報と数値の差を集計するようにしてもよい。
【００９６】
また、上記の実施例では、受信した伝票情報と識別情報が同じ伝票情報が記憶されている場合、記憶された伝票情報の集計項目の数値の正負を反転させた赤伝票の伝票情報を生成して集計を行う場合について説明したが、開示の装置はこれに限定されない。例えば、赤伝票の生成を行わず、集計処理において、受信した伝票情報と識別情報が同じ伝票情報が記憶されているか判定を行うようにする。そして、識別情報が同じ伝票情報が記憶されていない場合、受信した伝票情報に含まれる集計項目の数値を集計する。また、識別情報が同じ伝票情報が記憶されている場合、記憶された伝票情報に含まれる集計項目の数値に対する受信した伝票情報に含まれる集計項目の数値の差を集計するようにしてもよい。
【００９７】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、マスタサーバ１２の受信制御部４０、特定部４１、生成部４２、格納部４３、集計部４４、マスタ管理部４５および送信制御部４６の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。また、受信制御部４０、特定部４１、生成部４２、格納部４３、集計部４４、マスタ管理部４５または送信制御部４６を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のマスタサーバ１２の機能を実現するようにしてもよい。
【００９８】
［集計プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１８を用いて、上記の実施例と同様の機能を有する集計プログラムを実行するコンピュータの一例について説明する。
【００９９】
図１８は、集計プログラムを実行するコンピュータの一例について説明するための図である。図１８に示すように、コンピュータ２００は、操作部２１０と、ディスプレイ２２０と、通信部２３０とを有する。さらに、このコンピュータ２００は、ＣＰＵ２５０と、ＲＯＭ２６０と、ＨＤＤ２７０と、ＲＡＭ２８０と有する。これら２１０〜２８０の各部はバス２４０を介して接続される。
【０１００】
ＨＤＤ２７０には、受信制御部４０、特定部４１、生成部４２、格納部４３、集計部４４、マスタ管理部４５、送信制御部４６と同様の機能を発揮する集計プログラム２７０ａが予め記憶される。この集計プログラム２７０ａについては、実施例１で示した各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ２７０に格納される各データは、常に全てのデータがＨＤＤ２７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ２７０に格納されれば良い。
【０１０１】
そして、ＣＰＵ２５０が、集計プログラム２７０ａをＨＤＤ２７０から読み出してＲＡＭ２８０に展開する。これによって、図１８に示すように、集計プログラム２７０ａは、集計プロセス２８０ａとして機能する。この集計プロセス２８０ａは、ＨＤＤ２７０から読み出した各種データを適宜ＲＡＭ２８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。集計プロセス２８０ａは、受信制御部４０、特定部４１、生成部４２、格納部４３、集計部４４、マスタ管理部４５、送信制御部４６にて実行される処理、例えば図１６、図１７に示す格納処理および集計処理を含む。例えば、集計プロセス２８０ａは、業務システム１１から業務データが送信された場合、格納処理および集計処理を実行する。すなわち、集計プロセス２８０ａは、受信制御部４０、特定部４１、生成部４２、格納部４３、集計部４４、マスタ管理部４５、送信制御部４６と同様の動作を実行する。なお、ＣＰＵ２５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ２５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【０１０２】
なお、上記の集計プログラム２７０ａについては、必ずしも最初からＨＤＤ２７０やＲＯＭ２６０に記憶させておく必要はない。例えば、コンピュータ２００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ２００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ２００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ２００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【０１０３】
１０  分析システム
１２  マスタサーバ
１３  モニタリングサーバ
２０  通信Ｉ／Ｆ部
２１  記憶部
２２  制御部
３０  業務データ
３１  受信データ記憶テーブル
３２ｂ  集計キー情報
３３  集計対象格納テーブル
３４  サマライズデータ
４０  受信制御部
４１  特定部
４２  生成部
４３  格納部
４４  集計部
４６  送信制御部
【図１】
0006409888.tif 000002
【図２】
0006409888.tif 000003
【図３】
0006409888.tif 000004
【図４】
0006409888.tif 000005
【図５】
0006409888.tif 000006
【図６】
0006409888.tif 000007
【図７】
0006409888.tif 000008
【図８】
0006409888.tif 000009
【図９】
0006409888.tif 000010
【図１０】
0006409888.tif 000011
【図１１】
0006409888.tif 000012
【図１２】
0006409888.tif 000013
【図１３】
0006409888.tif 000014
【図１４】
0006409888.tif 000015
【図１５】
0006409888.tif 000016
【図１６】
0006409888.tif 000017
【図１７】
0006409888.tif 000018
【図１８】
0006409888.tif 000019