(57)【要約】【課題】マスタデータが分割、統合しても、集計時点でのマスタデータに基づいて時系列データから統計データを作成可能なデータ集計装置等を提供する。【解決手段】データ集計装置１は、マスタテーブルに格納されるマスタデータの統合内容を取得する（Ｓ１１）。データ集計装置１は、マスタテーブルの統合元のレコードの「終了」に、有効期間の終了日を格納し（Ｓ１２）、マスタテーブルに新規レコードを追加する（Ｓ１３）。マスタテーブルに追加された統合先のマスタデータが、既存のマスタデータと同じ意味である場合に（Ｓ１４のＹＥＳ）、データ集計装置１は、統合先のマスタデータの「識別コード」に当該マスタデータと同一の値を格納する（Ｓ１５）。データ集計装置１は、統合テーブルに統合元のレコード数に対応する新規レコードを追加し（Ｓ１６）、処理を終了する。【選択図】図６
2014071879.tif 000002
【特許請求の範囲】
【請求項１】
テーブル内でユニークな値のサロゲートキー、識別コード、開始データ、及び、終了データを含むレコードであるマスタデータを格納するマスタテーブル、並びに、統合元の前記マスタデータの前記サロゲートキーであるマスタキー、及び、統合先の前記マスタデータの前記サロゲートキーである統合キーを含むレコードである統合データを格納する統合テーブル、を記憶するマスタデータ記憶手段と、
前記マスタテーブルに前記マスタデータを追加する追加手段と、
複数の前記マスタデータを１つの前記マスタデータに統合する際に、統合した１つの前記マスタデータを前記マスタテーブルに追加するとともに、統合したことを示す前記統合データを前記統合テーブルに追加する統合手段と、
１つの前記マスタデータを複数の前記マスタデータに分割する際に、分割した複数の前記マスタデータを前記マスタテーブルに追加するとともに、分割したことを示す前記統合データを前記統合テーブルに追加する分割手段と、
を備えることを特徴とするデータ集計装置。
【請求項２】
前記統合手段は、
前記マスタテーブルにおいて、
統合元の前記マスタデータの前記終了データに終了時点を格納するとともに、
統合先の１つの前記マスタデータとして、前記サロゲートキーにユニークな値を格納し、前記識別コードにそれ以前の前記マスタデータで同じ意味のものがある場合には当該マスタデータの前記識別コードを格納し、前記開始データに前記終了時点に対応する開始時点を格納したものを追加し、
前記統合テーブルにおいて、
前記統合データとして、前記マスタキーに統合元の前記マスタデータの前記サロゲートキーを格納し、前記統合キーに統合先の前記マスタデータの前記サロゲートキーを格納したものを追加する
ことを特徴とする請求項１に記載のデータ集計装置。
【請求項３】
前記分割手段は、
前記マスタテーブルにおいて、
分割前の前記マスタデータの前記終了データに終了時点を格納するとともに、
分割先の複数の前記マスタデータとして、前記サロゲートキーにユニークな値を格納し、前記識別コードにそれ以前の前記マスタデータで同じ意味のものがある場合には当該マスタデータの前記識別コードを格納し、前記開始データに前記終了時点に対応する開始時点を格納したものを追加し、
前記統合テーブルにおいて、
前記統合データとして、前記マスタキーに分割先の前記マスタデータの前記サロゲートキーを格納し、前記統合キーに分割元の前記マスタデータの前記サロゲートキーを格納したものを追加する
ことを特徴とする請求項１又は請求項２に記載のデータ集計装置。
【請求項４】
前記統合手段、及び、前記分割手段は、
前記マスタテーブルにおいて、新たに追加した前記マスタデータが、直前に分割又は統合した前記マスタデータより以前の複数の前記マスタデータを統合したものと同じ意味である場合には、
前記統合テーブルにおいて、
前記統合データとして、前記マスタキーに統合元の前記マスタデータの前記サロゲートキーを格納し、前記統合キーに統合先の前記マスタデータの前記サロゲートキーを格納したものを追加する
ことを特徴とする請求項２又は請求項３に記載のデータ集計装置。
【請求項５】
前記統合手段、及び、前記分割手段は、
前記マスタテーブルにおいて、新たに追加した複数の前記マスタデータが、直前に分割又は統合した前記マスタデータより以前の前記マスタデータを分割したものと同じ意味である場合には、
前記統合テーブルにおいて、
前記統合データとして、前記マスタキーに分割先の前記マスタデータの前記サロゲートキーを格納し、前記統合キーに分割元の前記マスタデータの前記サロゲートキーを格納したものを追加する
ことを特徴とする請求項２乃至請求項４のいずれかに記載のデータ集計装置。
【請求項６】
前記マスタデータは、さらに、ラベル名を含み、
前記データ集計装置は、さらに、
期間データ、キー、及び、集計値を含むレコードであるファクトデータを格納するファクトテーブルを記憶するファクトデータ記憶手段と、
前記マスタテーブルと前記統合テーブルと前記ファクトテーブルとから、前記ラベル名と前記期間データごとに、前記集計値を集計するデータ集計手段と、
を備えることを特徴とする請求項１乃至請求項５のいずれかに記載のデータ集計装置。
【請求項７】
前記データ集計手段は、
前記マスタテーブルから、集計時点が、前記開始データと前記終了データとの間に含まれる前記マスタデータを抽出して、前記サロゲートキー、前記識別コード、及び、前記ラベル名を含むレコードを格納する履歴テーブルを作成する抽出手段と、
前記マスタテーブルから、前記抽出手段が抽出したマスタデータと同一の前記識別コードをもつ前記マスタデータを抽出して、当該マスタデータの前記ラベル名を前記抽出手段が抽出した同一の前記識別コードをもつ前記マスタデータの前記ラベル名に置き換えて、前記履歴テーブルに追加する第１の追加手段と、
前記統合テーブルから、前記履歴テーブルの前記サロゲートキーが前記統合キーである前記統合データを抽出し、前記マスタテーブルから、当該統合データの前記マスタキーを前記サロゲートキーにもつ前記マスタデータを抽出して、当該マスタデータの前記ラベル名及び前記識別コードを、前記抽出手段が抽出した前記マスタデータの前記ラベル名及び前記識別コードに置き換えて、前記履歴テーブルに追加する第２の追加手段と、
前記ファクトテーブルの前記キーと、前記履歴テーブルの前記サロゲートキーとを対応させて、前記ファクトテーブルに、前記履歴テーブルの前記マスタデータの内容を付加する付加手段と、
付加した前記ファクトデータにおいて、前記ラベル名と前記期間データごとに、前記集計値を集計する集計手段と、
を備える
ことを特徴とする至請求項６に記載のデータ集計装置。
【請求項８】
テーブル内でユニークな値のサロゲートキー、識別コード、開始データ、及び、終了データを含むレコードであるマスタデータを格納するマスタテーブル、並びに、統合元の前記マスタデータの前記サロゲートキーであるマスタキー、及び、統合先の前記マスタデータの前記サロゲートキーである統合キーを含むレコードである統合データを格納する統合テーブル、を記憶するマスタデータ記憶ステップと、
前記マスタテーブルに前記マスタデータを追加する追加ステップと、
複数の前記マスタデータを１つの前記マスタデータに統合する際に、統合した１つの前記マスタデータを前記マスタテーブルに追加するとともに、統合したことを示す前記統合データを前記統合テーブルに追加する統合ステップと、
１つの前記マスタデータを複数の前記マスタデータに分割する際に、分割した複数の前記マスタデータを前記マスタテーブルに追加するとともに、分割したことを示す前記統合データを前記統合テーブルに追加する分割ステップと、
を含むことを特徴とするデータ集計方法。
【請求項９】
コンピュータに、
テーブル内でユニークな値のサロゲートキー、識別コード、開始データ、及び、終了データを含むレコードであるマスタデータを格納するマスタテーブル、並びに、統合元の前記マスタデータの前記サロゲートキーであるマスタキー、及び、統合先の前記マスタデータの前記サロゲートキーである統合キーを含むレコードである統合データを格納する統合テーブル、を記憶するマスタデータ記憶ステップと、
前記マスタテーブルに前記マスタデータを追加する追加ステップと、
複数の前記マスタデータを１つの前記マスタデータに統合する際に、統合した１つの前記マスタデータを前記マスタテーブルに追加するとともに、統合したことを示す前記統合データを前記統合テーブルに追加する統合ステップと、
１つの前記マスタデータを複数の前記マスタデータに分割する際に、分割した複数の前記マスタデータを前記マスタテーブルに追加するとともに、分割したことを示す前記統合データを前記統合テーブルに追加する分割ステップと、
を実行させることを特徴とするデータ集計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタテーブルを用いて時系列データから統計データを作成するデータ集計装置等に関するものである。
【背景技術】
【０００２】
企業内に散在するデータの有効活用を目的に、企業戦略の立案などの意思決定支援に用いられるデータベースをデータウェアハウスといい、データウェアハウスには、ある期間毎に集計された集計データ等が格納される。ユーザは、データウェアハウスに蓄積された大量のデータをもとに、例えば、「時間」、「地域」、「製品」等の複数の属性項目を軸にして種々の分析を行う。データウェアハウスでは、種々の分析が容易に行える多次元データベースが用いられる。多次元データベースは、集計対象となるデータと、集計軸となる属性項目、リレーションシップから構成されるキューブ型をしたデータベースである。多次元データベースにはスタースキーマ構造で管理するデータベースがある。
スタースキーマとは、データウェアハウス特有のデータ構造である多次元構造に適合したリレーショナルスキーマである。中央に集計対象となるデータを格納するファクトテーブルを置き、データを集計する切り口となるマスタテーブル（ディメンジョンテーブルともいう）配置した、星形のスキーマである。
【０００３】
マスタテーブルに時系列順にマスタデータが蓄積される中でデータが変更されることがあるが、過去の特定時点での属性項目で、統計データを作成したいというユーザの要望がある。マスタデータの更新対応方法として「緩やかに変化する次元（Slowly Changing Dimension）」が知られ、タイプ１〜タイプ４と、タイプ６（タイプ１+２+３）がある（非特許文献１）。
【０００４】
マスタデータが変更されるパターンとして、（１）マスタデータの新規追加、（２）マスタデータの廃止、（３）マスタデータを特定するラベル名の変更、（４）属性値の変更、（５）マスタデータの統合、（６）マスタデータの分割がある。（３）ラベル名の変更とは、例えば、会社名の変更であり、（４）属性値の変更とは、例えば、顧客の引越等による住所変更であり、（５）マスタデータの統合とは、例えば、顧客が所属する地域の市町村合併などであり、（６）マスタデータの分割とは、例えば、モバイル端末の種別の細分化などである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＤＡＭＡ  Ｉｎｔｅｒｎａｔｉｏｎａｌ著、株式会社データ総研監訳、「データマネジメント知識体系ガイド  第一版」、２０１１年１２月１２日発行、第２１４頁から第２１６頁
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１におけるタイプ１では、データの値が変更した時にレコードの値をそのまま上書きする。タイプ２では、更新が行われると現在の情報を含む新規レコードがマスタテーブルに追加され、前に最新であったレコードの「有効期限」フィールドが更新されて期限切れになる。タイプ３では、変更前の値を同一レコード内の「更新前」フィールドに移動し、「最新」フィールドを変更後の値で更新する。タイプ４では、期限切れのレコードを「更新前」テーブルに移動し、「最新」テーブルのレコードを変更後の値で更新する。タイプ６では、各レコードに「有効日」、「有効期限日」、「最新行識別子」の３つのフィールドを追加し、過去のマスタデータを保持する。
【０００７】
非特許文献１に記載の技術を用いることで、マスタテーブルは、（１）マスタデータの新規追加、（２）マスタデータの廃止、（３）マスタデータを特定するラベル名の変更、（４）属性値の変更、が発生した場合にも、特定の時点におけるマスタデータを抽出し、特定の時点における切り口でデータを集計することができる。
【０００８】
しかしながら、マスタテーブルは、（５）マスタデータの統合、（６）マスタデータの分割を伴う変更が発生した場合には、派生元である過去のマスタデータを特定することができない。
【０００９】
本発明は、前述した問題点に鑑みてなされたものであり、その目的とすることは、マスタデータが分割、統合しても、集計時点でのマスタデータに基づいて時系列データから統計データを作成可能なデータ集計装置等を提供することである。
【課題を解決するための手段】
【００１０】
前述の課題を解決するために第１の発明は、テーブル内でユニークな値のサロゲートキー、識別コード、開始データ、及び、終了データを含むレコードであるマスタデータを格納するマスタテーブル、並びに、統合元の前記マスタデータの前記サロゲートキーであるマスタキー、及び、統合先の前記マスタデータの前記サロゲートキーである統合キーを含むレコードである統合データを格納する統合テーブル、を記憶するマスタデータ記憶手段と、前記マスタテーブルに前記マスタデータを追加する追加手段と、複数の前記マスタデータを１つの前記マスタデータに統合する際に、統合した１つの前記マスタデータを前記マスタテーブルに追加するとともに、統合したことを示す前記統合データを前記統合テーブルに追加する統合手段と、１つの前記マスタデータを複数の前記マスタデータに分割する際に、分割した複数の前記マスタデータを前記マスタテーブルに追加するとともに、分割したことを示す前記統合データを前記統合テーブルに追加する分割手段と、を備えることを特徴とするデータ集計装置である。
第１の発明のデータ集計装置によれば、統合元（分割先）のマスタデータのサロゲートキーと、統合先（分割元）のマスタデータのサロゲートキーとを関連付けて記憶することができる。従って、マスタデータの統合、及びマスタデータの分割が発生しても、集計時点でのマスタデータに基づいてデータ集計が可能となる。
【００１１】
「識別コード」とは、マスタデータを識別する値である。
「開始データ」とは、マスタデータの有効期間の開始時を示すデータであり、「終了データ」とは、マスタデータの有効期間の終了時を示すデータである。
【００１２】
また、前記統合手段は、前記マスタテーブルにおいて、統合元の前記マスタデータの前記終了データに終了時点を格納するとともに、統合先の１つの前記マスタデータとして、前記サロゲートキーにユニークな値を格納し、前記識別コードにそれ以前の前記マスタデータで同じ意味のものがある場合には当該マスタデータの前記識別コードを格納し、前記開始データに前記終了時点に対応する開始時点を格納したものを追加し、前記統合テーブルにおいて、前記統合データとして、前記マスタキーに統合元の前記マスタデータの前記サロゲートキーを格納し、前記統合キーに統合先の前記マスタデータの前記サロゲートキーを格納したものを追加することが望ましい。
これにより、マスタデータの統合によって新たに追加されたマスタデータが、過去のマスタデータと同じ意味になる場合に、これらを同じマスタデータとして、データを集計することが可能となる。
【００１３】
また、前記分割手段は、前記マスタテーブルにおいて、分割前の前記マスタデータの前記終了データに終了時点を格納するとともに、分割先の複数の前記マスタデータとして、前記サロゲートキーにユニークな値を格納し、前記識別コードにそれ以前の前記マスタデータで同じ意味のものがある場合には当該マスタデータの前記識別コードを格納し、前記開始データに前記終了時点に対応する開始時点を格納したものを追加し、前記統合テーブルにおいて、前記統合データとして、前記マスタキーに分割先の前記マスタデータの前記サロゲートキーを格納し、前記統合キーに分割元の前記マスタデータの前記サロゲートキーを格納したものを追加することが望ましい。
これにより、マスタデータの分割によって新たに追加されたマスタデータが、過去のマスタデータと同じ意味になる場合に、これらを同じマスタデータとしてデータを集計することが可能となる。
【００１４】
また、前記統合手段、及び、前記分割手段は、前記マスタテーブルにおいて、新たに追加した前記マスタデータが、直前に分割又は統合した前記マスタデータより以前の複数の前記マスタデータを統合したものと同じ意味である場合には、前記統合テーブルにおいて、前記統合データとして、前記マスタキーに統合元の前記マスタデータの前記サロゲートキーを格納し、前記統合キーに統合先の前記マスタデータの前記サロゲートキーを格納したものを追加することが望ましい。
これにより、マスタデータの統合、又はマスタデータの分割によって新たに追加されたマスタデータが、過去の複数のマスタデータを統合したもとの同じ意味である場合に、これらを同じマスタデータとして、データを集計することが可能となる。
【００１５】
また、前記統合手段、及び、前記分割手段は、前記マスタテーブルにおいて、新たに追加した複数の前記マスタデータが、直前に分割又は統合した前記マスタデータより以前の前記マスタデータを分割したものと同じ意味である場合には、前記統合テーブルにおいて、前記統合データとして、前記マスタキーに分割先の前記マスタデータの前記サロゲートキーを格納し、前記統合キーに分割元の前記マスタデータの前記サロゲートキーを格納したものを追加することが望ましい。
これにより、マスタデータの統合、又はマスタデータの分割によって新たに追加されたマスタデータが、過去のマスタデータを分割したもとの同じ意味である場合に、これらを同じマスタデータとして、データを集計することが可能となる。
【００１６】
また、前記マスタデータは、さらに、ラベル名を含み、前記データ集計装置は、さらに、期間データ、キー、及び、集計値を含むレコードであるファクトデータを格納するファクトテーブルを記憶するファクトデータ記憶手段と、前記マスタテーブルと前記統合テーブルと前記ファクトテーブルとから、前記ラベル名と前記期間データごとに、前記集計値を集計するデータ集計手段と、を備えることが望ましい。
これにより、マスタテーブルと統合テーブルとファクトテーブルとから、ラベル名と期間データごとにデータを集計することで、集計時点でのラベル名で統計データを作成することが可能となる。
【００１７】
また、前記データ集計手段は、前記マスタテーブルから、集計時点が、前記開始データと前記終了データとの間に含まれる前記マスタデータを抽出して、前記サロゲートキー、前記識別コード、及び、前記ラベル名を含むレコードを格納する履歴テーブルを作成する抽出手段と、前記マスタテーブルから、前記抽出手段が抽出したマスタデータと同一の前記識別コードをもつ前記マスタデータを抽出して、当該マスタデータの前記ラベル名を前記抽出手段が抽出した同一の前記識別コードをもつ前記マスタデータの前記ラベル名に置き換えて、前記履歴テーブルに追加する第１の追加手段と、前記統合テーブルから、前記履歴テーブルの前記サロゲートキーが前記統合キーである前記統合データを抽出し、前記マスタテーブルから、当該統合データの前記マスタキーを前記サロゲートキーにもつ前記マスタデータを抽出して、当該マスタデータの前記ラベル名及び前記識別コードを、前記抽出手段が抽出した前記マスタデータの前記ラベル名及び前記識別コードに置き換えて、前記履歴テーブルに追加する第２の追加手段と、前記ファクトテーブルの前記キーと、前記履歴テーブルの前記サロゲートキーとを対応させて、前記ファクトテーブルに、前記履歴テーブルの前記マスタデータの内容を付加する付加手段と、付加した前記ファクトデータにおいて、前記ラベル名と前記期間データごとに、前記集計値を集計する集計手段と、を備えることが望ましい。
これにより、集計時点でのマスタデータと同じ識別コードをもつマスタデータのラベル名を、集計時点でのマスタデータのラベル名に置き換え、集計時点でのマスタデータ及び集計時点でのマスタデータと同じ識別コードをもつマスタデータの、統合元であるマスタデータのラベル名と識別コードを、集計時点でのマスタデータのラベル名と識別コードに置き換えることで、集計時点でのラベル名で統計データを作成することが可能となる。
【００１８】
第２の発明は、テーブル内でユニークな値のサロゲートキー、識別コード、開始データ、及び、終了データを含むレコードであるマスタデータを格納するマスタテーブル、並びに、統合元の前記マスタデータの前記サロゲートキーであるマスタキー、及び、統合先の前記マスタデータの前記サロゲートキーである統合キーを含むレコードである統合データを格納する統合テーブル、を記憶するマスタデータ記憶するマスタデータ記憶手段を備えるデータ集計装置によるデータ集計方法であって、前記マスタテーブルに前記マスタデータを追加する追加ステップと、複数の前記マスタデータを１つの前記マスタデータに統合する際に、統合した１つの前記マスタデータを前記マスタテーブルに追加するとともに、統合したことを示す前記統合データを前記統合テーブルに追加する統合ステップと、１つの前記マスタデータを複数の前記マスタデータに分割する際に、分割した複数の前記マスタデータを前記マスタテーブルに追加するとともに、分割したことを示す前記統合データを前記統合テーブルに追加する分割ステップと、を含むことを特徴とするデータ集計方法である。
第２の発明のデータ集計方法によれば、統合元（分割先）のマスタデータのサロゲートキーと、統合先（分割元）のマスタデータのサロゲートキーとを関連付けて記憶することができる。従って、マスタデータの統合、及びマスタデータの分割が発生しても、集計時点でのマスタデータに基づいてデータ集計が可能となる。
【００１９】
第３の発明は、コンピュータに、テーブル内でユニークな値のサロゲートキー、識別コード、開始データ、及び、終了データを含むレコードであるマスタデータを格納するマスタテーブル、並びに、統合元の前記マスタデータの前記サロゲートキーであるマスタキー、及び、統合先の前記マスタデータの前記サロゲートキーである統合キーを含むレコードである統合データを格納する統合テーブル、を記憶するマスタデータ記憶ステップと、前記マスタテーブルに前記マスタデータを追加する追加ステップと、複数の前記マスタデータを１つの前記マスタデータに統合する際に、統合した１つの前記マスタデータを前記マスタテーブルに追加するとともに、統合したことを示す前記統合データを前記統合テーブルに追加する統合ステップと、１つの前記マスタデータを複数の前記マスタデータに分割する際に、分割した複数の前記マスタデータを前記マスタテーブルに追加するとともに、分割したことを示す前記統合データを前記統合テーブルに追加する分割ステップと、を実行させることを特徴とするデータ集計プログラムである。
第３の発明のプログラムによれば、統合元（分割先）のマスタデータのサロゲートキーと、統合先（分割元）のマスタデータのサロゲートキーとを関連付けて記憶することができる。従って、マスタデータの統合、及びマスタデータの分割が発生しても、集計時点でのマスタデータに基づいてデータ集計が可能となる。
【発明の効果】
【００２０】
本発明によれば、マスタデータが分割、統合しても、集計時点でのマスタデータに基づいて時系列データから統計データを作成可能なデータ集計装置等を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係るデータ集計装置のハードウエアの構成例を示すブロック図
【図２】データ集計装置が記憶するデータ構造の一例を示す図
【図３】マスタテーブルにマスタデータを新規追加する処理について説明する図
【図４】マスタテーブルのマスタデータを廃止する処理について説明する図
【図５】マスタデータのラベル名及び属性値を変更する処理について説明する図
【図６】マスタデータ統合処理を説明するフローチャート
【図７】マスタデータ統合処理を説明する図
【図８】マスタデータ分割処理を説明するフローチャート
【図９】マスタデータ分割処理を説明する図
【図１０】過去の複数のマスタデータが、統合又は分割後のマスタデータに統合されるマスタデータ統合処理を説明するフローチャート
【図１１】過去の複数のマスタデータが、統合又は分割後のマスタデータに統合されるマスタデータ統合処理を説明する図
【図１２】過去のマスタデータが、統合又は分割後のマスタデータに分割されるマスタデータ分割処理を説明するフローチャート
【図１３】過去のマスタデータが、統合又は分割後のマスタデータに分割されるマスタデータ分割処理を説明する図
【図１４】データ集計処理を説明するフローチャート
【図１５】マスタテーブル、統合テーブル、ファクトテーブルの一例を示す図
【図１６】履歴テーブルの作成について説明する図
【図１７】データ集計処理によって作成された統計データを説明する図
【発明を実施するための形態】
【００２２】
以下、図面に基づいて、本発明の実施形態を詳細に説明する。
【００２３】
図１は、本発明の実施形態に係るデータ集計装置１を実現するコンピュータのハードウエア構成図である。コンピュータは、図１に示すように、例えば、制御部１１、記憶部１２、メディア入出力部１３、通信制御部１４、入力部１５、表示部１６、周辺機器Ｉ／Ｆ部１７等が、バス１８を介して接続されて構成される。
【００２４】
制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等により構成される。
ＣＰＵは、記憶部１２、ＲＯＭ、記憶媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス１８を介して接続された各装置を駆動制御し、データ集計装置１が行う後述する処理を実現する。ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持する。ＲＡＭは、揮発性メモリであり、ロードしたプログラムやデータを一時的に保持すると共に、制御部１１が各処理を行うために使用するワークエリアを備える。
【００２５】
記憶部１２は、ＨＤＤ（Hard Disk Drive）等であり、制御部１１が実行するプログラムや、プログラム実行に必要なデータ、ＯＳ（Operating System）等が格納されている。これらのプログラムコードは、制御部１１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて実行される。
【００２６】
メディア入出力部１３は、例えば、ＨＤ（Hard Disk）ドライブ、フロッピー（登録商標）ディスクドライブ、ＰＤドライブ、ＣＤドライブ、ＤＶＤドライブ、ＭＯドライブ等のメディア入出力装置であり、データの入出力を行う。
通信制御部１４は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インターフェースであり、ネットワークを介して、他の装置間との通信制御を行う。
【００２７】
入力部１５は、データ入力を行い、例えば、キーボード、マウスなどのポインティングデバイス、テンキーなどの入力装置を有する。入力されたデータを制御部１１へ出力する。
表示部１６は、例えば、ＣＲＴモニタ、液晶パネル等のディスプレイ装置と、ディスプレイ装置と連携して表示処理を実行するための論理回路（ビデオアダプタ等）で構成され、制御部１１の制御により入力された表示情報をディスプレイ装置上に表示させる。
周辺機器Ｉ／Ｆ部（インターフェース）１７は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部１７を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部１７は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３２Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は、有線、無線を問わない。
バス１８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００２８】
続いて、データ集計装置１の記憶部１２に記憶されるデータ構造の一例について、図２を参照して説明する。図２に示すように、データ集計装置１の記憶部１２には、集計軸となる情報を含むレコードであるマスタデータを格納するマスタテーブル２１と、マスタデータの分割及び統合情報を含むレコードである統合データを格納する統合テーブル２２と、集計対象となる情報（例えば、売上情報）を含むレコードであるファクトデータを格納するファクトテーブル２３と、集計時点でのマスタデータを格納する履歴テーブル２４と、が記憶される。
【００２９】
図２（ａ）に示すように、マスタテーブル２１は、「キー」、「識別コード」、「ラベル名」、「属性」、「開始」、「終了」等の情報を含むレコードであるマスタデータを格納する。「キー」とは、サロゲートキーであり、マスタデータをテーブル内でユニークに扱うための意味を持たない連番などである。尚、レコードは異なる複数の「属性」情報を含んでも良く、「属性」情報を含まなくても良い。
【００３０】
図２（ｂ）に示すように、統合テーブル２２は、マスタテーブル２１に格納されるマスタデータが分割又は統合された場合に作成され、「マスタキー」と「統合キー」等の情報を含むレコードである統合データを格納する。「マスタキー」とは、統合元（分割先）のマスタデータの「キー」であり、「統合キー」とは、統合先（分割元）のマスタデータの「キー」である。これにより、データ集計装置１は、分割元のマスタデータと分割先のマスタデータとを関連付けて記憶したり、統合元のマスタデータと統合先のマスタデータのキーとを関連付けて記憶したりすることができる。
【００３１】
図２（ｃ）に示すように、ファクトテーブル２３は、「年度」、「月」、「キー」、「測定値」等の情報を含むレコードであるファクトデータを格納する。ファクトテーブル２３の「キー」は、マスタテーブル２１の「キー」に関連付けられる。「測定値」とは、金額や数量、回数などの数値データを示す。尚、「年度」、「月」は期間データを示すもので、これに限らない。
【００３２】
図２（ｄ）に示すように、履歴テーブル２４は、データ集計処理（図１４参照）が実行される場合に作成され、マスタテーブル２１に格納されるマスタデータの「キー」、「識別コード」、「ラベル名」等の情報を含むレコードを格納する。詳細は後述する。
尚、履歴テーブル２４は、記憶部１２に記憶せず、制御部１１のＲＡＭに記憶させるのみでもよい。
【００３３】
また、データ集計装置１の記憶部１２に記憶されるデータ構造は、ファクトテーブル２３を中心として、１又は複数のマスタテーブル２１とによって関連付けられるスタースキーマ構造であっても良い。
【００３４】
次に、マスタテーブル２１（図２参照）に格納されるマスタデータが変更される場合に、データ集計装置１が実行する処理について、図３〜図１３を参照して説明する。説明のために、マスタテーブル２１はカテゴリ情報を含むマスタデータが格納される「カテゴリ」マスタテーブルとする。「カテゴリ」マスタテーブルの属性項目は、「キー」、「識別コード」、「ラベル名」、「属性」、「開始」、「終了」である。「ラベル名」には、マスタデータの名称である「カテゴリ名」が格納され、「属性」には、担当者コードが格納される。また、「カテゴリ」マスタテーブルに格納されるマスタデータが分割、又は統合される場合には、「カテゴリ」統合テーブルが作成される。
【００３５】
［マスタデータの新規追加］
マスタテーブルにマスタデータが新規追加される場合に、データ集計装置１が実行する処理について、図３を参照して説明する。
【００３６】
図３（ａ）に示すように、２００１年度の「カテゴリ」データを格納する「カテゴリ」マスタテーブルに対して、カテゴリ名「洋風調味料」及び担当者コード「ＡＢ２２２」を示すマスタデータが、２００２年度に追加される例を示す。
【００３７】
図３（ｂ）に示すように、データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブルに新規レコード３０を追加し、「キー」、「識別コード」、「ラベル名」、「属性」、「開始」、「終了」の値を格納する。「開始」に有効期間の開始日である「２００２−０４−０１」を格納し、「終了」に最新レコードであることを示すために「９９９９−１２−３１」等を格納する。「キー」、「識別コード」は、テーブル内でユニークな値とする。「ラベル名」に「洋風調味料」を格納し、「属性」に「ＡＢ２２２」を格納する。
【００３８】
［マスタデータの廃止］
マスタテーブルのマスタデータが廃止される場合に、データ集計装置１が実行する処理について、図４を参照して説明する。
【００３９】
図４（ａ）に示すように、２００１年度の「カテゴリ」データを格納する「カテゴリ」マスタテーブルから、カテゴリ名「洋風調味料」、担当者コード「ＡＢ２２２」を示すマスタデータが、２００２年度に廃止される例を示す。
【００４０】
図４（ｂ）に示すように、データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブルの廃止対象のレコード３１の「終了」に、有効期間の終了日である「２００２−０３−３１」を格納する。
【００４１】
［マスタデータのラベル名又は属性値の変更］
マスタテーブルの既存レコードのラベル名又は属性値が変更される場合に、データ集計装置１が実行する処理について、図５を参照して説明する。
【００４２】
図５（ａ）に示すように、２００１年度の「カテゴリ」マスタテーブルにおける担当者コード「ＡＢ１１１」を示すマスタデータが、２００２年度に担当者コード「ＡＢ３３３」に変更になる例を示す。また、２００１年度の「カテゴリ」マスタテーブルにおけるカテゴリ名「洋風調味料」を示すマスタデータが、２００２年度にカテゴリ名「西洋風調味料」に変更になる例を示す。
【００４３】
図５（ｂ）に示すように、データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブルの変更対象のレコード３２、３３の「終了」に、有効期間の終了日である「２００２−０３−３１」を格納する。
データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブルに新規レコード３４、３５を追加し、「キー」にユニークな値、「識別コード」に変更前の値、「ラベル名」と「属性」に図５（ａ）に示す変更後の「カテゴリ名」と「担当者コード」、「開始」に有効期間の開始日である「２００２−０４−０１」、「終了」に最新レコードであることを示すために「９９９９−１２−３１」等を格納する。
【００４４】
［マスタデータ統合処理］
マスタテーブルのマスタデータが統合される場合に、データ集計装置１が実行する処理について、図６と図７を参照して説明する。図６は、マスタデータ統合処理の詳細を示すフローチャートである。
【００４５】
図６に示すように、データ集計装置１の制御部１１は、ユーザによって入力部１５から、記憶部１２に記憶される「カテゴリ」マスタテーブルに格納されるマスタデータの統合内容を取得する（ステップＳ１１）。
【００４６】
図７（ａ）に示すように、２００２年度の「カテゴリ」マスタテーブルにおけるカテゴリ名「和風調味料」及び担当者コード「ＡＢ１１１」を示すマスタデータと、カテゴリ名「洋風調味料」及び担当者コード「ＡＢ１１１」を示すマスタデータが、２００３年度にカテゴリ名「合成調味料」及び担当者コード「ＡＢ１１１」を示すマスタデータに統合される例を示す。
【００４７】
図６の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブルの統合元のレコードの「終了」に、有効期間の終了日を格納し（ステップＳ１２）、「カテゴリ」マスタテーブルに新規レコードを追加する（ステップＳ１３）。
【００４８】
図７（ｂ）に示すように、データ集計装置１は、「カテゴリ」マスタテーブルの統合元のレコード３６、３７の「終了」に、有効期間の終了日である「２００３−０３−３１」を格納する。
データ集計装置１は、「カテゴリ」マスタテーブルに新規レコード３８を追加し、「キー」と「識別コード」にユニークな値、「ラベル名」と「属性」に図７（ａ）に示す統合後の「カテゴリ名」と「担当者コード」、「開始」に有効期間の開始日である「２００３−０４−０１」、「終了」に最新レコードであることを示すために「９９９９−１２−３１」等を格納する。
【００４９】
図６の説明に戻る。記憶部１２に記憶される「カテゴリ」マスタテーブルに追加された統合先のマスタデータが、既存のマスタデータと同じ意味である場合に（ステップＳ１４のＹＥＳ）、データ集計装置１の制御部１１は、統合先のマスタデータの「識別コード」に当該マスタデータと同一の値を格納する（ステップＳ１５）。同じ意味となる既存のマスタデータが無い場合には（ステップＳ１４のＮＯ）、制御部１１は、ステップＳ１６に進む。
【００５０】
図７（ｂ）に示す例では、統合先のマスタデータ３８が、「キー」＝「１」であるマスタデータと同じ意味になるため、データ集計装置１は、統合先のマスタデータ３８の「識別コード」に「Ｃ００１」を格納する。
【００５１】
図６の説明に戻る。データ集計装置１の制御部１１は、「カテゴリ」統合テーブルに統合元のレコード数に対応する新規レコードを追加し（ステップＳ１６）、処理を終了する。
【００５２】
図７（ｃ）に示すように、データ集計装置１は、「カテゴリ」統合テーブルに統合元のレコード数（＝２）に対応する新規レコード３９、４０を追加し、「マスタキー」に統合元のマスタデータ３６、３７の「キー」、「統合キー」に統合先のマスタデータ３８の「キー」を格納する。
【００５３】
以上のように、マスタデータ統合処理によれば、データ集計装置１は、マスタテーブルにおいて、統合元のマスタデータの「終了」に終了時点を格納するとともに、統合先の１つのマスタデータとして、「キー」にユニークな値を格納し、「識別コード」にそれ以前のマスタデータで同じ意味のものがある場合には当該マスタデータの「識別コード」を格納し、「開始」に終了時点に対応する開始時点を格納したものを追加し、統合テーブルにおいて、統合データとして、「マスタキー」に統合元のマスタデータの「キー」を格納し、「統合キー」に統合先のマスタデータの「キー」を格納したものを追加する。
【００５４】
［マスタデータ分割処理］
マスタテーブルのマスタデータが分割される場合に、データ集計装置１が実行する処理について、図８と図９を参照して説明する。図８は、マスタデータ分割処理の詳細を示すフローチャートである。
【００５５】
図８に示すように、データ集計装置１の制御部１１は、ユーザによって入力部１５から、記憶部１２に記憶される「カテゴリ」マスタテーブルに格納されるマスタデータの分割内容を取得する（ステップＳ２１）。
【００５６】
図９（ａ）に示すように、２００２年度の「カテゴリ」マスタテーブルにおけるカテゴリ名「合成調味料」及び担当者コード「ＡＢ１１１」を示すマスタデータが、２００３年度にカテゴリ名「和風だし」及び担当者コード「ＡＢ１１１」を示すマスタデータと、カテゴリ名「その他合成だし」及び担当者コード「ＡＢ２２２」を示すマスタデータとに分割される例を示す。
【００５７】
図８の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブルの分割元のレコードの「終了」に、有効期間の終了日を格納し（ステップＳ２２）、「カテゴリ」マスタテーブルに分割数に対応する新規レコードを追加する（ステップＳ２３）。
【００５８】
図９（ｂ）に示すように、データ集計装置１は、「カテゴリ」マスタテーブルの分割元のレコード４１の「終了」に、有効期間の終了日である「２００３−０３−３１」を格納する。
データ集計装置１は、「カテゴリ」マスタテーブルに新規レコード４２、４３を追加し、「キー」と「識別コード」にユニークな値、「ラベル名」と「属性」に図９（ａ）に示す分割後の「カテゴリ名」と「担当者コード」、「開始」に有効期間の開始日である「２００３−０４−０１」、「終了」に最新レコードであることを示すために「９９９９−１２−３１」等を格納する。
【００５９】
図８の説明に戻る。記憶部１２に記憶される「カテゴリ」マスタテーブルに追加された分割先のマスタデータが、既存のマスタデータと同じ意味である場合に（ステップＳ２４のＹＥＳ）、データ集計装置１の制御部１１は、分割先のマスタデータの「識別コード」に当該マスタデータと同一の値を格納する（ステップＳ２５）。同じ意味となる既存のマスタデータが無い場合には（ステップＳ２４のＮＯ）、制御部１１は、ステップＳ２６に進む。
【００６０】
図９（ｂ）に示す例では、分割先のマスタデータ４２が、「キー」＝「１」であるマスタデータと同じ意味になるため、データ集計装置１は、分割先のマスタデータ４２の「識別コード」に「Ｃ００１」を格納する。
【００６１】
図８の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」統合テーブルに分割数に対応する新規レコードを追加し（ステップＳ２６）、処理を終了する。
【００６２】
図８（ｃ）に示すように、データ集計装置１は、「カテゴリ」統合テーブルに分割数（＝２）に対応する新規レコード４４、４５を追加し、「マスタキー」に分割先のマスタデータ４２、４３の「キー」と、「統合キー」に分割元のマスタデータ４１の「キー」を格納する。
【００６３】
マスタデータ分割処理によれば、データ集計装置１は、マスタテーブルにおいて、分割前のマスタデータの「終了」に終了時点を格納するとともに、分割先の複数のマスタデータとして、「キー」にユニークな値を格納し、「識別コード」にそれ以前のマスタデータで同じ意味のものがある場合には当該マスタデータの「識別コード」を格納し、「開始」に終了時点に対応する開始時点を格納したものを追加し、統合テーブルにおいて、統合データとして、「マスタキー」に分割先のマスタデータの「キー」を格納し、「統合キー」に分割元のマスタデータの「キー」を格納したものを追加する。
【００６４】
［過去の複数のマスタデータが、統合又は分割後のマスタデータに統合されるマスタデータ統合処理］
マスタテーブルの過去の複数のマスタデータが、統合又は分割後のマスタデータに統合される場合に、データ集計装置１が実行する処理について、図１０と図１１を参照して説明する。図１０は、過去の複数のマスタデータが、統合又は分割後のマスタデータに統合されるマスタデータ統合処理の詳細を示すフローチャートである。図１１は、過去の複数のマスタデータが、分割後のマスタデータに統合される一例を説明する図である。
【００６５】
図１０に示すように、データ集計装置１の制御部１１は、ユーザによって入力部１５から、記憶部１２に記憶される「カテゴリ」マスタテーブルに格納されるマスタデータの分割内容（統合内容）を取得する（ステップＳ３１）。
【００６６】
図１１（ａ）に示すように、２００２年度の「カテゴリ」マスタテーブルにおけるカテゴリ名「合成調味料」及び担当者コード「ＡＢ１１１」を示すマスタデータが、２００３年度にカテゴリ名「和風だし」及び担当者コード「ＡＢ１１１」を示すマスタデータと、カテゴリ名「その他合成だし」及び担当者コード「ＡＢ２２２」を示すマスタデータとに分割される例を示す。
【００６７】
図１０の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブルの分割元（統合元）のレコードの「終了」に、有効期間の終了日を格納し（ステップＳ３２）、「カテゴリ」マスタテーブルに分割数（統合先のレコード数）に対応する新規レコードを追加する（ステップＳ３３）。
【００６８】
図１１（ｂ）に示すように、データ集計装置１は、「カテゴリ」マスタテーブルの分割元のレコード４６の「終了」に、有効期間の終了日である「２００３−０３−３１」を格納する。
データ集計装置１は、「カテゴリ」マスタテーブルに新規レコード４７、４８を追加し、「キー」と「識別コード」にユニークな値、「ラベル名」と「属性」に図１１（ａ）に示す分割後の「カテゴリ名」と「担当者コード」、「開始」に有効期間の開始日である「２００３−０４−０１」、「終了」に最新レコードであることを示すために「９９９９−１２−３１」等を格納する。
【００６９】
図１０の説明に戻る。記憶部１２に記憶される「カテゴリ」マスタテーブルに追加された分割先（統合先）のマスタデータが、既存のマスタデータと同じ意味である場合に（ステップＳ３４のＹＥＳ）、データ集計装置１の制御部１１は、分割先（統合先）のマスタデータの「識別コード」に当該マスタデータと同一の値を格納する（ステップＳ３５）。同じ意味となる既存のマスタデータが無い場合には（ステップＳ２４のＮＯ）、制御部１１は、ステップＳ２６に進む。
【００７０】
図１１（ｂ）に示す例では、分割先のマスタデータ４７が、「キー」＝「１」であるマスタデータと同じ意味になるため、データ集計装置１は、分割先のマスタデータ４７の「識別コード」に「Ｃ００１」を格納する。
【００７１】
図１０の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」統合テーブルに分割数（統合元のレコード数）に対応する新規レコードを追加する（ステップＳ３６）。
【００７２】
図１１（ｃ）に示す例では、データ集計装置１は、「カテゴリ」統合テーブルに分割数（＝２）に対応する新規レコード４９、５０を追加し、「マスタキー」に分割先のマスタデータ４７、４８の「キー」と、「統合キー」に分割元のマスタデータ４６の「キー」を格納する。
【００７３】
図１０の説明に戻る。記憶部１２に記憶される「カテゴリ」マスタテーブルに追加された分割先（統合先）のマスタデータが、既存のマスタデータを統合したものと同じ意味である場合に（ステップＳ３７のＹＥＳ）、データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」統合テーブルに、統合元のレコード数に対応する新規レコードを追加し（ステップＳ３８）、処理を終了する。既存のマスタデータを統合したものと、同じ意味となる既存のマスタデータが無い場合には（ステップＳ３７のＮＯ）、制御部１１は、処理を終了する。
【００７４】
図１１（ｃ）に示す例では、分割先のマスタデータ４８が、「キー」＝「２」であるマスタデータ５３と「キー」＝「３」であるマスタデータ５４とを統合したものと同じ意味になる。データ集計装置１は、「カテゴリ」統合テーブルに統合元のレコード数（＝２）に対応する新規レコード５１、５２を追加し、「マスタキー」に統合元のマスタデータ５３、５４の「キー」と、「統合キー」に統合先のマスタデータ４８の「キー」を格納する。
【００７５】
過去の複数のマスタデータが、統合又は分割後のマスタデータに統合されるマスタデータ統合処理によれば、データ集計装置１は、マスタテーブルにおいて、分割元（統合元）のマスタデータの「終了」に終了時点を格納するとともに、分割先（統合先）のマスタデータとして、「キー」にユニークな値を格納し、「識別コード」にそれ以前のマスタデータで同じ意味のものがある場合には当該マスタデータの「識別コード」を格納し、「開始」に終了時点に対応する開始時点を格納したものを追加し、統合テーブルにおいて、統合データとして、「マスタキー」に分割先（統合元）のマスタデータの「キー」を格納し、「統合キー」に分割元（統合先）のマスタデータの「キー」を格納したものを追加する。さらに、マスタテーブルにおいて、新たに追加した分割先（統合先）のマスタデータが、以前の複数のマスタデータを統合したものと同じ意味である場合には、統合テーブルにおいて、統合データとして、「マスタキー」に統合元のマスタデータの「キー」を格納し、「統合キー」に統合先のマスタデータの「キー」を格納したものを追加する。
【００７６】
[過去のマスタデータが、統合又は分割後のマスタデータに分割されるマスタデータ分割処理]
マスタテーブルのマスタデータが分割される場合に、データ集計装置１が実行する処理について、図１２と図１３を参照して説明する。図１２は、過去のマスタデータが、統合又は分割後のマスタデータに分割されるマスタデータ分割処理の詳細を示すフローチャートである。図１３は、過去のマスタデータが、分割後のマスタデータに分割される一例を説明する図である。
【００７７】
図１２に示すように、データ集計装置１の制御部１１は、ユーザによって入力部１５から、記憶部１２に記憶される「カテゴリ」マスタテーブルに格納されるマスタデータの分割内容（統合内容）を取得する（ステップＳ４１）。
【００７８】
図１３（ａ）に示すように、２００２年度の「カテゴリ」マスタテーブルにおけるカテゴリ名「合成調味料」及び担当者コード「ＡＢ１１１」を示すマスタデータが、２００３年度にカテゴリ名「和風だし」及び担当者コード「ＡＢ１１１」を示すマスタデータと、カテゴリ名「洋風だし」及び担当者コード「ＡＢ２２２」を示すマスタデータと、カテゴリ名「中華風だし」及び担当者コード「ＡＢ２２２」とに分割される例を示す。
【００７９】
図１２の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブルの分割元（統合元）のレコードの「終了」に、有効期間の終了日を格納し（ステップＳ４２）、「カテゴリ」マスタテーブルに分割数（統合先のレコード数）に対応する新規レコードを追加する（ステップＳ４３）。
【００８０】
図１３（ｂ）に示すように、データ集計装置１は、「カテゴリ」マスタテーブルの分割元のレコード５６の「終了」に、有効期間の終了日である「２００３−０３−３１」を格納する。
データ集計装置１は、「カテゴリ」マスタテーブルに新規レコード５７、５８、５９を追加し、「キー」と「識別コード」にユニークな値、「ラベル名」と「属性」に図１３（ａ）に示す分割後の「カテゴリ名」と「担当者コード」、「開始」に有効期間の開始日である「２００３−０４−０１」、「終了」に最新レコードであることを示すために「９９９９−１２−３１」等を格納する。
【００８１】
図１２の説明に戻る。記憶部１２に記憶される「カテゴリ」マスタテーブルに追加された分割先（統合先）のマスタデータが、既存のマスタデータと同じ意味である場合に（ステップＳ４４のＹＥＳ）、データ集計装置１の制御部１１は、分割先（統合先）のマスタデータの「識別コード」に当該マスタデータと同一の値を格納する（ステップＳ４５）。同じ意味となる既存のマスタデータが無い場合には（ステップＳ４４のＮＯ）、制御部１１は、ステップＳ４６に進む。
【００８２】
図１３（ｂ）に示す例では、分割先のマスタデータ５７が、「キー」＝「１」であるマスタデータと同じ意味になるため、データ集計装置１は、分割先のマスタデータ５７の「識別コード」に「Ｃ００１」を格納する。
【００８３】
図１２の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」統合テーブルに分割数（統合元のレコード数）に対応する新規レコードを追加する（ステップＳ４６）。
【００８４】
図１３（ｃ）に示す例では、データ集計装置１は、「カテゴリ」統合テーブルに分割数（＝３）に対応する新規レコード６０、６１、６２を追加し、「マスタキー」に分割先のマスタデータ５７、５８、５９の「キー」と、「統合キー」に分割元のマスタデータ５６の「キー」を格納する。
【００８５】
図１２の説明に戻る。記憶部１２に記憶される「カテゴリ」マスタテーブルに追加された分割先（統合先）のマスタデータが、既存のマスタデータを分割したものと同じ意味である場合に（ステップＳ４７のＹＥＳ）、データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」統合テーブルに、分割数に対応する新規レコードを追加し（ステップＳ４８）、処理を終了する。既存のマスタデータを分割したものと、同じ意味となる既存のマスタデータが無い場合には（ステップＳ４７のＮＯ）、制御部１１は、処理を終了する。
【００８６】
図１３（ｃ）に示す例では、分割先のマスタデータ５８、５９が、「キー」＝「２」であるマスタデータ５５を分割したものと同じ意味になる。データ集計装置１は、「カテゴリ」統合テーブルに分割数（＝２）に対応する新規レコード６３、６４を追加し、「マスタキー」に分割先のマスタデータ５８、５９の「キー」と、「統合キー」に分割元のマスタデータ５５の「キー」を格納する。
【００８７】
過去のマスタデータが、統合又は分割後のマスタデータに分割されるマスタデータ分割処理によれば、データ集計装置１は、マスタテーブルにおいて、分割元（統合元）のマスタデータの「終了」に終了時点を格納するとともに、分割先（統合先）のマスタデータとして、「キー」にユニークな値を格納し、「識別コード」にそれ以前のマスタデータで同じ意味のものがある場合には当該マスタデータの「識別コード」を格納し、「開始」に終了時点に対応する開始時点を格納したものを追加し、統合テーブルにおいて、統合データとして、「マスタキー」に分割先（統合元）のマスタデータの「キー」を格納し、「統合キー」に分割元（統合先）のマスタデータの「キー」を格納したものを追加する。さらに、マスタテーブルにおいて、新たに追加した分割先（統合先）のマスタデータが、以前のマスタデータを分割したものと同じ意味である場合には、統合テーブルにおいて、統合データとして、「マスタキー」に分割先のマスタデータの「キー」を格納し、「統合キー」に分割元のマスタデータの「キー」を格納したものを追加する。
【００８８】
［データ集計処理］
次に、マスタテーブル２１（図２参照）と統合テーブル２２（図２参照）とファクトテーブル２３（図２参照）とから、履歴テーブル２４（図２参照）を用いて、ラベル名と期間データごとに、データを集計する場合に、データ集計装置１が実行する処理について、図１４〜図１７を参照して説明する。
【００８９】
図１４は、データ集計装置１が実行するデータ集計処理の流れを示すフローチャートである。
図１４に示すように、データ集計装置１の制御部１１は、ユーザによって入力部１５から集計する集計時点の入力を受付ける（ステップＳ１０１）。以下、集計時点として「２００２−０２−３１」が入力されたものとする。
【００９０】
図１５を参照して、データ集計装置１がデータ集計処理にて扱うデータ構造の一例について説明する。図１５に示す例では、データ集計装置１の記憶部１２には、カテゴリ情報を含むマスタデータが格納される「カテゴリ」マスタテーブル７０と、「カテゴリ」マスタテーブル７０が格納するマスタデータの「マスタキー」と「統合キー」とを含む統合データを格納する「カテゴリ」統合テーブル７１と、売上情報を含むファクトデータが格納される「売上」ファクトテーブル７２と、が記憶される。ここで、「カテゴリ」マスタテーブル７０と「カテゴリ」統合テーブル７１とは、データ集計装置１が、第３の実施形態に係るマスタデータ分割処理を実行して、作成されたものである。データ集計装置１の制御部１１は、「カテゴリ」マスタテーブル７０と、「カテゴリ」統合テーブル７１と、「売上」ファクトテーブル７２と、を用いて、データ集計処理を実行する。
【００９１】
図１４の説明に戻る。データ集計装置１の制御部１１は、ステップＳ１０１にて集計時点を受付けると、記憶部１２に記憶される「カテゴリ」マスタテーブル７０から、集計時点が「開始」から「終了」の間に含まれるマスタデータを抽出して、履歴テーブルを作成し、記憶部１２に記憶させる（ステップＳ１０２）。
【００９２】
図１６は、履歴テーブルの作成について説明する図である。データ集計装置１は、「カテゴリ」マスタテーブル７０（図１５参照）から集計時点「２００２−０３−３１」が「開始」から「終了」の間に含まれるレコード７３、７４を抽出して、図１６（ａ）に示すように、履歴テーブルを作成する。
【００９３】
図１４の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」マスタテーブル７０から、ステップＳ１０２にて抽出したマスタデータと同一の「識別コード」を持つマスタデータを抽出して、記憶部１２に記憶される履歴テーブルに追加して記憶させる（ステップＳ１０３）。
【００９４】
データ集計装置１は、履歴テーブル（図１６（ａ）参照）に格納されるレコード７５、７６の「識別コード」が同一であるマスタデータを、「カテゴリ」マスタテーブル７０（図１５参照）から抽出して、履歴テーブルに追加する。
ここに示す例においては、「カテゴリ」マスタテーブル７０から「識別コード＝Ｃ００１」であるレコード７７が抽出されて、図１６（ｂ）に示すように履歴テーブルに追加される。
【００９５】
データ集計装置１は、履歴テーブルに追加するレコード７８の「ラベル名」を、履歴テーブル（図１６（ａ）参照）に格納されるレコード７５、７６のうち、「識別コード」が同一であるレコードの「ラベル名」に置き換える。
ここに示す例においては、履歴テーブルに追加するレコード７８の「ラベル名」を、「識別コード＝Ｃ００１」であるレコード７５の「ラベル名」である「和風調味料」に置き換える。
【００９６】
図１４の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される「カテゴリ」統合テーブル７１から、「統合キー」と履歴テーブルの「キー」とが同一である統合データを抽出する（ステップＳ１０４）。
【００９７】
データ集計装置１は、履歴テーブル（図１６（ｂ）参照）に格納されるレコードの「キー」が、「統合キー」と同一である統合データを、「カテゴリ」統合テーブル７１（図１５参照）から抽出する。
ここに示す例においては、「カテゴリ」統合テーブル７１から「統合キー＝２」であるレコード７９、８０が抽出される。
【００９８】
図１４の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される履歴テーブルに、Ｓ１０４にて抽出された統合データの数に対応する新規レコードを追加して、記憶させる（ステップＳ１０５）。
【００９９】
データ集計装置１は、履歴テーブル（図１６（ｂ）参照）にＳ１０３にて抽出された統合データの数に対応する新規レコードを追加し、「キー」に抽出された統合データの「マスタキー」、「識別コード」及び「ラベル名」に抽出された統合データの「統合キー」を「キー」にもつレコード８５と同一の値を格納する。
【０１００】
図１４の説明に戻る。データ集計装置１の制御部１１は、記憶部１２に記憶される履歴テーブルの「キー」と記憶部１２に記憶される「売上」ファクトテーブル７２の「キー」を結合キーとして、「売上」ファクトテーブル７２に「集計キー」と「ラベル名」を付加して記憶させる（ステップＳ１０６）。
【０１０１】
データ集計装置１は、履歴テーブル（図１６（ｃ）参照）の「キー」と、「売上」ファクトテーブル７２の「キー」を結合キーとして、履歴テーブルから「売上」ファクトテーブル７２に「集計キー」と「ラベル名」を付加する。「集計キー」とは履歴テーブルの「識別コード」である。履歴テーブルに「売上」ファクトテーブル７２の「キー」が無い場合には、「集計キー」を「Ｏｔｈｅｒｓ」、「ラベル名」を「その他」等にする。「集計キー」と「ラベル名」とが付加された「売上」ファクトテーブル７２を図１７（ａ）に示す。
【０１０２】
図１４の説明に戻る。データ集計装置１の制御部１１は、Ｓ１０６にて結合された「売上」ファクトテーブルを、「期間データ」と「ラベル名」で集計し、統計データを作成して（ステップＳ１０７）、処理を終了する。
【０１０３】
データ集計装置１が、図１７（ａ）に示す「売上」ファクトテーブル７２を、「年度」と「集計キー」、「ラベル名」で集計して作成した統計データ９０を図１７（ｂ）に示す。
【０１０４】
以上、データ集計処理によれば、データ集計装置１は、マスタテーブル２１から、集計時点が、「開始」と「終了」との間に含まれるマスタデータを抽出して、履歴テーブルを作成する。マスタテーブル２１から、抽出したマスタデータと同一の「識別コード」をもつマスタデータを抽出して、マスタデータの「ラベル名」を抽出したマスタデータの「ラベル名」に置き換えて、履歴テーブル２４に追加する。統合テーブル２２から、履歴テーブル２４の「キー」が「統合キー」である統合データを抽出し、「キー」が抽出した統合データの「マスタキー」であり、「ラベル名」と「識別コード」が抽出されたマスタデータの「ラベル名」と「識別コード」であるレコードを履歴テーブル２４に追加する。ファクトテーブルの「キー」と、履歴テーブルの「キー」とを対応させて、ファクトテーブル２３に「集計キー」と「ラベル名」を付加する。付加したファクトデータにおいて、「ラベル名」と「期間データ」ごとに、集計値を集計して、統計データ９０を作成する。
【０１０５】
以上、添付図面を参照しながら、本発明に係るデータ集計装置等の好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１０６】
１………データ集計装置
１１………制御部
１２………記憶部
１３………メディア入出力部
１４………通信制御部
１５………入力部
１６………表示部
１７………周辺機器Ｉ／Ｆ部
２１………マスタテーブル
２２………統合テーブル
２３………ファクトテーブル
２４………履歴テーブル
【図１】
2014071879.tif 000003
【図２】
2014071879.tif 000004
【図３】
2014071879.tif 000005
【図４】
2014071879.tif 000006
【図５】
2014071879.tif 000007
【図６】
2014071879.tif 000008
【図７】
2014071879.tif 000009
【図８】
2014071879.tif 000010
【図９】
2014071879.tif 000011
【図１０】
2014071879.tif 000012
【図１１】
2014071879.tif 000013
【図１２】
2014071879.tif 000014
【図１３】
2014071879.tif 000015
【図１４】
2014071879.tif 000016
【図１５】
2014071879.tif 000017
【図１６】
2014071879.tif 000018
【図１７】
2014071879.tif 000019