以下に、本願の開示する分析装置および分析プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
まず、本実施例に係る分析システムの構成について説明する。図1は、実施例1に係る分析システムの構成を示す図である。図1に示す分析システム10は、企業の各拠点の製品などの販売実績や受注状況、納品状況などの各種の状況の見える化を行うものである。
この分析システム10は、図1に示すように、複数の業務システム11と、マスタサーバ12と、モニタリングサーバ13とを有する。業務システム11は、企業の拠点でそれぞれ運用され、拠点の業務に用いられるシステムである。マスタサーバ12およびモニタリングサーバ13は、企業の本社で運用されている。マスタサーバ12は、各業務システム11から各拠点の業務に関する情報を収集するサーバ装置である。モニタリングサーバ13は、マスタサーバ12に収集された情報を用いて、各拠点に状況を示す各種情報を提供するサーバ装置である。なお、図1の例では、業務システム11が2つの場合を例示したが、開示のシステムはこれに限定されず、業務システム11を任意の数とすることができる。また、図1の例では、モニタリングサーバ13が1つの場合を例示したが、開示のシステムはこれに限定されず、モニタリングサーバ13を2つ以上設けてもよい。
これら業務システム11と、マスタサーバ12、モニタリングサーバ13の間は、ネットワーク14を介して通信可能に接続される。かかるネットワーク14には、有線または無線を問わず、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、VPN(Virtual Private Network)などの任意の通信網を採用できる。
業務システム11は、それぞれ拠点の各種の業務に関する計画や実績が入力される。業務システム11は、それぞれの拠点が遂行する業務内容に応じてそれぞれ異なるものとしてもよく、複数のシステムを含んでもよい。例えば、かかる業務システム11としては、拠点の会計を管理する会計システム、各種作業の予定や実績を管理する作業管理システム、各設備稼働の予定や実績を管理する設備管理システム、商品等の生産状況を管理する生産管理システムなどがある。また、業務システム11としては、商品等の販売計画を管理する販売計画システム、商品等の販売実績や受注状況を管理する販売管理システム、商品等の生産状況を管理する生産管理システム、商品等の在庫状況を管理する在庫管理システムなどがある。さらに、業務システム11としては、生産や販売、在庫、購買、物流、会計などの企業内のあらゆる経営資源に関する情報を管理するERP(Enterprise Resource Planning)システムなどがある。業務システム11には、会計、作業管理、設備管理、販売管理、生産管理、販売計画、在庫管理など各種の業務に関する計画や実績の情報が入力される。例えば、業務システム11には、商品を販売する取引があった場合、取引に関する売上伝票の情報が入力される。
業務システム11は、入力された伝票情報などの各種業務に関する情報を業務データとして、マスタサーバ12へ送信する。例えば、会計に関する業務データとしては、各勘定科目の予算データ、各勘定科目の残高データなどがある。また、作業管理に関する業務データとしては、作業予定データ、作業実績データなどがある。また、設備管理に関する業務データとしては、設備稼働予定データ、設備稼働実績データなどがある。また、生産管理に関する業務データとしては、製造予定データ、製造実績データ、消費材料の使用予定データ、消費材料の使用実績データ、不良実績データなどがある。また、販売計画に関する業務データとしては、販売計画データ、商品等の調達予定データ、商品等の調達実績データなどがある。また、販売管理に関する業務データとしては、受注データ、出荷実績データ、売上実績データなどがある。在庫管理に関する業務データとしては、在庫データ、在庫調整データ、原価データなどがある。なお、業務システム11は、業務データをマスタサーバ12へリアルタイムに送信してもよく、ユーザから送信を指示する操作が行われたタイミングで送信してもよく、日毎など一定期間毎にバッチ処理でまとめて送信してもよい。
マスタサーバ12は、各業務システム11から各拠点の業務データを収集する。ここで、グローバル化の進展により、企業は、拠点が複数の地域や国に展開している場合がある。各拠点の業務システム11は、それぞれ個別に運用されるため、同一の商品や同一の仕入先など同一の対象に対して異なる名称やコードが使用される場合がある。マスタサーバ12は、各業務システム11で用いられる名称やコードなどを統一するためのマスタ情報を記憶している。このマスタ情報には、各業務システム11で用いられる名称やコードと、共通に用いる名称やコードとが関連づけられている。マスタサーバ12は、マスタ情報に基づいて、各業務システム11から収集された情報のコードを統一コードに変換して格納する。
また、マスタサーバ12は、モニタリングサーバ13へ各拠点の各種の状況の分析に用いる分析用のデータを送信する。ここで、マスタサーバ12には、各業務システム11から各拠点で発生した伝票の情報などの大量の業務データが記憶される。この大量の業務データをマスタサーバ12がモニタリングサーバ13へ送信した場合、通信負荷が大きい。モニタリングサーバ13を複数設けた場合、通信負荷はさらに大きくなる。そこで、マスタサーバ12は、各業務システム11から収集された業務データをサマライズし、サマライズしたデータを分析対象データとしてモニタリングサーバ13へ送信する。例えば、マスタサーバ12は、売上伝票の情報を商品、売上日毎に集計して売上情報を生成し、生成した売上情報を分析対象データとしてモニタリングサーバ13へ送信する。
モニタリングサーバ13は、マスタサーバ12に送信された分析対象データを用いて、各拠点に関する各種情報を提供する。本社の経営者や担当者、あるいは各拠点の責任者は、モニタリングサーバ13から提供される各拠点に関する各種情報を基に分析を行う。
ここで、分析は、分析対象データに含まれるいずれかの項目を分析軸として分析が行われる。例えば、各商品の販売日別の販売実績を分析対象データとした場合、販売日毎に各商品の販売数や、商品毎の日別や週別、月別の販売数の分析が行われる。しかしながら、分析対象データに予め含まれるいずれかの項目を分析軸とした範囲でしか分析が行えず、拡張性が乏しい。
そこで、本実施例に係るモニタリングサーバ13は、次のような属性情報を記憶する。すなわち、モニタリングサーバ13は、分析対象データに含まれる複数のレコードに含まれる少なくとも1つの項目および該項目に格納された情報に対応付けて、少なくとも1つの項目とは異なる付加項目および該付加項目に格納される属性情報を記憶する。例えば、モニタリングサーバ13は、マスタサーバ12から送信される分析対象データの所定の項目毎に、分析対象データの項目と異なる項目の属性情報を記憶する。そして、本実施例に係るモニタリングサーバ13は、分析対象データを受信した場合、受信した分析対象データの各レコードに対して、次のような属性情報を付加する。すなわち、モニタリングサーバ13は、受信された分析対象データの各レコードの少なくとも1つの項目および該項目に格納された情報に対応して、記憶された付加項目および該付加項目に対応する属性情報を、該各レコードに付加して格納する。例えば、モニタリングサーバ13は、受信した分析対象データの各レコードに対して、所定の項目の情報に応じて属性情報を付加して格納する。これにより、本実施例に係るモニタリングサーバ13によれば、分析対象データに対して属性情報が付加されるため、属性情報を新しい分析軸として分析対象データの分析が行える。
[マスタサーバ12の構成]
続いて、本実施例に係るシステムに含まれるマスタサーバ12の機能的構成について説明する。図2は、実施例1に係るマスタサーバの機能的構成を示すブロック図である。図2に示すように、マスタサーバ12は、通信I/F(interface)部20と、記憶部21と、制御部22とを有する。
通信I/F部20は、他の装置、例えばモニタリングサーバ13や業務システム11との間で通信制御を行うインタフェースである。例えば、通信I/F部20は、業務システム11から伝票情報などの各種の業務データを受信する。また、通信I/F部20は、分析対象データをモニタリングサーバ13へ送信する。かかる通信I/F部20の一態様としては、LANカードなどのネットワークインタフェースカードを採用できる。
記憶部21は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部21は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
記憶部21は、制御部22で実行されるOS(Operating System)や後述するマスタデータのメンテナンスに用いるプログラム、業務データのサマライズに用いるプログラムなど各種プログラムを記憶する。さらに、記憶部21は、制御部22で実行されるプログラムの実行に必要な各種データを記憶する。かかるデータの一例として、記憶部21は、業務データ30と、マスタデータ31と、サマライズデータ32とを記憶する。
業務データ30は、各業務システム11から受信した業務データである。一例として、業務データ30は、通信I/F部20が各業務システム11から受信した業務データが後述の格納部40によって格納される。他の一例として、業務データ30は、後述の変換部41によってコードの変換が行われる。また、他の一例として、業務データ30は、後述の集計部42によって集計される。
図3は、実施例1に係る業務データの構成例を示す図である。なお、図3は、業務データとして売上伝票情報の構成例を示す図である。図3に示すように、業務データ30は、「拠点コード」、「伝票番号」、「拠点品番」、「売上日」、「売上金額」の各項目を有する。拠点コードの項目は、業務データの送信元の拠点を示す情報を格納する領域である。拠点には、それぞれの拠点を示すコードが一意に定められている。拠点コードの項目には、業務データの送信元の拠点を示すコードが格納される。伝票番号の項目は、伝票を識別する番号を格納する領域である。伝票には、取引毎にそれぞれ一意の伝票番号が定められる。伝票番号の項目には、定められた伝票番号が格納される。拠点品番の項目は、拠点における商品を示すコードを格納する領域である。拠点では、商品毎にコードを定めている。この商品を示すコードは、拠点毎に定めることができるため、同一の商品でも拠点毎に異なる場合もある。拠点品番の項目には、業務データの送信元の拠点での商品を示すコードが格納される。売上日の項目は、取引があった日付を格納する領域である。売上金額の項目は、取引された金額を格納する領域である。
図3の例では、拠点コード「01」の伝票番号「0001」は、2012年4月10日に拠点品番「L001」の商品の売上取引があり、売上金額が「1,000」円であったことを示す。また、拠点コード「01」の伝票番号「0002」は、2012年6月15日に拠点品番「L002」の商品の売上取引があり、売上金額が「2,000」円であったことを示す。また、拠点コード「01」の伝票番号「0003」は、2012年9月30日に拠点品番「L003」の商品の売上取引があり、売上金額が「3,000」円であったことを示す。
マスタデータ31は、共通に用いられる基本となる各種情報が記憶されたデータである。マスタデータ31は、本実施例に関係するデータとして、統一コードテーブル31aと、集計キー情報31bと、付加項目テーブル31cと、属性管理テーブル31dと、属性情報テーブル31eとを含む。
統一コードテーブル31aは、各業務システム11で用いられる名称やコードと統一名称や統一コードを対応付けて記憶したテーブルである。一例として、統一コードテーブル31aは、各業務システムから送信された業務データ30のコードを統一するため、後述の変換部41によって参照される。集計キー情報31bは、サマライズにおいて業務データをどの項目の単位で集計するかの集計キーを示すデータである。一例として、集計キー情報31bは、各業務データをサマライズするため、後述の集計部42によって参照される。付加項目テーブル31cは、属性情報として付加することが可能な項目を記憶したテーブルである。一例として、付加項目テーブル31cは、属性情報の参照、登録を行う際にマスタ管理部43によって参照される。属性管理テーブル31dは、登録された属性情報を記憶したテーブルである。一例として、属性管理テーブル31dは、属性情報の参照、登録を行う際にマスタ管理部43によって参照、更新される。属性情報テーブル31eは、所定の項目毎に、新たに付加する項目の属性情報を記憶したテーブルである。一例として、属性情報テーブル31eは、後述のマスタ管理部43によって更新される。他の一例として、属性情報テーブル31eは、後述の送信制御部44によって参照される。
図4は、実施例1に係る統一コードデータの構成例を示す図である。図4に示すように、統一コードテーブル31aは、「拠点コード」、「拠点品番」、「統一コード」の各項目を有する。拠点コードの項目は、拠点を示すコードを格納する領域である。拠点品番の項目は、拠点において商品を示すコードを格納する領域である。統一コードの項目は、商品を示す統一コードを格納する領域である。なお、この統一コードは、何れかの拠点での商品のコードとしてもよく、商品についてそれぞれ一意に新たに定めてもよい。以下では、統一コードのことを「品種」と称する場合がある。
図4の例では、拠点コード「01」の拠点品番「L001」は、統一コードが「S001」であることを示す。また、拠点コード「02」の拠点品番「M001」は、統一コードが「S001」であることを示す。また、拠点コード「01」の拠点品番「L002」は、統一コードが「S002」であることを示す。また、拠点コード「02」の拠点品番「M002」は、統一コードが「S002」であることを示す。また、拠点コード「01」の拠点品番「L003」は、統一コードが「S003」であることを示す。また、拠点コード「02」の拠点品番「M003」は、統一コードが「S003」であることを示す。
図5は、実施例1に係る付加項目テーブルの構成例を示す図である。図5に示すように、付加項目テーブル31cは、「分析軸コード」、「分析軸」の各項目を有する。分析軸コードの項目は、分析軸として付加可能な項目を示すコードを格納する領域である。分析軸の項目は、分析軸として付加可能な項目を格納する領域である。
図5の例では、分析軸コード「J01」は、付加可能な項目として「容量」を表すことを示す。また、分析軸コード「J02」は、付加可能な項目として「形状」を表すことを示す。また、分析軸コード「J03」は、付加可能な項目として「色」を表すことを示す。
図6は、実施例1に係る属性管理テーブルの構成例を示す図である。図6に示すように、属性管理テーブル31dは、「分析軸コード」、「値コード」、「設定情報」の各項目を有する。分析軸コードの項目は、分析軸として付加可能な項目を示すコードを格納する領域である。値コードの項目は、登録された設定情報を示すコードを格納する領域である。設定情報の項目は、登録された設定情報を格納する領域である。
図6の例では、分析軸コード「J01」は、値コード「V01」として設定情報「100L超」が登録されていることを示す。また、分析軸コード「J01」は、値コード「V02」として設定情報「50〜100L」が登録されていることを示す。また、分析軸コード「J02」は、値コード「V01」として設定情報「箱形」が登録されていることを示す。また、分析軸コード「J02」は、値コード「V01」として設定情報「箱形」が登録されていることを示す。また、分析軸コード「J02」は、値コード「V02」として設定情報「円筒」が登録されていることを示す。
図7は、実施例1に係る属性情報テーブルの構成例を示す図である。なお、図7は、各商品に対して新たに付加する属性情報を格納した属性情報テーブルの構成例を示す図である。図7に示すように、属性情報テーブル31eは、「品種」、「分析軸」、「属性情報」の各項目を有する。品種の項目は、属性を関連付ける商品の統一コードを格納する領域である。分析軸の項目は、分析軸として付加する属性情報の種類を格納する領域である。属性情報の項目は、付加する属性情報を格納する領域である。
図7の例では、品種「S001」の商品は、分析軸「容量」の属性情報が「100L超」であることを示す。また、品種「S001」の商品は、分析軸「形状」の属性情報が「箱形」であることを示す。また、品種「S001」の商品は、分析軸「色」の属性情報が「赤」であることを示す。また、品種「S002」の商品は、分析軸「容量」の属性情報が「50〜100L」であることを示す。また、品種「S002」の商品は、分析軸「形状」の属性情報が「円筒」であることを示す。また、品種「S002」の商品は、分析軸「色」の属性情報が「赤」であることを示す。また、品種「S003」の商品は、分析軸「容量」の属性情報が「50L未満」であることを示す。また、品種「S003」の商品は、分析軸「形状」の属性情報が「球形」であることを示す。また、品種「S003」の商品は、分析軸「色」の属性情報が「青」であることを示す。
サマライズデータ32は、業務データ30をサマライズしたデータである。一例として、サマライズデータ32は、後述の集計部42によって業務データ30を集計して生成される。他の一例として、サマライズデータ32は、後述の送信制御部44によって参照される。
図8は、実施例1に係るサマライズデータの構成例を示す図である。なお、図8は、売上伝票情報を集計して生成されたサマライズデータの構成例を示す図である。図8に示すように、サマライズデータ32は、「拠点コード」、「品種」、「売上年月」、「売上金額」の各項目を有する。拠点コードの項目は、拠点を示すコードを格納する領域である。品種の項目は、商品を示す統一コードを格納する領域である。売上年月の項目は、売上を集計した年および月を格納する領域である。売上金額の項目は、売上年月毎に集計された売上金額を格納する領域である。また、サマライズデータ32は、集計キーである項目のデータの最後に集計キーであることを示す情報として「+」が付されている。
図8の例では、拠点「01」の品種「S001」は、2012年4月に「10,000」円の売上があったことを示す。また、拠点「01」の品種「S002」は、2012年4月に「10,000」円の売上があったことを示す。また、拠点「01」の品種「S002」は、2012年6月に「20,000」円の売上があったことを示す。また、拠点「01」の品種「S003」は、2012年9月に「30,000」円の売上があったことを示す。また、図8の例では、「拠点」、「品種」、「売上年月」の項目のデータの最後に「+」が付されており、集計キーであることを示している。
なお、サマライズデータ32は、サマライズされている項目に、サマライズされている項目であることを示す情報を付加してもよい。例えば、サマライズデータ32の項目にサマライズされている項目であることを示す情報として「*」を付加することも可能である。
ここで、一例を説明する。図9は、実施例1に係る業務データの他の構成例を示す図である。図9のように、業務データ30は、「拠点コード」、「部門コード」、「品種」、「売上日」、「売上金額」の各項目を有する。拠点コードの項目は、拠点を示すコードを格納する領域である。それぞれの拠点では、拠点内の各部門を示すコードが一意に定められている。部門コードの項目は、業務データの送信元の部門を示すコードを格納する領域である。品種の項目は、拠点における商品を示すコードを格納する領域である。売上日の項目は、取引があった日付を格納する領域である。売上金額の項目は、取引された金額を格納する領域である。
図9の例では、拠点コード「01」の部門「B001」は、2012年4月1日に品種「S001」の商品の売上取引があり、売上金額が「10,000」円であったことを示す。また、拠点コード「01」の部門「B002」は、2012年4月2日に品種「S002」の商品の売上取引があり、売上金額が「10,000」円であったことを示す。また、拠点コード「01」の部門「B003」は、2012年6月1日に品種「S002」の商品の売上取引があり、売上金額が「20,000」円であったことを示す。また、拠点コード「01」の部門「B004」は、2012年9月1日に品種「S003」の商品の売上取引があり、売上金額が「30,000」円であったことを示す。
図10は、実施例1に係るサマライズデータの他の構成例を示す図である。なお、図10は、図9の業務データの各品種の売上金額を拠点別に売上日毎にサマライズしたサマライズデータの構成例を示す図である。図10に示すように、サマライズデータ32は、「拠点コード」、「部門コード」、「品種」、「売上日」、「売上金額」の各項目を有する。
図10の例では、拠点「01」は、2012年4月1日に品種「S001」の商品について「10,000」円の売上があったことを示す。また、拠点「01」は、2012年4月2日に品種「S002」の商品について「10,000」円の売上があったことを示す。また、拠点「01」は、2012年6月1日に品種「S002」の商品について「20,000」円の売上があったことを示す。また、拠点「01」は、2012年9月1日に品種「S003」の商品について「30,000」円の売上があったことを示す。図9に示すように、各拠点の部門コードが異なるが、図10に示すように、「拠点コード」でサマライズした場合、サマライズデータ32の「部門コード」の項目は、サマライズされている項目であるため、部門コードが何れであるか特定できない。そこで、サマライズデータ32の「部門コード」の項目には、集計コードを示す「*」を格納する。図8の例では、「部門コード」の項目に「*」が格納されており、サマライズされている項目であることを示している。
また、図11は、実施例1に係る業務データの他の構成例を示す図である。図11の例では、拠点コード「01」の部門「B001」は、2012年4月1日に品種「S001」の商品の売上取引があり、売上金額が「10,000」円であったことを示す。また、拠点コード「01」の部門「B001」は、2012年4月2日に品種「S001」の商品の売上取引があり、売上金額が「10,000」円であったことを示す。また、拠点コード「01」の部門「B003」は、2012年6月1日に品種「S002」の商品の売上取引があり、売上金額が「20,000」円であったことを示す。また、拠点コード「01」の部門「B004」は、2012年9月1日に品種「S003」の商品の売上取引があり、売上金額が「30,000」円であったことを示す。
図12は、実施例1に係るサマライズデータの他の構成例を示す図である。なお、図12は、図11の業務データの各品種の売上金額を売上年月毎にサマライズしたサマライズデータの構成例を示す図である。図12に示すように、サマライズデータ32は、「拠点コード」、「部門コード」、「品種」、「売上年月」、「売上金額」の各項目を有する。
図12の例では、拠点「01」の部門「B001」の品種「S001」の商品は、2012年4月に「20,000」円の売上があったことを示す。また、拠点「01」の部門「B003」の品種「S002」の商品は、2012年6月に「20,000」円の売上があったことを示す。また、拠点「01」の部門「B004」の品種「S003」の商品は、2012年9月に「30,000」円の売上があったことを示す。業務データ30の「売上日」は、サマライズデータ32の「売上年月」の項目にサマライズされている。このとき、「売上年月」にサマライズされたため、「拠点コード」、「部門コード」、「品種」の項目に含まれる情報は、特定されている。したがって、集計コード「*」は付加されない。
図2に戻り、制御部22は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部22は、図2に示すように、格納部40と、変換部41と、集計部42と、マスタ管理部43と、送信制御部44とを有する。
このうち、格納部40は、各業務システム11から送信された業務データを記憶部21へ格納する処理部である。一態様としては、格納部40は、各業務システム11から業務データを受信した場合に、当該業務データを記憶部21へ格納する。
変換部41は、統一コードテーブル31aに基づき、記憶部21に記憶された各業務データ30のコードを統一コードに変換する処理部である。一態様としては、変換部41は、業務データ30が記憶部21へ格納された場合、格納された業務データ30に、統一コードテーブル31aに登録されているコードを変換すべき項目があるか判定する。変換部41は、格納された業務データ30にコードを変換すべき項目がある場合、業務データ30の各レコードを順次読み出す。そして、変換部41は、読み出したレコードのコードを変換すべき項目に設定されたコードに対応する統一コードを読み出し、コードを変換すべき項目のコードを統一コードに変換する。例えば、変換部41は、業務データに拠点品番が含まれる場合、業務データの各レコードを順次読み出す。そして、変換部41は、統一コードテーブル31aから読み出したレコードの拠点品番に設定されたコードに対応する統一コードを読み出し、拠点品番のコードを統一コードに変換する。
集計部42は、集計キー情報31bに基づき、コード変換後の業務データ30を集計してサマライズデータ32を生成する処理部である。集計キー情報31bには、伝票の種類毎など業務データ30の種類毎に、どの項目の単位で業務データ30を集計するかの集計キーを示すデータが含まれている。例えば、集計キー情報31bは、売上取引の伝票情報を集計する集計キーとして商品、売上年月が指定されている。集計部42は、集計キー毎に業務データをグループ化し、グループ毎に業務データを集計し、集計結果を示すサマライズデータ32を生成する。また、集計部42は、サマライズデータ32の集計キーとされた項目のデータの最後に、集計キーであることを示す情報を設定する。例えば、集計部42は、業務データ30として含まれる売上取引の伝票情報を、商品毎に、売上年月を集計キーとして集計して、図8に示すようなサマライズデータ32を生成する。この図8に示すサマライズデータ32では、拠点、品種および売上年月の項目のデータの最後に、集計キーであることを示す情報として「+」が付されている。この集計キーであることを示す情報は、サマライズデータ32の全レコードに付してよく、先頭レコードや最終レコードなど所定のレコードのみに付すものとしてもよい。このように、集計キーとされた項目に、集計キーであることを示す情報を設定することにより、サマライズデータ32のみで集計キーとされた項目を判別できる。
集計部42は、業務データ30の集計が完了すると、集計が完了した業務データ30を記憶部21から削除する。これにより、同一の業務データ30が複数回集計されることを防止できる。
マスタ管理部43は、マスタデータ31の登録および修正を行う処理部である。一態様としては、マスタ管理部43は、図示しない端末装置に、マスタデータ31の登録および修正を行うための各種の画面を表示させ、当該画面からマスタデータ31の登録および修正を受け付ける。例えば、マスタ管理部43は、属性情報として用いる設定情報を登録する登録画面を表示させ、当該登録画面から新たな設定情報の登録を受け付ける。また、マスタ管理部43は、品番など所定の項目に対して属性情報を関連付ける関連付け画面を表示させ、当該関連付け画面から属性情報の関連付けを受け付ける。
図13は、実施例1に係る登録画面の一例を示す図である。図13に示すように、登録画面100には、追加する分析軸を入力する入力領域101と、入力された分析軸を表示する表示領域102と、分析軸として登録されている情報を表示する表示領域103とが設けられている。表示領域103は、値コードの項目104と、設定情報の項目105が設けられており、登録されている値コードと、値コードに対応する設定情報が表示される。
入力領域101には、追加する分析軸を示すコードが入力される。入力領域102にコードが入力された場合、表示領域102には、付加項目テーブル31cから入力されたコードに対応する分析軸が読み出されて表示される。また、表示領域103には、入力されたコードに対応する値コード、設定情報が属性管理テーブル31dに記憶されている場合、対応する値コード、設定情報が読み出されて表示される。
図13の例では、入力領域101に分析軸コード「J01」が入力され、表示領域102にJ01のコードが示す分析軸の「容量」が表示されている。また、表示領域103には、値コード「V01」の設定情報として「100L超」が登録され、値コード「V02」の設定情報として「50〜100L」が登録されていることが表示されている。
また、登録画面100には、追加ボタン106と、OKボタン107とがさらに設けられている。マスタ管理部43は、追加ボタン106が選択された場合、値コードと設定情報を追加する追加画面を表示させる。また、マスタ管理部43は、OKボタン107が選択された場合、登録画面100の表示を終了する。
図14は、実施例1に係る追加画面の一例を示す図である。図14に示すように、追加画面110は、分析軸のコードを表示する表示領域111と、分析軸を表示する表示領域112と、分析軸に追加する値コードを入力する入力領域113と、値コードに対応させる設定情報を入力する入力領域114とが設けられている。
表示領域111には、追加ボタン106が選択された際に登録画面100の入力領域101に入力されていたコードが表示される。表示領域112には、追加ボタン106が選択された際に登録画面100の表示領域102に表示されていた分析軸が表示される。入力領域113には、分析軸として追加するコードが入力される。入力領域114には、追加するコードに対応付ける設定情報が入力される。
図14の例では、分析軸コード「J01」の「容量」の分析軸に追加する値コードとして「V01」が入力され、設定情報として「100L超」が入力されている。
また、追加画面110には、OKボタン115がさらに設けられている。マスタ管理部43は、OKボタン115が選択された場合、入力領域101に入力されていたコードの分析軸に対応付けて、入力領域113に入力された値コードおよび入力領域114に入力された設定情報を属性管理テーブル31dに登録する。
図15は、実施例1に係る関連付け画面の一例を示す図である。図15に示すように、関連付け画面120には、属性情報を関連付ける商品の品種を入力する入力領域121と、関連付ける属性情報を選択する選択領域122とが設けられている。入力領域121には、属性情報を関連付ける商品の品種のコードが入力される。選択領域122には、属性管理テーブル31dから、分析軸コード毎に値コードが読み出されて選択可能に表示され、値コードにより関連付け属性情報を選択することが可能とされている。図15の例では、属性情報を選択する選択領域122として、容量の属性情報を選択する選択領域122aと、形状の属性情報を選択する選択領域122bと、色の属性情報を選択する選択領域122cとが設けられている。選択領域122aには、容量の各値コードが格納されており、何れかの値コードを選択可能とされている。選択領域122bには、形状の各値コードが格納されており、何れかの値コードを選択可能とされている。選択領域122cには、色の各値コードが格納されており、何れかの値コードを選択可能とされている。
また、関連付け画面120には、OKボタン123がさらに設けられている。マスタ管理部43は、OKボタン123が選択された場合、入力領域121に入力された品種の商品に対応付けて、選択領域122a〜122cで選択された値コードに対応する設定情報および分析軸を属性情報テーブル31eに登録する。
送信制御部44は、各種のデータをモニタリングサーバ13へ送信する処理部である。一態様としては、送信制御部44は、集計部42により集計されたサマライズデータ32を分析対象データとしてモニタリングサーバ13へ送信する。他の一態様としては、送信制御部44は、属性情報テーブル31eをモニタリングサーバ13へ送信する。なお、送信制御部44は、サマライズデータ32および属性情報テーブル31eをモニタリングサーバ13へ日毎など一定期間毎にバッチ処理でまとめて送信してもよく、ユーザから送信を指示する操作が行われたタイミングで送信してもよい。
送信制御部44は、モニタリングサーバ13へのサマライズデータ32の送信が完了すると、サマライズデータ32を記憶部21から削除する。これにより、同一のサマライズデータ32がモニタリングサーバ13へ複数回送信されることを防止できる。
[モニタリングサーバ13の構成]
続いて、本実施例に係るシステムに含まれるモニタリングサーバ13の機能的構成について説明する。図16は、実施例1に係るモニタリングサーバの機能的構成を示すブロック図である。図16に示すように、モニタリングサーバ13は、通信I/F部50と、記憶部51と、制御部52とを有する。
通信I/F部50は、他の装置、例えばマスタサーバ12との間で通信制御を行うインタフェースである。例えば、通信I/F部50は、マスタサーバ12から分析対象データとしてサマライズデータ32を受信する。また、通信I/F部50は、マスタサーバ12から属性情報テーブル31eを受信する。かかる通信I/F部50の一態様としては、LANカードなどのネットワークインタフェースカードを採用できる。
記憶部51は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部51は、上記の種類の記憶装置に限定されるものではなく、RAM、ROMであってもよい。
記憶部51は、制御部52で実行されるOSや後述する属性情報を付加するプログラムなど各種プログラムを記憶する。さらに、記憶部51は、制御部52で実行されるプログラムの実行に必要な各種データを記憶する。かかるデータの一例として、記憶部51は、属性情報テーブル60と、蓄積データ61とを記憶する。
属性情報テーブル60は、マスタサーバ12から送信された属性情報テーブル31eである。一例として、属性情報テーブル60は、通信I/F部50がマスタサーバ12から受信した属性情報テーブル31eが後述の属性情報格納部70によって格納される。他の一例として、属性情報テーブル60は、後述の付加部71によって参照される。蓄積データ61は、各種の分析に用いる各種情報を蓄積したデータである。一例として、蓄積データ61は、通信I/F部50がマスタサーバ12から受信したサマライズデータ32に対して、後述の付加部71によって属性情報を付加されて格納される。他の一例として、蓄積データ61は、各種の分析結果を出力するため、後述の分析制御部73によって参照される。
図17は、実施例1に係る蓄積データの構成例を示す図である。なお、図17は、売上伝票情報のサマライズデータ32に属性情報が付加された蓄積データの構成例を示す図である。図17に示すように、蓄積データ61は、図8に示した売上伝票情報を集計して生成されたサマライズデータと同様に、「拠点コード」、「品種」、「売上年月」、「売上金額」の各項目を有する。また、蓄積データ61は、「容量」、「形状」、「色」の各項目をさらに有する。容量の項目は、商品が収納可能な容量を格納する領域である。形状の項目は、商品の外観形状を格納する領域である。色の項目は、商品の外観の色を格納する領域である。
図17の例では、拠点「01」の品種「S001」は、2012年4月に「10,000」円の売上があり、容量が「100L超」、形状が「箱形」、色が「赤」であることを示す。また、拠点「01」の品種「S002」は、2012年4月に「10,000」円の売上があり、容量が「50〜100L」、形状が「円筒」、色が「赤」であることを示す。また、拠点「01」の品種「S002」は、2012年6月に「20,000」円の売上があり、容量が「50〜100L」、形状が「円筒」、色が「赤」であることを示す。また、拠点「01」の品種「S003」は、2012年9月に「30,000」円の売上があり、容量が「50L未満」、形状が「球形」、色が「青」であることを示す。
図16に戻り、制御部52は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部52は、図16に示すように、属性情報格納部70と、付加部71と、サマライズデータ格納部72と、分析制御部73とを有する。
属性情報格納部70は、マスタサーバ12から送信された属性情報テーブル31eを記憶部51へ格納する処理部である。一態様としては、属性情報格納部70は、マスタサーバ12から属性情報テーブル31eを受信した場合に、当該属性情報テーブル31eを属性情報テーブル60として記憶部51へ格納する。
付加部71は、属性情報テーブル60に基づき、マスタサーバ12から分析対象データとして受信されたサマライズデータ32に属性情報を付加する処理部である。一態様としては、付加部71は、マスタサーバ12から分析対象データとして受信された特定の種類のサマライズデータ32に対して、属性情報テーブル60に基づき、属性情報を付加する。例えば、付加部71は、売上取引の伝票情報を商品、売上年月で集計したサマライズデータ32の各レコードに対して、属性情報テーブル60に基づき、商品に応じた容量、形状、色の属性情報を付加する。なお、付加部71は、属性情報テーブル60に商品に対応する容量、形状、色が登録されていない場合、付加する容量、形状、色の属性情報を空白など未登録を意味するものとしてもよく、それぞれ所定の情報を設定してもよい。
サマライズデータ格納部72は、サマライズデータ32を蓄積データ61に格納する処理部である。一態様としては、サマライズデータ格納部72は、サマライズデータ32の種類毎にサマライズデータ32を蓄積データ61として格納しており、サマライズデータ32に属性情報が付加された場合、属性情報が付加されたサマライズデータ32を格納する。なお、サマライズデータ格納部72は、格納するサマライズデータ32と集計キーの項目の情報が同じレコードが既に蓄積データ61に格納されている場合、既に格納されているレコードの集計項目の値に、サマライズデータ32の対応する集計項目の値を合計する。一方、サマライズデータ格納部72は、格納するサマライズデータ32と集計キーの項目の情報が同じレコードが蓄積データ61に無い場合、サマライズデータ32を蓄積データ61に格納する。
分析制御部73は、蓄積データ61に基づき、各種情報を提供する処理部である。一態様としては、分析制御部73は、各種の分析を行う端末装置からの分析対象データに対する分析の要求に応じて、蓄積データ61に蓄積された分析対象データを端末装置へ送信する。この際、分析制御部73は、分析対象データを何れの項目でも集計せずに、そのまま送信してもよい。これにより、端末装置は、分析対象データをそのまま表示したり、いずれかの項目で集計するなど様々な分析を行うことができる。また、分析制御部73は、分析対象データを属性情報を含む何れかの項目で集計して送信してもよい。これにより、端末装置は、分析対象データに対して集計を行うことなく分析を行うことができる。他の一態様としては、分析制御部73は、蓄積データ61に基づいて、端末装置に各拠点の各種の状況の分析に用いる分析画面を表示させる。分析制御部73は、分析対象データが販売実績などの実績のデータや、販売計画などの予定のデータである場合、予定や実績をそれぞれ個別に表示してもよい。また、分析制御部73は、予定と実績を比較できるように並べて表示したり、予定に対する実績の割合から達成率を表示してもよい。
図18は、実施例1に係る分析画面の一例を示す図である。なお、図18は、図17に示した蓄積データ61に基づいて月別の売上の分析を行う分析画面の一例を示す図である。図18に示すように、分析画面150には、月別の売上を表示する表示領域151が設けられている。ここで、図17に示した蓄積データ61には、サマライズデータ32にさらに「容量」、「形状」、「色」の各項目が追加されている。図18の例では、分析画面150の表示領域151に属性情報として付加した商品の色毎に各月の月別の売上を集計した結果が表示されている。このように、属性情報を付加することにより、追加した属性情報を新たな分析軸として分析を行うことができる。分析画面150では、色の項目152に対してクリックなどの所定の指定操作を行うことにより、色別に各商品の売上年月毎の売上を表示することもできる。
図19は、色別に各商品の月別の売上を表示した分析画面の一例を示す図である。図19の例では、分析画面150の表示領域151に、色別に各商品が表示され、各商品の売上年月毎の売上を集計した結果が表示されている。
[処理の流れ]
次に、本実施例に係るモニタリングサーバ13の処理の流れについて説明する。図20は、実施例1に係る格納処理の手順を示すフローチャートである。この格納処理は、新規のサマライズデータ32を受信した場合に実行される。
図20に示すように、付加部71は、受信されたサマライズデータが属性情報を付加する特定の種類のサマライズデータ32であるか否か判定する(ステップS10)。特定の種類のサマライズデータ32である場合(ステップS10肯定)、付加部71は、フラグFGに1をセットする(ステップS11)。一方、特定の種類のサマライズデータ32ではない場合(ステップS10否定)、付加部71は、フラグFGに0をセットする(ステップS12)。
付加部71は、受信したサマライズデータの全レコードに対する処理が完了したか否かを判定する(ステップS13)。全レコードに対する処理が完了した場合(ステップS13肯定)、処理を終了する。一方、全レコードに対する処理が完了していない場合(ステップS13否定)、付加部71は、サマライズデータ32から1レコードを読み出す(ステップS14)。そして、付加部71は、フラグFGにセットされた値が1であるか否か判定する(ステップS15)。フラグFGにセットされた値が1ではない場合(ステップS15否定)、後述するステップS19へ移行する。一方、フラグFGにセットされた値が1である場合(ステップS15肯定)、付加部71は、読み出したレコードの所定の項目に応じた属性情報が属性情報テーブル60に記憶されているか否かを判定する(ステップS16)。この所定の項目は、売上金額のサマライズデータの場合、品種である。
属性情報が属性情報テーブル60に記憶されている場合(ステップS16肯定)、付加部71は、当該属性情報をレコードに付加する(ステップS17)。一方、属性情報が属性情報テーブル60に記憶されていない場合(ステップS16否定)、付加部71は、属性情報のデフォルト値として所定の情報をレコードに付加する(ステップS18)。
サマライズデータ格納部72は、読み出したレコードと集計キーの項目の情報が同じレコードが既に蓄積データ61に格納されているか否か判定する(ステップS19)。同じレコードが既に格納されている場合(ステップS19肯定)、サマライズデータ格納部72は、既に格納されているレコードの集計項目の値に、読み出したレコードの対応する集計項目の値を合計し(ステップS20)、ステップS13へ移行する。一方、同じレコードが蓄積データ61に格納されていない場合(ステップS19否定)、サマライズデータ格納部72は、読み出したレコードを蓄積データ61に格納し(ステップS21)、ステップS13へ移行する。
[実施例1の効果]
本実施例に係るモニタリングサーバ13は、分析対象データに含まれる複数のレコードに含まれる少なくとも1つの項目および該項目に格納された情報に対応付けて、少なくとも1つの項目とは異なる付加項目および該付加項目に格納される属性情報を記憶する。例えば、モニタリングサーバ13は、分析対象データの品種毎に属性情報を属性情報テーブル60として記憶部51に記憶する。また、本実施例に係るモニタリングサーバ13は、分析対象データとしてサマライズデータ32を受信する。本実施例に係るモニタリングサーバ13は、受信された分析対象データの各レコードの前記少なくとも1つの項目および該項目に格納された情報に対応して、記憶された前記付加項目および該付加項目に対応する属性情報を、該各レコードに付加する。例えば、モニタリングサーバ13は、受信されたサマライズデータ32の各レコードに対して、記憶部51に記憶された属性情報テーブル60の所定の項目に応じた属性情報を付加する。そして、本実施例に係るモニタリングサーバ13は、属性情報が付加された分析対象データの各レコードを蓄積データ61として記憶部51に格納する。このように、本実施例に係るモニタリングサーバ13によれば、サマライズデータ32の各レコードに対して属性情報を付加することにより、属性情報を新たな分析軸として分析を行える。
また、本実施例に係るマスタサーバ12は、何れかの項目を集計キーとして、他の何れか項目を集計したサマライズデータ32を分析対象データとしてモニタリングサーバ13へ送信する。これにより、各業務システム11の大量の業務データがそのままモニタリングサーバ13へ送信する場合と比較して、データを記憶させるために必要な記憶領域の容量を少なく抑えることができる。また、データを移動させる場合の通信負荷も小さく抑えることができる。そして、本実施例に係るモニタリングサーバ13は、サマライズデータ32の集計キーとされた何れかの項目毎に属性情報を属性情報テーブル60として記憶する。これにより、集計されたサマライズデータ32であっても属性情報テーブル60に記憶された属性情報を付加することにより、属性情報を新たな分析軸として分析を行える。
また、本実施例に係るモニタリングサーバ13は、各種の分析を行う端末装置からの分析対象データに対する分析の要求に応じて、蓄積データ61に蓄積された分析対象データを端末装置へ提供する。これにより、端末装置は、分析対象データを用いて様々な分析を行うことができる。
また、本実施例に係るモニタリングサーバ13は、分析対象データを属性情報を含む何れかの項目で集計して端末装置へ提供する。これにより、端末装置は、分析対象データに対して集計を行うことなく分析を行うことができる。