以下に、本発明に係る内部取引判定装置、内部取引判定方法および内部取引判定プログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態によりこの発明が限定されるものではない。
[1.概要]
管理会計(特に連結会計またはグループ管理会計)等の分野においては、グループ内企業の内部取引を判別して相殺消去を行う必要があるが、従来の方法では、会社単位またはセグメント単位の取引相手しか管理できなかったため、会社よりも細かい単位である事業所単位または部門単位で集計を行う場合は、内部取引の判定および消去が正しく行えないという課題があった。また、組織を階層化した仮想組織構造において、末端の会社から、グループ中核会社を経て、親会社に向かって集計を行う際に、上位の階層へと進むに際して内部取引の相殺範囲が変化するため、内部取引の判定および消去が困難であった。
具体的には、図38に示すように、会社(1)の仕訳明細と会社(2)の仕訳明細とが存在する場合に、会社(1)の明細に含まれる取引先コード「T0001」が、グループ内の会社(2)を指していることは判断できても、相手先会社の事業所コード、部門コードおよびセグメントコードは管理されていないため、取引が内部取引か否かを正確に判断することは困難であった。
すなわち、図39に示すように、(会社100、東京本社、営業部)の取引相手が、(会社200、東京本社、営業部)および(会社200、大阪支社、営業部)である場合に、会社100から見て、取引先の会社200側の事業所および部門はわからないため、これら2つの取引が、内部取引と外部取引のどちらであるのかを判定できなかった。
そこで、本実施形態においては、取引が、階層化構造を持つオブジェクト(対象)内での取引(すなわち、グループ内取引)であるのか、または、オブジェクト間での取引(すなわち、グループ外取引=グループ間取引)であるのかを判定し、取引を区別して集計する手法を提供する。本実施形態においては、データをグループ化する階層化オブジェクトにおいて、取引内容がどのオブジェクト間の取引かを判定し、オブジェクトツリー構造を元に同じオブジェクトに所属する下位オブジェクト同士の取引であればグループ内取引、別のオブジェクトの下位オブジェクトとの取引であればグループ間取引と判定し、区別して集計することを可能とした。
より具体的には、取引情報から相手先企業の詳細情報を特定するパターンを定義可能とした。すなわち、自社の事業所、部門または分析コード等の複数属性から、相手取引先の詳細情報のパターンが特定可能な状況を想定し、任意の粒度で相手先企業の詳細情報を設定可能とした。また、階層化オブジェクト構造において、下位階層から上位階層に集計する際の階層レベルに応じて、内部取引情報を都度判定可能とした。
これらにより、本実施形態に係る効果としては、例えば、管理会計分析で使用する仮想組織または仮想セグメント構造において、任意の階層で集計を行った際、自身の階層下同士の取引を内部取引として控除、別の階層との取引をグループ間取引として集計することで、グループ企業の収支を適切に把握することができるようになった。以下、具体的な構成および動作について説明する。
[2.構成]
本発明を包含する情報処理装置100の構成について、図1を用いて説明する。図1は、情報処理装置100の構成の一例を示すブロック図である。
情報処理装置100は、市販のデスクトップ型パーソナルコンピュータである。なお、情報処理装置100は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、PDA(Personal Digital Assistants)、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
情報処理装置100は、図1に示すように、制御部102と通信インターフェース部104と記憶部106と入出力インターフェース部108と、を備えている。情報処理装置100が備えている各部は、任意の通信路を介して通信可能に接続されている。
通信インターフェース部104は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、情報処理装置100をネットワーク300に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク300は、情報処理装置100とサーバ200とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。なお、後述する記憶部106に格納されるデータは、サーバ200に格納されてもよい。
入出力インターフェース部108には、入力装置112および出力装置114が接続されている。出力装置114には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力装置112には、キーボード、マウス、およびマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置114を、表示部としてのモニタ114とし、入力装置112をキーボード112またはマウス112として記載する場合がある。
記憶部106には、各種のデータベース、テーブル、およびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部106として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
記憶部106は、例えば、対象管理データとしての階層化オブジェクト管理情報106aと、対象展開データとしての階層化オブジェクト展開情報106bと、対象抽出データとしての階層化オブジェクト抽出情報106cと、集計対象データ106dと、集計結果データ106eと、集計キーデータとしての集計キー情報データ106fと、ユーザ管理データとしてのユーザグループ所属情報106gと、グループ管理データとしての権限設定情報106hと、権限抽出情報106iと、階層化オブジェクトセキュリティ展開情報106jと、取引先特定項目設定情報106kと、取引パターン設定データとしての取引先特定パターン設定情報106lと、集計対象元データ106mと、集計対象データ106nと、集計結果データ106oと、変換項目設定情報106pと、変換パターン設定データとしての変換パターン設定情報106qと、変換対象データ106rと、変換完了データ106sと、を備えている。
また、本実施形態において、「対象(オブジェクト)」とは、例えば、実在する組織である実組織(例えば、実在する会社、事業所または部門等)、仮想上の組織である仮想組織(例えば、実組織をシミュレーション用に階層化した組織または組換えした組織)、実在するセグメントである実セグメント(例えば、実在する事業セグメント、エリアまたはブランド等)または仮想上のセグメントである仮想セグメント(例えば、実セグメントをシミュレーション用に階層化したセグメントまたは組換えしたセグメント)等を意味する。実組織、仮想組織、実セグメントおよび仮想セグメントの具体例を、図42の階層構造中に示す。そして、本実施形態において、階層構造とは、最下位層の対象と上位層の対象とが階層を成すことにより形成される構造のことを意味する。
階層化オブジェクト管理情報106aは、階層構造を管理するための情報である。階層化オブジェクト管理情報106aは、図3に示すように、例えば、階層構造識別データ(管理番号)、管理名称、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)、ノード名称、上位階層識別データ(上位階層レベル)、上位対象識別データ(上位ノード識別コード)、下位構造区分および最下位層識別データ(紐付コード)等を含む。
管理番号は、階層構造を識別するためのデータである。具体的には、図5に示す階層構造の管理番号を(1)に、図6に示す階層構造の管理番号を(2)に、図7に示す階層構造の管理番号を(3)にするという様に、階層構造別に管理番号を設定することができる。管理名称は、管理番号に対応する名称である。
管理番号と管理名称とを併せて、図3に示すように、階層化オブジェクト識別情報部という。ここで、階層化オブジェクト管理情報106aに記録するデータの記録方式は、階層化オブジェクト識別情報部については、以下のルール1~2に従うものとする。
1.管理対象の階層化オブジェクトごとに、一意な管理番号を割り当てる。
2.一意な管理番号に対して、使用者が識別可能な管理名称を設定する。
階層レベルは、階層構造における各階層を識別するためのデータである。最上位層の階層は、階層レベル0となり、以降、階層が1つ下位に進むごとに階層レベルも1つずつ増えていく。例えば、図5に示す組織図(1)の場合、全社が階層レベル0(すなわち最上位層)となり、会社1~会社3が階層レベル1(すなわち、最下位層)となる。階層レベルの設定例を、図3に示す。
ノード識別コードは、対象を識別するためのデータである。例えば、図5に示す組織図(1)の場合、全社のノード識別コードを10000に、会社1のノード識別コードを01000に、会社2のノード識別コードを02000に、会社3のノード識別コードを03000にするという様に、対象別にノード識別コードを設定することができる。ノード名称は、ノード識別コードに対応する名称である。ノード識別コードおよびノード名称の設定例を、図3に示す。
上位階層レベルは、各階層より1つ上位の階層を識別するためのデータである。例えば、図5に示す組織図(1)における会社1~3の階層レベルは1であるが、会社1~3より1つ上位の階層の階層レベルは0であるため、会社1~3の上位階層レベルは0となる。上位階層レベルの設定例を、図3に示す。
上位ノード識別コードは、各階層の対象より1つ上位の階層の対象を識別するためのデータである。例えば、図5に示す組織図(1)における会社1~3の場合、1つ上位の階層の対象である全社のノード識別コードは前述のとおり10000であるため、会社1~3についての上位ノード識別コードは10000となる。上位ノード識別コードの設定例を、図3に示す。
下位構造区分は、下位の階層の存在有無を示す区分である。例えば、図5に示す組織図(1)の場合、全社からみて下位の階層は存在するため、全社についての下位構造区分は「0:下位あり」となる。一方、会社1~3からみて下位の階層は存在しないため、会社1~3についての下位構造区分は「1:下位なし」となる。下位構造区分の設定例を、図3に示す。
階層レベルとノード識別コードとノード名称と上位階層レベルと上位ノード識別コードと下位構造区分とを併せて、図3に示すように、階層構造情報部という。ここで、階層化オブジェクト管理情報106aに記録するデータの記録方式は、階層構造情報部については、以下のルール1~5に従うものとする。なお、上位階層レベルおよび下位構造区分は、本発明において必須となる項目ではないが、階層化ノードの上位・下位を特定する処理においてデータを保持しておいた方が、プログラムの処理手順が簡単になるため準備している項目である。
1.階層化オブジェクトの階層を識別する、階層レベル(0~N)を設定する。
2.同一の管理番号/階層レベルごとに、一意なノード識別コードを割り当てる。
3.一意なノード識別コードに対して、使用者が識別可能なノード名称を設定する。
4.各階層のノードについて、自身が所属する親のノードの階層レベル(上位階層レベル)およびノード識別コード(上位ノード識別コード)を設定する。
5.各階層のノードについて、自身が最下位のノードか、更に子ノードが存在するかを区別する下位構造区分を設定する。
最下位層識別データは、最下位層の対象を識別するためのデータであり、紐付コードといってもよい。最下位層識別データの具体例としては、例えば、ある会社を識別するための会社識別データ(会社コード)、ある会社における事業所を識別するための事業所識別データ(事業所コード)、ある会社における部門を識別するための部門識別データ(部門コード)またはある会社における事業内容を識別するための事業内容識別データ(分析コード)等があげられる。最下位層識別データとして、会社コード、事業所コードおよび部門コードを用いる場合における階層化オブジェクト管理情報106aの設定例を、図4および図40に示す。また、最下位層識別データとして、分析コードを用いる場合における階層化オブジェクト管理情報106aの設定例を、図41に示す。
なお、最下位層識別データは、前述のとおり、最下位層の対象を識別するためのデータであるため、最下位層より上位の対象には、最下位層識別データは割り当てられない。例えば、図3の階層化オブジェクト管理情報106aにおいて、会社1~3(上から2~4行目のレコード)は最下位層の対象であるため、最下位層識別データとして、紐付コード1~3がそれぞれ割り当てられているが、一方で、全社(上から1行目のレコード)は、最下位層の対象ではないため、最下位層識別データは割り当てられず、紐付コードの欄は、「NULL」となっている。
最下位層識別データ(紐付コード)を、図3に示すように、紐付情報部という。ここで、階層化オブジェクト管理情報106aに記録するデータの記録方式は、紐付情報部については、以下のルール1~5に従うものとする。なお、設定なしを意味する<NULL>およびすべてを意味する<ALL>の文字列は、これに限定されず、他の文字列であってもよい。
1.集計対象とするデータの集計キーとなる項目を、システム想定の最大個数保持する。2.各ノードにおいて、下位構造区分が「下位あり」の場合は、紐付情報を保持する必要がないため、設定なしを意味する予約語<NULL>を保持する。
3.下位構造区分が「下位なし」の場合、紐付け対象の各コードを保持する。この際、以下のルール4および5を適用する。
4.紐付項目として必須となる項目は、必ず紐付コードを保持する。
5.紐付項目として任意となる項目は、内訳を設定する場合はコードを指定し、内訳を指定しない場合はすべてを意味する予約語<ALL>を保持する。
ここで、具体的な情報が設定された階層化オブジェクト管理情報106aのデータ例を、図4に示す。図4においては、紐付情報として、「会社CD(会社コード)」(必須)、「事業所CD」(任意)および「部門CD」(任意)の最大3項目を採用している。また、必須項目である「会社CD」は、データ例の組織図(1)~(3)においてすべて指定されている。そして、組織図(1)および(2)においては、会社単位での組織のみ割り当てた場合であるため、「事業所CD」および「部門CD」はすべてを意味する予約語<ALL>が指定された状態となっている。更に、組織図(3)においては、会社単位+事業所単位での組織の割り当てを含むため、「部門CD」はすべてを意味する予約語<ALL>が指定された状態となっており、更に、会社3は「事業所CD」も割当不要であるためすべてを意味する予約語<ALL>が指定された状態となっている。なお、図4において、組織図番号は管理番号と同義であり、組織図名は管理名称と同義であり、組織レベルは階層レベルと同義であり、組織CDはノード識別コードと同義であり、組織名はノード名称と同義であり、上位組織レベルは上位階層レベルと同義であり、上位組織CDは上位ノード識別コードと同義である。
図4の階層化オブジェクト管理情報106aのデータ例で表される組織図(1)~(3)を、それぞれ、図5~図7に示す。
ここで、階層化オブジェクト管理情報106aは、階層構造における最上位層から最下位層までの各階層の対象についての情報を有するレコードを含んでいてもよい。レコードとは、図3に示す階層化オブジェクト管理情報106aの表における横一行の情報のことである。レコードは、図3に示すように、例えば、階層構造識別データ(管理番号)、管理名称、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)、ノード名称、上位階層識別データ(上位階層レベル)、上位対象識別データ(上位ノード識別コード)および下位構造区分等を含む。また、最下位層についての情報を有するレコードである最下位層レコード(図3において、階層レベルが1の3つのレコード)は、例えば、最下位層識別データ(紐付コード)を更に含む。
階層化オブジェクト展開情報106bは、詳細は後述するが、階層化オブジェクト管理情報106aにおける、最上位層の対象についての情報を有するレコードから最下位層より1つ上位層の対象についての情報を有するレコードまでを展開した情報である。階層化オブジェクト展開情報106bは、図12に示すように、例えば、階層構造識別データ(管理番号)、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)、上位階層識別データ(上位階層レベル)、上位対象識別データ(上位ノード識別コード)および最下位層識別データ(紐付コード)等を含む。
階層化オブジェクト抽出情報106cは、詳細は後述するが、階層化オブジェクト展開情報106bに含まれるレコードから、ユーザによって入力された階層レベルを含むレコードのみを抽出した情報である。階層化オブジェクト抽出情報106cは、図13に示すように、例えば、階層構造識別データ(管理番号)、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)、上位階層識別データ(上位階層レベル)、上位対象識別データ(上位ノード識別コード)および最下位層識別データ(紐付コード)等を含む。
集計対象データ106dは、集計対象となるデータである。集計対象データ106dは、図14に示すように、最下位層識別データ(紐付コード)と数値(集計対象値)とを含む。集計対象データ106dにおける横一行の情報を、明細という。このため、集計対象データ106dは、図14に示すように、更に、各明細ごとに、明細識別データ(明細ID)を含んでいてもよい。
集計結果データ106eは、集計対象データ106dを集計した結果を示すデータである。集計結果データ106eは、図15および図17に示すように、例えば、階層構造識別データ(管理番号)、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)および集計結果等を含む。
集計キー情報データ106fは、詳細は後述するが、抽出部102bが抽出した複数の明細の一覧を示すデータである。複数の明細は、図16に示すように、例えば、階層構造識別データ(管理番号)、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)、明細識別データ(明細ID)および集計対象値等を含む。
ユーザ情報は、ユーザを一意に識別するIDおよび名称を管理するための情報である。ユーザ情報は、図19の上表に示すように、例えば、ユーザ識別データ(ユーザIDまたはユーザ名)等を含む。
ユーザグループ情報は、ユーザをグルーピングする単位を管理するための情報である。ユーザグループ情報は、図19の下表に示すように、例えば、ユーザグループ識別データ(ユーザグループコードまたはユーザグループ名)等を含む。
ユーザグループ所属情報106gは、ユーザグループに所属するユーザを管理するための情報である。ユーザグループ所属情報106gは、図20に示すように、例えば、ユーザグループ識別データ(ユーザグループコード)およびユーザ識別データ(ユーザID)等を含む。ここで、ユーザグループ所属情報106gが、図20に示すように設定された場合に、各ユーザがどのユーザグループに所属するかを図21に示す。なお、図21に示すUserCやUserDのように、1人のユーザが、複数のユーザグループに所属すること、いわゆる兼任することも可能である。
権限設定情報106hは、階層化オブジェクトに対して、ユーザグループへの参照権限を保持する情報である。権限設定情報106hは、図22に示すように、例えば、階層構造識別データ(管理番号)、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)およびユーザグループ識別データ(ユーザグループコード)等を含む。なお、権限設定情報106hにおいては、1つのノード識別コードに対して複数のユーザグループコードを紐付けることも可能である。
ここで、権限設定情報106hが、図22に示すように設定された場合に、各ユーザグループがどの階層の組織の情報を参照できるかを図23に示す。図23に示すように、フル権限グループ(UserA)は、全社の情報を参照することができるため、全社の下位層である会社1~3の情報も参照することができる(上位の閲覧権限を持つ者は、自動的に下位のすべての閲覧権限を持つため)。一方で、グループ1権限グループ(UserBおよびUserC)は会社1の情報しか参照できず、グループ2権限グループ(UserCおよびUserD)は会社2の情報しか参照できず、グループ3権限グループ(UserD)は会社3の情報しか参照できない。なお、複数の権限グループに所属する者は、両方の会社の閲覧権限を持つ。
なお、本実施形態においては、そもそも権限(セキュリティ)設定を行うか否かを設定するために、階層化オブジェクトの権限設定を管理するかどうかの切り換え用のフラグを保持してもよい。フラグとしては、例えば、権限設定することを意味する「使用する」フラグおよび権限設定しないことを意味する「使用しない」フラグがあげられる。
ここで、本実施形態において、具体的にどのようなデータ設定をすれば、どのようなデータ参照権限管理を行うことができるかについて、図24~図30を用いて説明する。
まず、組織の階層構造は、階層化オブジェクト管理情報106aにより設定することができる。階層化オブジェクト管理情報106aが、図27に示すように設定された場合について説明する。図27のMA5で示すレコードで表される階層構造は、図24に示すように、全社の下にすべての会社が並ぶ仮想組織の階層構造となる。図27のMA6で示すレコードで表される階層構造は、図25に示すように、全社の階層、事業別中核会社の階層および各個社の階層からなる3階層の階層構造となる。図27のMA7で示すレコードで表される階層構造は、図26に示すように、エリア別営業部門の仮想組織の階層構造となる。
そして、階層構造における対象についての参照権限は、ユーザグループ所属情報106gおよび権限設定情報106hにより管理することができる。ユーザグループ所属情報106gが図29に示すように設定されて(各ユーザがどのグループに所属するかを図30に示す)、かつ、権限設定情報106hが図28に示すように設定された場合、各ユーザグループが参照できる情報の範囲は次段落に示すとおりとなる。なお、図28にMA8で示すレコードは、図24に示す全社の下にすべての会社が並ぶ仮想組織における対象の閲覧を管理するレコードであり、図28にMA9で示すレコードは、図25の全社の階層、事業別中核会社の階層および各個社の階層からなる3階層における対象の閲覧を管理するレコードであり、図29にMA10で示すレコードは、エリア別営業部門の仮想組織における対象の閲覧を管理するレコードである。
すなわち、図24に示すように、ユーザグループ「Full」に属するUserAは、全社の下位層である会社100~会社300すべての情報を参照できる。また、図24には示していないが、ユーザグループ「Company1」に属するUserBおよびUserCは、会社100の情報を参照でき、ユーザグループ「Company2」に属するUserCおよびUserDは、会社200の情報を参照でき、ユーザグループ「Company3」に属するUserDは、会社300の情報を参照できる。そして、図25に示すように、ユーザグループ「Full」に属するUserAは、全社の下位層である会社100~400すべての情報を参照でき、ユーザグループ「KougiGroup」に属するUserBは、工事事業グループの下位層である会社100および会社200の情報を参照でき、ユーザグループ「SeizouGroup」に属するUserDは、製造事業グループの下位層である会社300および会社400の情報を参照できる。図25にMA4で示すように、これら3つのグループは、参照が許可されている範囲により、見える対象の範囲が異なる。更に、図26に示すように、ユーザグループ「Full」に属するUserAは、全社の下位層である(会社100、東京本社、営業部)、(会社200、東京本社、営業部)、(会社100、大阪支社、営業部)および(会社200、大阪支社、営業部)のそれぞれの情報を参照でき、ユーザグループ「KantouGroup」に属するUserEは、関東グループの下位層である(会社100、東京本社、営業部)および(会社200、東京本社、営業部)の情報を参照でき、ユーザグループ「KansaiGroup」に属するUserDは、関西グループの下位層である(会社100、大阪支社、営業部)および(会社200、大阪支社、営業部)の情報を参照できる。なお、図24~図26において、いずれの許可もされていないユーザは、全てのデータにアクセス不可である(どの対象の情報も見ることができない)。
以上、図24~図30を用いて説明したように、本実施形態によれば、階層化オブジェクトの階層レベルに応じて、任意の場所に閲覧権限を設定でき、必要最低限の設定で柔軟な対応をすることが可能である。
権限抽出情報106iは、詳細は後述するが、ユーザによって入力された管理番号およびグループ識別データ取得部102d1で取得したユーザグループコードに基づいて、権限設定情報106hを参照して抽出した情報である。権限抽出情報106iは、図33に示すように、例えば、階層構造識別データ(管理番号)、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)およびユーザグループ識別データ(ユーザグループコード)等を含む。
階層化オブジェクトセキュリティ展開情報106jは、詳細は後述するが、権限抽出情報106iに基づいて、階層化オブジェクト管理情報106aを参照して取得した情報である。階層化オブジェクトセキュリティ展開情報106jは、図36に示すように、例えば、階層構造識別データ(管理番号)、階層識別データ(階層レベル)および対象識別データ(ノード識別コード)等を含む。
取引先特定項目設定情報106kは、自社の取引内容の使用項目(取引先コード、科目コードまたは事業所コード等)と特定したい相手情報の使用項目(事業所コードまたは部門コード等)の組合せを定義するための情報である。具体的には、図43に示すように、自社の取引内容の使用項目として、例えば、取引先コード、科目コード、事業所コード、部門コードおよび分析コードという5つの項目について、「使用する」または「使用しない」を設定することができる。また、図43に示すように、特定したい相手情報の使用項目として、例えば、相手事業所コード、相手部門コードおよび相手分析コードという3つの項目について、「使用する」または「使用しない」を設定することができる。
取引先特定パターン設定情報106lは、取引の相手を特定するための情報であり、言い換えると、取引先特定項目設定情報106kに従い、特定するパターン情報を定義するための情報である。図44に示す取引先特定パターン設定情報106lは、前段落で説明した取引先特定項目設定情報106kにおけるすべての項目について、「使用する」が設定された場合のデータ例である。取引先特定パターン設定情報106lは、図44に示すように、取引の主体である主体対象を識別するための最下位層識別データである主体最下位層識別データ(会社コード、事業所コード、部門コードまたは分析コード)と、取引の計上科目を識別するための科目識別データ(科目コード)と、主体対象の取引先を識別するための取引先識別データ(取引先コード)と、取引の相手である相手対象を識別するための最下位層識別データである相手最下位層識別データ(相手会社コード、相手事業所コード、相手部門コードまたは相手分析コード)と、を含む。取引先特定パターン設定情報106lは、図44に示すように、更に、判定順を含んでいてもよい。判定順の意義については後述する。
なお、取引先特定パターン設定情報106lにおいて、すべてを意味する予約語<ALL>の文字列は、これには限定されず、他の文字列であってもよく、また、自社属性コード(取引先コード、科目コード、事業所コード、部門コードまたは分析コード)が<ALL>で設定されている場合、同一の取引が複数の相手先属性情報(相手会社コード、相手事業所コード、相手部門コードまたは相手分析コード)と紐付けられる可能性があるため、判定順によって一意に定められるようにする。
ここで、図44に示す取引先特定パターン設定情報106lによって、どのような取引が定義されるのかについて、図45を用いて説明する。まず、図44の表における上から1~2行目のレコード(会社コードが100の2つのレコード)で定義される取引を、図45の(A)に示す。図45の(A)に示すように、会社100(会社コード)/Tokyo(事業所コード)/Eigyo(部門コード)/物販事業(分析コード)の仕入取引の相手は、会社300(相手会社コード)/Osaka(相手事業所コード)/Hanbai1(相手部門コード)/小売事業(相手分析コード)であり、会社100/Tokyo/Eigyo/物販事業の売上取引の相手は、会社200/Tokyo/Seizou1/製造事業である。次に、図44の表における上から5~6行目のレコード(会社コードが300の2つのレコード)で定義される取引を、図45の(B)に示す。図45の(B)に示すように、会社300/Osaka/Hanbai1/小売事業の売上取引の相手は、会社100/Tokyo/Eigyo/物販事業および会社200/Osaka/Seizou2/製造事業である。最後に、図44の表における上から3~4行目のレコード(会社コードが200の2つのレコード)で定義される取引を、図45の(C)に示す。図45の(C)に示すように、会社200のすべての事業所、部門、事業分野の仕入取引および売上取引の相手は、会社100/Tokyo/Eigyo/物販事業および会社300/Osaka/Hanbai1/小売事業である。なお、製造部門で発生する取引は、取引先ごとに事業所・部門・セグメントが一意に決まる。
集計対象元データ106mは、集計対象データ106nを作成する際の元となるデータである。集計対象元データ106mは、図46に示すように、主体最下位層識別データ(会社コード、事業所コード、部門コードまたは分析コード)と科目識別データ(科目コード)と取引先識別データ(取引先コード)とを含む。一方で、集計対象元データ106mは、相手最下位層識別データ(相手会社コード、相手事業所コード、相手部門コードまたは相手分析コード)を含まず、これらの項目については、図46に示すように、「未設定」となっている。集計対象元データ106mは、図46に示すように、更に、明細(明細とは、集計対象元データ106mの表における横一行の情報を意味する)の発生日(発生日)および数値(金額)等を含んでいてもよい。
集計対象データ106nは、集計対象となるデータである。集計対象データ106nは、図49に示すように、主体最下位層識別データ(会社コード、事業所コード、部門コードまたは分析コード)と相手最下位層識別データ(相手会社コード、相手事業所コード、相手部門コードまたは相手分析コード)とを含む。集計対象データ106nは、図49に示すように、更に、明細(明細とは、集計対象データ106nの表における横一行の情報を意味する)の発生日(発生日)、科目識別データ(科目コード)、取引先識別データ(取引先コード)および数値(金額)等を含んでいてもよい。
集計結果データ106oは、集計対象データ106nを集計した結果を示すデータである。集計結果データ106oは、図56に示すように、例えば、階層構造識別データ(管理番号)、階層識別データ(階層レベル)、対象識別データ(ノード識別コード)、科目識別データ(科目コード)、グループ間での取引額である外部取引額、グループ内での取引額である内部取引額および外部取引額と内部取引額の合計額である全体合計額等を含む。
変換項目設定情報106pは、各会社の取引内容の使用項目(取引先コード、科目コードまたは事業所コード等)と変換相手となる情報の使用項目(共通セグメントコード等)の組合せを定義するための情報である。具体的には、図67に示すように、各会社の取引内容の使用項目として、例えば、取引先コード、科目コード、事業所コードおよび部門コードおよび分析コードという5つの項目について、「使用する」または「使用しない」を設定することができる。また、図67に示すように、変換相手となる情報の使用項目として、例えば、共通セグメントコードという項目について、「使用する」または「使用しない」を設定することができる。
変換パターン設定情報106qは、変換元データおよび変換先データの組合せを特定するための情報であり、言い換えると、変換項目設定情報106pに従い、特定するパターン情報を定義するための情報である。図68に示す変換パターン設定情報106qは、前段落で説明した変換項目設定情報106pにおけるすべての項目について、「使用する」が設定された場合のデータ例である。変換パターン設定情報106qは、変換元データと変換先データとを含む。
変換元データは、複数のデータからなる。複数のデータは、計上科目を識別するための科目識別データ(科目コード)、ある会社における事業所を識別するための事業所識別データ(事業所コード)、ある会社における部門を識別するための部門識別データ(部門コード)およびある会社における事業内容を識別するための事業内容識別データ(分析コード)からなる群から選択される少なくとも2つのデータであることが好ましい。また、複数のデータは、少なくとも2つのデータと、ある会社を識別するための会社識別データ(会社コード)およびある会社の取引先を識別するための取引先識別データ(取引先コード)の少なくとも一方と、であることがより好ましい。図68に示す変換パターン設定情報106qは、変換元データとして、科目コード、事業所コード、部門コード、分析コード、会社コードおよび取引先コードの6項目すべてを含む例である。
変換先データは、例えば、ある対象同士が共通に保持しているデータであり、例えば、図68の上から1行目、2行目および5行目の対象は、すべて販売業務を行う対象であるため、「G_Hanbai」という変換先データ(共通セグメントコード)を有している。共通セグメントコードは、図68に示すように、1つだけ(共通セグメントコード1)用いてもよいし、2つ以上(共通セグメントコード2、3・・・)用いてもよい。
変換パターン設定情報106qは、図68に示すように、更に、抽出順指定データ(判定順)等を含んでいてもよい。抽出順指定データの意義については後述する。
なお、図68に示すように、すべてを意味する予約語<ALL>の文字列は、これには限定されず、他の文字列であってもよい。また、変換元個社属性部(取引先コード、科目コード、事業所コード、部門コードまたは分析コード)が<ALL>で設定されている場合、同一の取引が複数の変換先共通属性部(共通セグメントコード)と紐付けられる可能性があるため、判定順によって一意に定められるようにする。そして、会社コード以外の属性をすべて<ALL>で設定する行の判定順を最下位にすることで、上位の判定順で変換されない残りの変換対象データに対して、「その他」のような汎用的なコードを割り当てることが可能である。
変換対象データ106rは、変換対象となる変換元データを含むデータである。変換対象データ106rは、図69に示すように、変換元データ(科目コード、会社コード、取引先コード、事業所コード、部門コードまたは分析コード)を含む。変換対象データ106rが含む変換元データについての記載は、変換パターン設定情報106qの変換元データについての記載を援用できる。変換対象データ106rは、図69に示すように、更に、明細(明細とは、変換対象データ106rの表における横一行の情報を意味する)の発生日(発生日)および数値(金額)等を含んでいてもよい。
変換完了データ106sは、変換対象データ106rに含まれる変換元データの変換先データへの変換がすべて完了したデータである。変換完了データ106sは、図73に示すように、例えば、変換元データ(科目コード、会社コード、取引先コード、事業所コード、部門コードまたは分析コード)、変換先データ(共通セグメントコード)、明細(明細とは、変換完了データ106sの表における横一行の情報を意味する)の発生日(発生日)および数値(金額)等を含む。
制御部102は、情報処理装置100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
制御部102は、機能概念的に、例えば、(1)最下位層の対象と上位層の対象とが階層を成すことにより形成される階層構造を識別するための階層構造識別データと前記最下位層の対象を識別するための最下位層識別データとを含む対象管理データを参照して、入力された階層構造識別データと紐付く最下位層識別データを取得する取得手段としての取得部102aと、(2)前記対象管理データを参照して、入力された階層構造識別データを含むレコードを取得するレコード取得手段としてのレコード取得部102a1と、(3)前記レコード取得手段で取得したレコードから、前記最下位層レコードを取得する最下位層レコード取得手段としての最下位層レコード取得部102a2と、(4)前記最下位層レコード取得手段で取得した最下位層レコードに含まれる上位階層識別データおよび上位対象識別データと同じ階層識別データおよび対象識別データを含むレコードを、前記対象管理データを参照して取得し、当該取得したレコードに、前記最下位層レコード取得手段で取得した最下位層レコードに含まれる最下位層識別データを追加したレコードを作成するレコード作成手段としてのレコード作成部102a3と、(5)前記最下位層レコード取得手段で取得した最下位層レコードおよび前記レコード作成手段で作成したレコードを参照して、入力された階層識別データを含むレコードを取得することにより、当該レコードに含まれる最下位層識別データを取得する最下位層データ取得手段としての最下位層データ取得部102a4と、(6)最下位層識別データと数値とを含む集計対象データを参照して、前記取得手段で取得した最下位層識別データと紐付く数値を抽出する抽出手段としての抽出部102bと、(7)前記抽出手段で抽出した数値を集計する集計手段としての集計部102cと、(8)最下位層の対象と上位層の対象とが階層を成すことにより形成される階層構造を識別するための階層構造識別データと前記階層構造における各階層を識別するための階層識別データと前記対象を識別するための対象識別データとを含む対象管理データを参照して、入力された階層構造識別データと紐付く階層識別データおよび対象識別データを取得する第一取得手段としての第一取得部102dと、(9)ユーザグループ識別データとユーザ識別データとを含むユーザ管理データを参照して、入力されたユーザ識別データと紐付くユーザグループ識別データを取得するグループ識別データ取得手段としてのグループ識別データ取得部102d1と、(10)階層構造識別データと階層識別データと対象識別データとユーザグループ識別データとを含むグループ管理データを参照して、前記入力された階層構造識別データおよび前記グループ識別データ取得手段で取得したユーザグループ識別データと紐付く階層識別データおよび対象識別データを取得する階層識別データ等取得手段としての階層識別データ等取得部102d2と、(11)前記対象管理データを参照して、前記入力された階層構造識別データならびに前記階層識別データ等取得手段で取得した階層識別データおよび対象識別データを含むレコードを取得するレコード取得手段としてのレコード取得部102d3と、(12)前記レコード取得手段で取得したレコードに含まれる階層識別データおよび対象識別データと同じ上位階層識別データおよび上位対象識別データを含むレコードを、前記対象管理データを参照して取得し、更に、当該取得したレコードに含まれる階層識別データおよび対象識別データと同じ上位階層識別データおよび上位対象識別データを含むレコードを、前記対象管理データを参照して取得することを、前記最下位層レコードを取得することにより当該最下位層レコードに含まれる階層識別データおよび対象識別データを取得するまで繰り返す繰返手段としての繰返部102d4と、(13)階層構造識別データと階層識別データと対象識別データと前記最下位層の対象を識別するめの最下位層識別データとを含む対象展開データを参照して、前記入力された階層構造識別データならびに前記第一取得手段で取得した階層識別データおよび対象識別データと紐付く最下位層識別データを取得する第二取得手段としての第二取得部102eと、(14)前記対象管理データを参照して、入力された階層構造識別データを含むレコードを取得し、当該取得したレコードから、前記最下位層レコードを取得し、当該取得した最下位層レコードを前記対象展開データとすることにより、前記対象展開データを作成する展開データ作成手段としての展開データ作成部102fと、(15)前記第二取得手段で取得した最下位層識別データを含む最下位層レコードに含まれる上位階層識別データおよび上位対象識別データと同じ階層識別データおよび対象識別データを含むレコードを、前記対象管理データを参照して取得し、当該取得したレコードに、前記第二取得手段で取得した最下位層識別データを追加したレコードを作成するレコード作成手段としてのレコード作成部102gと、(16)前記第二取得手段で取得した最下位層識別データを含む最下位層レコードおよび前記レコード作成手段で作成したレコードを参照して、入力された階層識別データを含むレコードを取得することにより、当該レコードに含まれる最下位層識別データを取得する最下位層データ取得手段としての最下位層データ取得部102hと、(17)最下位層識別データと数値とを含む集計対象データを参照して、前記最下位層データ取得手段で取得した最下位層識別データと紐付く数値を抽出する抽出手段としての抽出部102iと、(18)前記抽出手段で抽出した数値を集計する集計手段としての集計部102jと、(19)最下位層の対象と上位層の対象とが階層を成すことにより形成される階層構造を識別するための階層構造識別データと前記階層構造における各階層を識別するための階層識別データと前記対象を識別するための対象識別データと前記最下位層の対象を識別するための最下位層識別データとを含む対象抽出データを参照して、取引の主体である主体対象を識別するための最下位層識別データである主体最下位層識別データと取引の相手である相手対象を識別するための最下位層識別データである相手最下位層識別データとを含む集計対象データに含まれる主体最下位層識別データと紐付く階層構造識別データ、階層識別データおよび対象識別データを取得する主体取得手段としての主体取得部102kと、(20)前記対象抽出データを参照して、前記集計対象データに含まれる相手最下位層識別データと紐付く階層構造識別データ、階層識別データおよび対象識別データを取得する相手取得手段としての相手取得部102lと、(21)前記主体取得手段で取得した階層構造識別データ、階層識別データおよび対象識別データと前記相手取得手段で取得した階層構造識別データ、階層識別データおよび対象識別データとが同じである場合、前記主体対象と前記相手対象との間での取引をグループ内部での内部取引であると判定する判定手段としての判定部102mと、(22)前記同じである場合に、前記集計対象データに含まれる主体最下位層識別データと紐付く数値を集計する集計手段としての集計部102nと、(23)主体最下位層識別データと前記取引の計上科目を識別するための科目識別データと前記主体対象の取引先を識別するための取引先識別データとを含む集計対象元データを参照して、主体最下位層識別データと科目識別データと取引先識別データと相手最下位層識別データとを含む取引パターン設定データに含まれる主体最下位層識別データ、科目識別データおよび取引先識別データと同じ主体最下位層識別データ、科目識別データおよび取引先識別データを抽出し、当該抽出した主体最下位層識別データ、科目識別データおよび取引先識別データと紐付く、前記取引パターン設定データに含まれる相手最下位層識別データを、前記集計対象元データに追加することにより、前記集計対象データを作成する集計対象作成手段としての集計対象作成部102oと、(24)前記対象管理データを参照して、入力された階層構造識別データを含むレコードを取得し、当該取得したレコードから、前記最下位層レコードを取得し、当該取得した最下位層レコードに含まれる上位階層識別データおよび上位対象識別データと同じ階層識別データおよび対象識別データを含むレコードを、前記対象管理データを参照して取得し、当該取得したレコードに、前記取得した最下位層レコードに含まれる最下位層識別データを追加したレコードを作成し、前記取得した最下位層レコードおよび前記作成したレコードを参照して、入力された階層識別データを含むレコードを取得し、当該取得したレコードを前記対象抽出データとすることにより、前記対象抽出データを作成する対象抽出作成手段としての対象抽出作成部102pと、(25)複数のデータからなる変換元データを含む変換対象データを参照して、変換元データと変換先データとを含む変換パターン設定データに含まれる変換元データと同じ変換元データの抽出を行う抽出手段としての抽出部102qと、(26)前記抽出手段で抽出した変換元データを、当該変換元データと紐付く前記変換パターン設定データに含まれる変換先データに変換する変換手段としての変換部102rと、を備えている。なお、各部が実行する処理の詳細については、以下の[3.処理の具体例]で説明する。
[3.処理の具体例]
以下、本実施形態に係る処理の具体例について説明する。なお、本実施形態に係る処理を大別すると、データ集計処理、データ参照権限管理処理、内部取引判定処理、データ変換処理およびこれら以外の処理、の5つの処理に分かれるため、以下、この順で項目立てて説明する。
[3-1.データ集計処理]
まず、データ集計処理について、主に図8~図17を用いて詳細に説明する。データ集計処理を大別すると、取得処理、抽出処理および集計処理の3つの処理に分かれるため、以下、この順で項目立てて説明する。
(1)取得処理
取得部102aは、管理番号と紐付コードとを含む階層化オブジェクト管理情報106aを参照して、入力された管理番号と紐付く紐付コードを取得する。具体的な処理は、以下の(1-1)~(1-4)に示すとおりである。
(1-1)レコード取得処理
レコード取得部102a1は、階層化オブジェクト管理情報106aを参照して、入力された管理番号を含むレコードを取得する。すなわち、入力された管理番号を元に、階層化オブジェクト管理情報106aを照会する。
具体的には、図8に示すように、レコード取得の条件として、組織図(3)が入力されたとする。この場合、レコード取得部102a1は、様々な管理番号を有するレコードを含む階層化オブジェクト管理情報106aの中から、図9に示すように、組織図(3)を含むレコードのみを取得する。なお、図9において太枠で囲んで示す部分は、入力された組織図(3)に基づき特定されるデータである。
続いて、以下の(1-2)~(1-4)に示すように、階層化オブジェクト管理情報106aから抽出されたレコードについて、階層レベルが大きい(階層が深い)ものから順に、階層化オブジェクト展開情報106bを作成する。
(1-2)最下位層レコード取得処理
最下位層レコード取得部102a2は、レコード取得部102a1で取得したレコードから、最下位層レコードを取得する。
具体的には、最下位層レコード取得部102a2は、図10に示すように、レコード取得部102a1が取得したレコードの中から、階層レベル2を含む4つのレコード(すなわち、最下位層レコード)を取得し、階層化オブジェクト展開情報106bに格納する。
ここまでで、図10に示すように、階層レベル2を有するレコードを含む階層化オブジェクト展開情報106bの作成が終了したこととなる。
(1-3)レコード作成処理
レコード作成部102a3は、最下位層レコード取得部102a2で取得した最下位層レコードに含まれる上位階層レベルおよび上位ノード識別コードと同じ階層レベルおよびノード識別コードを含むレコードを、階層化オブジェクト管理情報106aを参照して取得し、当該取得したレコードに、最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付コードを追加したレコードを作成する。
すなわち、末端層(最下位層)から上の階層については、階層化オブジェクト管理情報106aと、(1-2)で作成された階層化オブジェクト展開情報106bとから、上位の階層化オブジェクト展開情報106bを作成する。
具体的に、最下位層レコード取得部102a2で取得した4つの最下位層レコードのうち、上位階層レベル1および上位ノード識別コード11000を含む2つのレコードについて説明する。上位階層レベル1および上位ノード識別コード11000と同じ階層レベルおよびノード識別コードを含むレコードは、図11の階層化オブジェクト管理情報106aにおける上から2行目のレコード(太枠で囲んで示す)であるため、レコード作成部102a3は、このレコードをまず取得する。次に、レコード作成部102a3は、当該取得したレコードに最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付コード(1、001、ALL)を追加したレコードおよび当該取得したレコードに最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付けコード(1、ALL、A)を追加したレコードを作成する。そして、当該作成された2つのレコードは、階層化オブジェクト展開情報106bに格納される。
最下位層レコード取得部102a2で取得した4つの最下位層レコードのうち、上位階層レベル1および上位ノード識別コード12000を含む2つのレコードについても、前段落と同様の処理を行うことにより、図11の階層化オブジェクト管理情報106aにおける上から5行目のレコード(太枠で囲んで示す)を取得し、当該取得したレコードに紐付コード(2、001、ALL)を追加したレコードおよび当該取得したレコードに紐付コード(3、ALL、ALL)を追加したレコードを作成する。そして、当該作成された2つのレコードは、階層化オブジェクト展開情報106bに格納される。
このようにして、前々段落および前段落で作成されて階層化オブジェクト展開情報106bに格納された4つのレコードを、図11にMA1で示す。図11にMA1で示すように、階層レベル1の展開情報には、下位(末端)に含まれる階層レベル2の紐付情報がすべて展開された状態となる。
ここまでで、図11に示すように、階層レベル2を有するレコードおよび階層レベル1を有するレコードを含む階層化オブジェクト展開情報106bの作成が終了したこととなる。
ここで、階層化オブジェクト管理情報106aが、階層レベル0と1のみを含む場合(すなわち、階層が2層の場合)は、レコード作成部102a3が行う処理はこれで終了となるが、本例のように、階層レベル2以上を含む場合(すなわち、階層が3層以上の場合)は、レコード作成部102a3は以下の処理を続けて行う。
すなわち、レコード作成部102a3は、レコード作成部102a3で作成したレコードに含まれる上位階層レベルおよび上位ノード識別コードと同じ階層レベルおよびノード識別コードを含むレコードを、階層化オブジェクト管理情報106aを参照して取得し、当該取得したレコードに、最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付コードを追加したレコードを作成することを、最上位層の対象についての情報を有するレコードに最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付コードを追加するまで繰り返す。
具体的に、レコード作成部102a3で作成した4つのレコード(図11にMA1で示す)における上位階層レベル0および上位ノード識別コード10000と同じ階層レベルおよびノード識別コードを含むレコードは、図12の階層化オブジェクト管理情報106aにおける上から1行目のレコード(太枠で囲んで示す)である。このため、レコード作成部102a3は、このレコードをまず取得する。次に、レコード作成部102a3は、当該取得したレコードに最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付コード(1、001、ALL)を追加したレコード、当該取得したレコードに最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付コード(1、ALL、A)を追加したレコード、当該取得したレコードに最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付コード(2、001、ALL)を追加したレコードおよび当該取得したレコードに最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付コード(3、ALL、ALL)を追加したレコードを作成する。そして、当該作成された4つのレコードは、階層化オブジェクト展開情報106bに格納される。
このようにして、前段落で作成されて階層化オブジェクト展開情報106bに格納された4つのレコードを、図12にMA2で示す。図12に示すように、階層レベル1の展開情報には、下位(末端)に含まれる階層レベル2の紐付情報がすべて展開された状態となり、階層レベル0の展開情報には、下位(末端)に含まれる階層レベル1~2の紐付情報がすべて展開された状態となる。
ここまでで、図11に示すように、階層レベル2を有するレコード、階層レベル1を有するレコードおよび階層レベル0を有するレコードを含む階層化オブジェクト展開情報106bの作成が終了、すなわち、階層化オブジェクト展開情報106bが完成したこととなる。
なお、レコード作成部102a3は、本例では示していないが、更に上位の階層が存在する場合には、本項目(1-3)で説明した処理を、最上位層の対象についての情報を有するレコード(すなわち、階層レベル0のレコード)に最下位層レコード取得部102a2で取得した最下位層レコードに含まれる紐付データを追加するまで繰り返してもよい。
(1-4)最下位層データ取得処理
最下位層データ取得部102a4は、最下位層レコード取得部102a2で取得した最下位層レコードおよびレコード作成部102a3で作成したレコードを参照して、入力された階層レベルを含むレコードを取得することにより、当該レコードに含まれる紐付コードを取得する。
具体的には、図8に示すように、レコード取得の条件として、階層レベル1が入力されたとする。この場合、最下位層データ取得部102a4は、図13に示す階層化オブジェクト展開情報106bを参照して、階層レベル1を含むレコード、すなわち、図13にMA3で示す4つのレコードを取得することにより、当該レコードに含まれる4組の紐付コード(1、001、ALL)、(1、ALL、A)、(2、001、ALL)および(3、ALL、ALL)を取得する。最下位層データ取得部102a4は、図13に示すように、当該取得した4つのレコードを、階層化オブジェクト抽出情報106cに格納してもよい。なお、図8に示すように、レコード取得の条件としては、ノード識別コードが入力されてもよいが(ノード識別コードの範囲指定有無は任意)、入力されない場合には、すべてのノード識別コードが最下位層データ取得部102a4の取得の対象となる。
以上のようにして、取得部102aは、入力された組織図(3)と紐付く紐付コードとして、図13の階層化オブジェクト抽出情報106cに示す4組の紐付コード(1、001、ALL)、(1、ALL、A)、(2、001、ALL)および(3、ALL、ALL)を取得することができる。
(2)抽出処理
抽出部102bは、紐付コードと集計対象値とを含む集計対象データ106dを参照して、取得部102aで取得した紐付コードと紐付く集計対象値を抽出する。
すなわち、抽出部102bは、階層化オブジェクト抽出情報106cの紐付コードを元に、集計対象データ106dをマッチング検索する。集計対象データ106dとマッチングする際の条件として、以下の1~4の手順で評価を行う。
1.紐付コード1の判定については、紐付コード1が必須項目の場合は、集計対象データ106dの紐付コード1=階層化オブジェクト抽出情報106cの紐付コード1というマッチングを検索し、紐付コード1が任意項目の場合は、階層化オブジェクト抽出情報106cの紐付コード1=予約語<ALL>となるか、または、集計対象データ106dの紐付コード1=階層化オブジェクト抽出情報106cの紐付コード1というマッチングを検索する。
2.紐付コード2の判定については、紐付コード2が必須項目の場合は、集計対象データ106dの紐付コード2=階層化オブジェクト抽出情報106cの紐付コード2というマッチングを検索し、紐付コード2が任意項目の場合は、階層化オブジェクト抽出情報106cの紐付コード2=予約語<ALL>となるか、または、集計対象データ106dの紐付コード2=階層化オブジェクト抽出情報106cの紐付コード2というマッチングを検索する。
3.紐付コード3の判定については、紐付コード3が必須項目の場合は、集計対象データ106dの紐付コード3=階層化オブジェクト抽出情報106cの紐付コード3というマッチングを検索し、紐付コード3が任意項目の場合は、階層化オブジェクト抽出情報106cの紐付コード3=予約語<ALL>となるか、または、集計対象データ106dの紐付コード3=階層化オブジェクト抽出情報106cの紐付コード3というマッチングを検索する。
4.そして、以下、システムが使用する紐付コードの数だけ評価を実行(すなわち、紐付コード4以降が存在する場合には、紐付コード1~3と同様の処理を実行)する。
具体的には、図14の集計対象データ106dに示すように、条件(1)の紐付コード(1、001、ALL)を含む明細は、明細ID=1の明細(集計対象値=1,000)である。同様に、条件(2)の紐付コード(1、ALL、A)を含む明細は、明細ID=1の明細(集計対象値=1,000)および明細ID=4の明細(集計対象値=4,000)である。なお、<ALL>は、どの情報が入ってもよいことを意味する。同様に、条件(3)の紐付コード(2、001、ALL)を含む明細は、明細ID=2の明細(集計対象値=2,000)である。同様に、条件(4)の紐付コード(3、ALL、ALL)を含む明細は、明細ID=3の明細(集計対象値=3,000)、明細ID=6の明細(集計対象値=6,000)、明細ID=9の明細(集計対象値=9,000)および明細ID=12の明細(集計対象値=12,000)である。このようにして、抽出部102bは、合計8個の集計対象値(1,000、1,000、4,000、2,000、3,000、6,000、9,000および12,000)を抽出することができる。
ここで、検索される集計対象が複数の紐付条件に合致する場合には、同一の行(同一の明細)が複数カウント(ダブルカウント)されることに対する考慮が必要となる(明細ID=1の明細が該当)。明細IDは、集計対象データ106dの行(明細)を一意に特定可能なキー情報とし、単一項目または複合項目の組合せのいずれも可能であるが、本例においては、単一項目の例を記載している。
(3)集計処理
集計部102cは、抽出部102bで抽出した集計対象値を集計する。
具体的には、集計部102cは、抽出部102bで抽出した8つの集計対象値を単純合計して、1,000+1,000+4,000+2,000+3,000+6,000+9,000+12,000=38,000という集計を行ってもよいが、以下のようにして、階層単位での集計およびダブルカウントを除去した集計を行うことが好ましい。
ここで、階層単位での集計およびダブルカウントを除去した集計を行う際に必要である集計キー情報データ106fの内容について説明する。集計キー情報データ106fは、図16に示すように、例えば、抽出部102bで抽出した集計対象値と、最下位層データ取得部102a4で取得した4つのレコードに含まれる管理番号、階層レベルおよびノード識別コードの組合せと、明細IDと、を含む明細を複数含む。
(3-1)階層単位での集計
まず、階層単位での集計について説明する。集計部102cは、図16の左側に示すように、抽出部102bで抽出した集計対象値と、取得部102a4で取得した4つのレコードに含まれる管理番号、階層レベルおよびノード識別コードの組合せと、を含む明細を複数含む集計キー情報データ106fを参照して、前記組合せが同じである明細を特定し、当該特定した明細に含まれる数値を集計する。
具体的には、図16の左側に示すように、集計キー情報データ106fの上から1~3行目の明細は、すべて、組織図(3)、階層レベル1およびノード識別コード11000という組合せを含む。このため、集計部102cは、当該1~3行目の明細を、前記組合せが同じである明細として特定し、当該特定した1~3行目の明細に含まれる数値を、1,000+1,000+4,000=6,000と集計する。一方で、図16の左側に示すように、集計キー情報データ106fの上から4~8行目の明細は、すべて、組織図(3)、階層レベル1およびノード識別コード12000という組合せを含む。このため、集計部102cは、当該4~8行目の明細に含まれる数値を、2,000+3,000+6,000+9,000+12,000=32,000と集計する。集計結果を、図15の集計結果データ106eに示す。
このように、本実施形態においては、階層レベル1という階層単位で、集計対象値の集計を行った。すなわち、図9の階層化オブジェクト管理情報106aに示す「関東エリアに属する会社1:東京本社および会社1:関東営業部」についての集計結果が6,000であり、「関西エリアに属する会社2:大阪支社および会社3」についての集計結果が32,000であるという集計を行った(地域単位での集計)。しかしながら、ユーザによって、階層レベル0または階層レベル2が入力された場合においては、以下のような集計を行うことができる。すなわち、階層レベル0が入力された場合には、これまでの説明と同様の方法により、図9の階層化オブジェクト管理情報106aに示す「全社」についての集計結果が38,000となる(全社単位での集計)。また、階層レベル2が入力された場合には、これまでの説明と同様の方法により、図9の階層化オブジェクト管理情報106aに示す「会社1:東京本社」についての集計結果が1,000となり、「会社1:関東営業部」についての集計結果が1,000+4,000=5,000となり、「会社2:大阪支社」についての集計結果が2,000となり、「会社3」についての集計結果が3,000+6,000+9,000+12,000=30,000となる(末端単位での集計)。このように、本実施形態に係る情報処理装置100によれば、ユーザが入力する階層によって、異なる階層単位(全社単位か、地域単位か、末端単位か)での集計を行うことができる。
ここで、本項目で説明した集計方法では、図16の左側に示す集計キー情報データ106fの上から1~2行目の明細(ともに、明細ID=1)が、重複してカウント(いわゆるダブルカウント)されていることとなる。このようなダブルカウントを除去する必要がないのは、紐付設定のパターン上、集計対象が複数の紐付設定に該当することが発生しない場合や、紐付設定のパターン上、集計対象が複数の紐付設定に該当することが発生し得るが、ダブルカウントされても問題とならないまたはダブルカントするべきと判断される場合等である。
しかしながら、紐付設定のパターン上、集計対象が複数の紐付設定に該当することが発生し得て、ダブルカウントするべきではないと判断される場合もある。この場合、紐付設定に合致する明細の一意なキー情報(明細ID)を特定し、重複行を除去してから集計を行う、すなわち、以下の(3-2)に示すように、ダブルカウントを除去した集計を行うことが好ましい。
(3-2)ダブルカウントを除去した集計
次に、ダブルカウントを除去した集計について説明する。集計部102cは、抽出部102bで抽出した集計対象値と、明細IDと、を含む明細を複数含む集計キーデータ106fに、明細IDが同じ明細が存在する場合、当該明細のうち1つの明細のみを残して他の明細は削除することにより集計キーデータ106fを更新し、当該更新した集計キーデータ106fに含まれる明細に含まれる数値を集計する。
具体的には、図16の左側に示すように、集計キー情報データ106fの上から1~2行目の明細に含まれる明細IDはともに1であるため、集計部102cは、当該2行目の明細を削除することにより(当該2行目の明細ではなく当該1行目の明細を削除してもよい)、集計キーデータ106fを更新する。更新した集計キーデータ106fを、図16の右側に示す。そして、集計部102cは、当該更新した集計キーデータ106fに含まれる明細(図16の右側に示す7つの明細)に含まれる数値を集計することにより、1,000+4,000+2,000+3,000+6,000+9,000+12,000=3,7000と集計する。
なお、集計部102cは、ダブルカウントの除去と併せて、(3-1)で説明した階層単位での集計を行ってもよく、この場合の集計結果を、図17の集計結果データ106eに示す。
以上説明したように、本実施形態に係る情報処理装置100によれば、対象同士が階層構造を有する場合においても、対象についての数値を効率よく集計できる。
また、本実施形態に係る情報処理装置100によれば、紐付コードの内容および項目数を自由に設定できるため、柔軟な集計をすることができる。本実施形態においては、3つの紐付コードを元にした集計について説明したが、これ以外の集計、例えば、会社コードのみを考慮した集計、会社コードと部門コードとを考慮した集計およびセグメントコードのみを考慮した集計等も行うことができる。
〔3-2.データ参照権限管理〕
次に、データ参照権限管理処理について、主に図31~図37を用いて詳細に説明する。データ参照権限管理処理を大別すると、第一取得処理および第二取得処理の2つの処理に分かれるため、以下、この順で項目立てて説明する。本項目〔3-2〕においては、UserBが、図25に示す階層構造のうち、工事事業グループに属する会社100および会社200の情報しか参照できない(すなわち、製造事業グループに属する会社300および会社400の情報は参照できない)というデータ参照権限管理がどのように実現できるかについて説明する。
なお、本項目で行われる処理は、[3-1]の(1-2)の事前処理となる。
また、前述のとおり、階層化オブジェクトの権限設定が「使用しない」である場合は、本項目での処理は行われない。すなわち、[3-1]の(1-2)で説明した、抽出される階層化オブジェクト展開情報106bに対してセキュリティの絞り込みは実施されない。
(1)第一取得処理
第一取得部102dは、管理番号と階層レベルとノード識別コードとを含む階層化オブジェクト管理情報106aを参照して、入力された管理番号と紐付く階層レベルおよびノード識別コードを取得する。具体的な処理は、以下の(1-1)~(1-4)に示すとおりである。
(1-1)グループ識別データ取得処理
グループ識別データ取得部102d1は、ユーザグループコードとユーザIDとを含むユーザグループ所属情報106gを参照して、入力されたユーザIDと紐付くユーザグループコードを取得する。すなわち、入力されたユーザIDを元に、ユーザグループ所属情報106gを照会する。
具体的には、図31に示すように、ユーザIDとして、UserBが入力されたとする。この場合、グループ識別データ取得部102d1は、UserBと紐付くユーザグループコードとして、図32に、MA11およびMA12でそれぞれ示すように、Company1およびKoujiGroupを取得する。
(1-2)階層識別データ等取得処理
階層識別データ等取得部102d2は、管理番号と階層レベルとノード識別コードとユーザグループコードとを含む権限設定情報106hを参照して、入力された管理番号およびグループ識別データ取得部102d1で取得したユーザグループコードと紐付く階層レベルおよびノード識別コードを取得する。すなわち、入力された管理番号と(1-1)で抽出されたユーザグループコードを元に、権限設定情報106hを照会する。
具体的には、図31に示すように、管理番号として、組織図(2)が入力されたとする。また、グループ識別データ取得部102d1で取得したユーザグループコードは、前述のとおり、Company1およびKoujiGroupである。この場合、階層識別データ等取得部102d2は、組織図(2)およびKoujiGroupと紐付く階層レベルおよびノード識別コードとして、図33にMA13で示すように、1および21000を取得する。
階層識別データ等取得部102d2は、当該取得した階層レベル1と当該取得したノード識別コード21000と入力された組織図(2)とグループ識別データ取得部102d1で取得したグループコードKoujiGroupとを含む権限抽出情報106iを、図33に示すように作成してもよい。なお、1人のユーザが複数のユーザグループに所属し、権限を持つ場合は、権限抽出情報106iは複数行となる可能性がある。
(1-3)レコード取得処理
レコード取得部102d3は、管理番号と階層レベルとノード識別コードとを含む階層化オブジェクト管理情報106aを参照して、入力された管理番号ならびに階層識別データ等取得部102d2で取得した階層レベルおよびノード識別コードを含むレコードを取得する。すなわち、レコード取得部102d3は、権限抽出情報106iの管理番号、階層レベル、ノード識別コードを元に、階層化オブジェクト管理情報106aを照会する。
具体的には、入力された管理番号は、前述のとおり、組織図(2)である。また、階層識別データ等取得部102d2で取得した階層レベルおよびノード識別コードは、前述のとおり、1および21000である。この場合、レコード取得部102d3は、組織図(2)ならびに1および21000を含むレコードとして、図34に太枠で囲んだ情報を含むレコードを取得する。
(1-4)繰返処理
繰返部102d4は、レコード取得部102d3で取得したレコードに含まれる階層レベルおよびノード識別コードと同じ上位階層レベルおよび上位ノード識別コードを含むレコードを、階層化オブジェクト管理情報106aを参照して取得し、更に、当該取得したレコードに含まれる階層レベルおよびノード識別コードと同じ上位階層レベルおよび上位ノード識別コードを含むレコードを、階層化オブジェクト管理情報106aを参照して取得することを、最下位層レコードを取得することにより当該最下位層レコードに含まれる階層レベルおよびノード識別コードを取得するまで繰り返す。すなわち、繰返部102d4は、該当するノードの下位構造区分が<下位構造あり>の場合、自身のノードを上位階層レベルおよび上位ノード識別コードとする下位のノード一覧を取得し、当処理を再起呼び出しする。そして、該当するノードの下位構造区分が<下位構造なし>の場合、自身のノードを階層化オブジェクトセキュリティ展開情報106jとして保持する。
具体的には、レコード取得部102d3で取得したレコードに含まれる階層レベルおよびノード識別コードは、前述のとおり、それぞれ、1および21000である。この場合、繰返部102d4は、1および21000と同じ上位階層レベルおよび上位ノード識別コードを含むレコードとして、図35に太枠で囲んだ情報を含む2行のレコードを取得する。更に、繰返部102d4は、同様の処理を繰り返して、更に下位層のレコードを取得してもよいが、本例においては、当該取得した2行のレコードは、最も下位の階層レベル2を含む最下位層レコードであるため、ここで処理を終了する。
繰返部102d4は、入力された組織図(2)と当該取得した階層レベル2と当該取得したノード識別コード21100および21200を含む階層化オブジェクトセキュリティ展開情報106jを、図36に示すように作成してもよい。なお、階層化オブジェクトセキュリティ展開情報106jにおいては、上位と下位の両方に権限設定されている場合に検出される行が重複する可能性があるため、この場合は、重複行を除去した状態にする。
以上のように、第一取得部102dは、図36に示すように、「階層レベル2およびノード識別コード21100」ならびに「階層レベル2およびノード識別コード21200」を取得することができる。
(2)第二取得処理
第二取得部102eは、管理番号と階層レベルとノード識別コードと紐付コードとを含む階層化オブジェクト展開情報106bを参照して、入力された管理番号ならびに第一取得部102dで取得した階層レベルおよびノード識別コードと紐付く紐付コードを取得する。すなわち、第二取得部102eは、階層化オブジェクトセキュリティ展開情報106jによって、階層化オブジェクト展開情報106bの階層化レベルが末端の情報に対して絞り込みを行い、参照可能データのみ展開データとする。
具体的には、入力された管理番号は、前述のとおり、組織図(2)である。また、第一取得部102dで取得した階層レベルおよびノード識別コードは、前述のとおり、「2および21100」と「2および21200」である。この場合、第二取得部102eは、組織図(2)、2および21100と紐付く紐付コードとして、図37の階層化オブジェクト展開情報106bにおける(100、ALL、ALL)を取得する。また、第二取得部102eは、組織図(2)、2および21200と紐付く紐付コードとして、図37の階層化オブジェクト展開情報106bにおける(200、ALL、ALL)を取得する。このようにして、元々の階層化オブジェクト展開情報106bから、階層化オブジェクトセキュリティ展開情報106jに合致するデータのみに絞り込みを行う。
なお、第二取得部102eが参照する階層化オブジェクト展開情報106bは、階層レベル2~0のレコードを含む階層化オブジェクト展開情報106bではなく、階層レベル2のレコードのみを含む階層化オブジェクト展開情報106bである。階層レベル2のレコードのみを含む階層化オブジェクト展開情報106bは、展開データ作成部102fにより作成することができ、具体的な作成方法は、[3-1]のレコード取得部102a1および最下位層レコード取得部102a2が行う処理と同様であるため、説明を省略する。
以上のように、UserBは、図25に示す階層構造のうち、工事事業グループに属する会社100の紐付コード(100、ALL、ALL)および会社200の紐付コード(200、ALL、ALL)のみを参照することができる。
このように、本実施形態に係る情報処理装置100によれば、ユーザが参照できる対象の情報の範囲を制限できる。
また、本実施形態に係る情報処理装置100によれば、例えば、ユーザが参照できる階層の位置および階層の個数を柔軟に設定することができる。
階層の位置の設定とは、例えば、図25の組織図(2)の例でいえば、ユーザが参照できる範囲を、全社の層に設定するのか(すなわち、会社100~400すべての情報を参照できる)、中核会社の層に設定するのか(工事事業グループまたは製造事業グループの情報を参照できる)、または、個社の層に設定するのか(会社100~400のどれか1つの情報を参照できる)という設定のことである。
階層の個数の設定とは、例えば、図25の組織図(2)の例の中核会社の層でいえば、工事事業グループおよび製造事業グループのどちらか一方の情報だけ参照できるようにするのか(すなわち、参照できる階層はどちらか1つ)、または、工事事業グループと製造事業グループの両方の情報を参照できるようにするのか(すなわち、参照できる階層は2つ)という設定のことである。両方のグループを参照できることにより、例えば、工事事業と製造事業の両方を兼任する立場にある者(兼任者)に対して、効率のよい参照権限設定を行うことができる。
更に続けて、レコード作成部102gおよび最下位層データ取得部102hは、図37の階層化オブジェクト展開情報106bにおける、太枠で囲まれている上2行のレコードのみを元にして、階層レベル2→1→0と最後まで展開済の階層化オブジェクト展開情報を作成してもよい。具体的な作成方法は、[3-1]のレコード作成部102a3および最下位層データ取得部102a4が行う処理と同様であるため、説明を省略する。なお、図37の階層化オブジェクト展開情報106bにおける、太枠で囲まれていない下2行のレコードについては展開されない。すなわち、UserBが参照権限を持つ上2行のレコードについてのみ展開情報が作成され、一方で、UserBが参照権限を持たない下2行のレコードについては、展開情報が作成されないということになる。
また、更に続けて、抽出部102iは、最後まで展開済の階層化オブジェクト展開情報を元にして、集計対象データを参照して数値の抽出を行ってもよく、更に、集計部102jは、当該抽出した数値の集計を行ってもよい。具体的な処理方法は、[3-1]の抽出部102bおよび集計部102cが行う処理と同様であるため、説明を省略する。
なお、本項目〔3-2〕においては、分析軸が1つ(仮想組織)の場合について説明したが、階層化オブジェクトの複数の組合せ(例えば、仮想組織と仮想セグメントの組合せ)による多軸分析を行いたい場合には、個々の階層化オブジェクト(仮想組織、仮想セグメント)ごとに、本項目〔3-2〕の処理を行い、参照データ範囲を絞り込むことができる。
以上、本項目〔3-2〕のポイントをまとめると、以下1~4に示すとおりである。
1.階層化オブジェクトの管理番号/階層レベル/ノード識別コードに対して権限設定をすることで、閲覧可能なデータ範囲を柔軟に設定できる。
2.1人のユーザが複数のユーザグループに所属できることで、兼任時の設定が容易になる。
3.処理の手順を以下のa~cの流れで行うことで、参照権限を持つ下位ノードにつき、集計される上位ノードをすべて求めることが可能となる。
a.権限設定された階層レベル、ノード識別コードに所属するすべての末端のノードを列挙する。
b.列挙された階層レベル、ノード識別コードのみから、上位の階層化オブジェクト展開データを展開する。
c.階層化オブジェクト展開データに合致する紐付情報を集計する。
4.複数の分析軸を持つ場合も、簡単に拡張することができる。
〔3-3.内部取引判定処理〕
次に、内部取引判定処理について、主に図46~図66を用いて詳細に説明する。本項目〔3-3〕においては、以下の流れを項目立てて説明する。まず、集計対象データ106nの作成手順について、主に図46~49を用いて説明する。次に、仮想組織についての内部取引判定処理について、主に図50~図56を用いて説明する。そして、仮想セグメントについての内部取引判定処理について、主に図57~図62を用いて説明する。最後に、仮想組織と仮想セグメントの2軸を用いた内部取引判定処理について、図63~図64を用いて説明する。なお、本項目〔3-3〕で行う処理は、[3-1]の(2)を更に細分化した処理である。
(1)集計対象データの作成
集計対象データ106nは、集計対象データ106nにおける相手先属性情報が未設定に初期化された集計対象元データ106mを元にして作成される。
集計対象作成部102oは、集計対象元データ106mを参照して、取引先特定パターン設定情報106lに含まれる主体最下位層識別データ、科目コードおよび取引先コードと同じ主体最下位層識別データ、科目コードおよび取引先コードを抽出し、当該抽出した主体最下位層識別データ、科目コードおよび取引先コードと紐付く、取引先特定パターン設定情報106lに含まれる相手最下位層識別データを、集計対象元データ106mに追加することにより、集計対象データ106nを作成する。
すなわち、集計対象作成部102oは、取引先特定項目設定情報106kと取引先特定パターン設定情報106lを元に集計対象データを抽出し、特定された相手先情報を更新する。この際、処理順は、会社別に判定順昇順で行うことが好ましい。また、集計対象元データ106mとマッチングする際の条件として、以下の1~3の手順で評価を行う。なお、以下の説明において、自社属性とは、取引先コード、科目コード、事業所コード、部門コードまたは分析コードを指す。
1.自社属性1の判定については、自社属性1が必須項目の場合は、集計対象元データ106mの自社属性1=取引先特定パターン設定情報106lの自社属性1というマッチングを検索し、自社属性1が任意項目の場合は、取引先特定パターン設定情報106lの自社属性1=予約語<ALL>となるか、または、集計対象元データ106mの自社属性1=取引先特定パターン設定情報106lの自社属性1というマッチング検索をする。
2.自社属性2の判定については、自社属性2が必須項目の場合は、集計対象元データ106mの自社属性2=取引先特定パターン設定情報106lの自社属性2というマッチングを検索し、自社属性2が任意項目の場合は、取引先特定パターン設定情報106lの自社属性2=予約語<ALL>となるか、または、集計対象元データ106mの自社属性2=取引先特定パターン設定情報106lの自社属性2というマッチング検索をする。
3.そして、以下、システムが使用する自社属性の数だけ評価を実行(すなわち、自社属性3以降が存在する場合には、自社属性1~2と同様の処理を実行)する。
具体的に、取引先特定パターン設定情報106lの内容が図44に示すとおりであり、集計対象元データ106mの内容が図46に示すとおりである場合に、集計対象作成部102oが、どのように集計対象データ106nを作成するか説明する。
まず、集計対象作成部102oは、図44に示す取引先特定パターン設定情報106lにおいて、会社コード100を含む2つのレコードの中で、判定順が最も若いレコード(上から1行目のレコード)から順に、以下の抽出処理および追加処理を行う。
(抽出処理)
抽出処理について説明する。図47に示すように、取引先特定パターン設定情報106lの上から1行目のレコード(矢印で示す)において、主体最下位層識別データは、会社コード100、事業所コードTokyo、部門コードEigyoおよび分析コードBuppanであり、科目コードは、1000:売上であり、取引先コードは、T1001である。ここで、図47の集計対象元データ106mを参照すると、この組合せ(会社コード100、事業所コードTokyo、部門コードEigyo、分析コードBuppan、科目コード1000:売上および取引先コードT1001)を含むレコードは、上から1行目および2行目の2つのレコード(矢印で示す)である。このため、集計対象作成部102oは、集計対象元データ106mの当該2つのレコードに含まれる(会社コード100、事業所コードTokyo、部門コードEigyo、分析コードBuppan、科目コード1000:売上および取引先コードT1001)を抽出する。
(追加処理)
追加処理について説明する。図47に示す取引先特定パターン設定情報106lにおいて、当該抽出した(会社コード100、事業所コードTokyo、部門コードEigyo、分析コードBuppan、科目コード1000:売上および取引先コードT1001)と紐付く相手最下位層識別データは、(相手会社コード200、相手事業所コードTokyo、相手部門コードSeizou1および相手分析コードSeizou)という組合せである。このため、集計対象作成部102oは、図47に示すように、当該組合せを、集計対象元データ106mの上から1行目および2行目のレコード(矢印で示す)に追加する。
次に、集計対象作成部102oは、図48に示すように、取引先特定パターン設定情報106lにおいて、会社コード100を含む2つレコードの中で、判定順が2番目に若いレコード(上から2行目のレコード)について、同様にして抽出処理および追加処理を行う。これにより、集計対象作成部102oは、図48に示すように、(相手会社コード300、相手事業所コードOsaka、相手部門コードHanbai1および相手分析コードKouri)を、集計対象元データ106mの上から4行目のレコード(矢印で示す)に追加する。
そして、集計対象作成部102oは、図49に示すように、取引先特定パターン設定情報106lにおいて、会社コード200を含む2つのレコードの中で、判定順が最も若いレコード(上から3行目のレコード)について、同様にして抽出処理および追加処理を行う。これにより、集計対象作成部102oは、図49に示すように、(相手会社コード100、相手事業所コードTokyo、相手部門コードEigyoおよび相手分析コードBuppan)を、集計対象元データ106mの上から6行目のレコード(矢印で示す)に追加する。
更に、集計対象作成部102oは、取引先特定パターン設定情報106lの上から4~6行目のレコードについても、同様にして抽出処理および追加処理を行い、最終的に、図49に示す集計対象データ106nを作成する。
このように、集計対象作成部102oが取引先特定パターン設定情報106lの最終行まで、抽出処理および追加処理を行うことにより、グループ内取引と判定されたすべての相手先コードが埋められる。一方で、未設定のまま残った行で特定される取引は、グループ内取引ではない外部一般企業等との取引となる。
(2)仮想組織についての内部取引判定処理
次に、仮想組織についての内部取引判定処理について説明する。本項目においては、図42に示す階層構造のうち、中位階層での内部取引判定処理(すなわち、関東エリアに属する会社100東京営業と会社200製造1部を内部取引と判定し、一方で、関西エリアに属する会社300大阪販売1部と会社200製造2部を内部取引と判定する処理)をどのように実現できるかについて説明する。
なお、本項目において、集計対象データ106nは、(1)で作成したものであるとする。
また、本項目において、階層化オブジェクト抽出情報106cは、図40に示す階層化オブジェクト管理情報106aおよび図50に示す入力パターン(1)を元にして、対象抽出作成部102pにより作成されたものであるとする。具体的な作成方法は、[3-1]の(1-1)~(1-4)と同様であるため、説明を省略する。対象抽出作成部102pにより作成された階層化オブジェクト抽出情報106cを、図51に示す。
ここで、内部取引判定処理を大別すると、主体取得処理、相手取得処理および判定処理の3つの処理に分かれる。また、判定処理での結果に基づいて、集計処理を行うことができる。このため、以下、この4つの処理についてこの順で項目立てて説明する。
(2-1)主体取得処理
主体取得部102kは、管理番号と階層レベルとノード識別コードと最下位層識別データとを含む階層化オブジェクト抽出情報106cを参照して、主体最下位層識別データと相手最下位層識別データとを含む集計対象データ106nに含まれる主体最下位層識別データと紐付く管理番号、階層レベルおよびノード識別コードを取得する。
具体的には、図52に示す集計対象データ106nの上から1~5行目の明細において、主体最下位層識別データは、(会社コード100、事業所コードTokyoおよび部門コードEigyo)という組合せである。ここで、図51に示す階層化オブジェクト抽出情報106cを参照すると、この組合せと紐付く(管理番号、階層レベルおよびノード識別コード)は、Aを付したレコードに含まれる(組織図(4)、1、31000)である。このため、主体取得部102kは、図52の上から1~5行目の明細に含まれる主体最下位層識別データ等と紐付く情報として、(組織図(4)、1、31000)を取得する。同様の方法で、主体取得部102kは、図52の上から6~7行目の明細に含まれる主体最下位層識別データ(会社コード200、事業所コードTokyoおよび部門コードSeizou1)と紐付く情報として、図51のBを付したレコードに含まれる(組織図(4)、1、31000)を取得し、図52の上から8~9行目の明細に含まれる主体最下位層識別データ(会社コード200、事業所コードOsakaおよび部門コードSeizou2)と紐付く情報として、図51のDを付したレコードに含まれる(組織図(4)、1、32000)を取得し、図52の上から10~13行目の明細に含まれる主体最下位層識別データ(会社コード300、事業所コードOsakaおよび部門コードHanbai1)と紐付く情報として、図51のCを付したレコードに含まれる(組織図(4)、1、32000)を取得する。なお、図51のBおよびDを付したレコードにおいて、事業所コードが<ALL>となっているが、これは、どの情報が入ってもよいことを意味し、具体的には、本例の場合、TokyoまたはOsakaを意味する。
ここで、図52の組織マッチング結果の「自組織」の列には、図52の各明細と図51の各レコードとの対応関係をA~Dにより示しているが、この表記は説明の便宜上付したものであるため、集計対象データ106nは、組織マッチング結果を含まなくてもよい。
このようにして、主体取得部102kは、階層化オブジェクト抽出情報106cを元に、集計対象データ106nの自組織情報とマッチングを行い、自組織に関するマッチング結果を得ることができる。
(2-2)相手取得処理
相手取得部102lは、管理番号と階層レベルとノード識別コードと最下位層識別データとを含む階層化オブジェクト抽出情報106cを参照して、主体最下位層識別データと相手最下位層識別データとを含む集計対象データ106nに含まれる相手最下位層識別データと紐付く管理番号、階層レベルおよびノード識別コードを取得する。
具体的には、図53に示す集計対象データ106nの上から6行目および10行目の明細において、相手最下位層識別データは、(相手会社コード100、相手事業所コードTokyoおよび相手部門コードEigyo)という組合せである。ここで、図51に示す階層化オブジェクト抽出情報106cを参照すると、この組合せと紐付く(管理番号、階層レベルおよびノード識別コード)は、Aを付したレコードに含まれる(組織図(4)、1、31000)である。このため、相手取得部102lは、図53の上から1行目および6行目の明細に含まれる相手最下位層識別データと紐付く情報として、(組織図(4)、1、31000)を取得する。同様の方法で、相手取得部102lは、図53の上から1~2行目の明細に含まれる相手最下位層識別データ(相手会社コード200、相手事業所コードTokyoおよび相手部門コードSeizou1)と紐付く情報として、図51のBを付したレコードに含まれる(組織図(4)、1、31000)を取得し、図53の上から4行目および8行目の明細に含まれる相手最下位層識別データ(相手会社コード300、相手事業所コードOsakaおよび相手部門コードHanbai1)と紐付く情報として、図51のCを付したレコードに含まれる(組織図(4)、1、32000)を取得し、図53の上から12行目の明細に含まれる相手最下位層識別データ(相手会社コード200、相手事業所コードOsakaおよび相手部門コードSeizou2)と紐付く情報として、図51のDを付したレコードに含まれる(組織図(4)、1、32000)を取得する。
ここで、図53の組織マッチング結果の「相手組織」の列には、図53の各明細と図51の各レコードとの対応関係をA~Dにより示しているが、この表記は説明の便宜上付したものであるため、集計対象データ106nは、組織マッチング結果を含まなくてもよい。
このようにして、相手取得部102lは、階層化オブジェクト抽出情報106cを元に、集計対象データ106nの相手組織情報とマッチングを行い、相手組織に関するマッチング結果を得ることができる。
(2-3)判定処理
判定部102mは、主体取得部102kで取得した管理番号、階層レベルおよびノード識別コードと相手取得部102lで取得した管理番号、階層レベルおよびノード識別コードとが同じである場合、主体対象と相手対象との間での取引をグループ内部での内部取引であると判定する。
具体的には、例えば、図55の集計対象データ106nの上から1行目の明細については、主体取得部102kで取得した管理番号、階層レベルおよびノード識別コードは、(組織図(4)、1、31000)という組合せであり、一方で、相手取得部102lで取得した管理番号、階層レベルおよびノード識別コードも、(組織図(4)、1、31000)という組合せであり、両方の組合せは全く同じである。この場合、判定部102mは、前記1行目の明細における取引を、グループ内部での内部取引であると判定する。
この内容を図55の組織マッチング結果を用いて説明すると、以下のようになる。すなわち、図55の上から1行目の明細の組織マッチング結果は、自組織についてはA、相手組織についてはBとなっている。ここで、図54の階層化オブジェクト抽出情報106cを参照すると、Aが付されたレコードとBが付されたレコードとは、MA14で示すように、内部取引関係にある(すなわち、管理番号、階層レベルおよびノード識別コードの組合せが全く同じという関係である)。以上より、図55の上から1行目の明細で特定される取引は、内部取引であると判定できるため、組織マッチング結果の「組織内外判定」の列に、「内部」の文字が付されている。
同様の方法で、判定部102mは、図55の上から2行目、6行目、8行目および12行目の取引を内部取引と判定し、一方で、3行目~5行目、7行目、9~11行目および13行目の取引を外部取引と判定する。
このようにして、判定部102mは、自組織と相手組織の組合せが、階層化オブジェクト抽出情報106cにおいて、「階層レベル」および「ノード識別コード」が同じものは内部取引、それ以外は外部取引と判定する。なお、相手組織が未設定のままの行で特定される取引は、外部取引と判定する。
このように、本実施形態に係る情報処理装置100によれば、対象間での取引が、グループ内部での内部取引であるか否かを自動的に判定できる。なお、本例では、仮想組織における「中位階層」での内部取引判定処理(すなわち、図42において、関東エリアに属する会社100東京営業と会社200製造1部との間での取引を内部取引と判定し、同様に、関西エリアに属する会社300大阪販売1部と会社200製造2部との間での取引を内部取引と判定する処理)について説明したが、内部取引判定処理は、「上位階層」でしてもよいし、「下位階層」でしてもよい。
「上位階層」での内部取引判定処理の場合、階層化オブジェクト抽出情報106cの作成に際して、階層レベル「0」を入力することにより、管理番号、階層レベルおよびノード識別コードが、(組織図(4)、0、30000)である4つのレコードからなる階層化オブジェクト抽出情報106cを作成することができる。このため、主体取得部102kが階層化オブジェクト抽出情報106cを参照して取得する管理番号、階層レベルおよびノード識別コードの組合せと、相手取得部102lが階層化オブジェクト抽出情報106cを参照して取得する管理番号、階層レベルおよびノード識別コードの組合せと、は必ず同じとなる。このため、集計対象データ106nのうち、取引先特定パターン設定情報106lに該当するすべての明細(集計対象データ106nの上から1~2行目の明細、4行目の明細、6行目の明細、8行目の明細、10行目の明細および12行目の明細)は、内部取引となる。一方で、取引先特定パターン設定情報106lに該当しない明細(集計対象データ106nの上から3行目の明細、5行目の明細、7行目の明細、9行目の明細、11行目の明細および13行目の明細)は、外部取引となる。
これに対して、「下位階層」での内部取引判定処理の場合、階層化オブジェクト抽出情報106cの作成に際して、階層レベル「2」を入力することにより、管理番号、階層レベルおよびノード識別コードが、それぞれ、(組織図(4)、2、31100)、(組織図(4)、2、31200)、(組織図(4)、2、32100)および(組織図(4)、2、32200)である4つのレコードからなる階層化オブジェクト抽出情報106cを作成することができる。このため、主体取得部102kが階層化オブジェクト抽出情報106cを参照して取得する管理番号、階層レベルおよびノード識別コードの組合せと、相手取得部102lが階層化オブジェクト抽出情報106cを参照して取得する管理番号、階層レベルおよびノード識別コードの組合せと、は必ず異なるものとなるため、集計対象データ106nのすべての明細における取引が外部取引となる。
「上位階層」、「中位階層」および「下位階層」それぞれにおける内部取引判定処理のイメージ図を、図65に示す。図65に示すように、より上位の階層で内部取引判定処理を行うほど、内部取引の額は増えていく。これは、本項目(2)における内部取引判定処理は、同一レベルの同一上位組織を持つノード同士を内部とする手順になっているため、抽出対象とする階層レベルを上位(0に近づける)で抽出した場合、内部取引として判定されるデータが増えていくことになるためである。これによって、抽出する階層レベルのノードを仮想的に1つの会社・1つのセグメントとしてみた場合に、内側のノード間での取引を内部取引として判定し、相殺消去をすることが可能となる。
また、本実施形態に係る情報処理装置100によれば、例えば、〔3-2〕で説明した内容と本項目(2)で説明した内容とを組合せた内部取引判定処理(すなわち、セキュリティ管理を考慮した内部取引判定処理)を行うことができる。この内部取引判定処理のイメージ図を、図66に示す。図66に示すように、〔3-2〕の内容を組み込むことにより、ユーザが参照権限を持つ会社の中で、内部取引と外部取引を区別して集計することが可能となる。ユーザに対して参照権限がないグループ内会社(図66においては、製造事業グループならびにこれに属する会社300および会社400)は、ユーザにとってはグループ外の他の取引先と同じ「外部」取引とみなされる。
そして、本実施形態に係る情報処理装置100によれば、例えば、主体最下位層識別データおよび相手最下位層識別データの項目の内容および数を任意に設定できるため、柔軟な内部取引判定処理を行うことができる。具体的には、従来においては、会社単位・セグメント単位という概括的な単位での内部取引判定処理(例えば、会社100と会社200の取引は内部取引であると判定する処理)しか行えなかった。これに対して、本実施形態に係る情報処理装置100によれば、自社情報および相手先情報として、会社コード、事業所コードおよび部門コードの3つのコードを設定すれば、細かい粒度での内部取引判定処理(例えば、「会社100、東京本社、営業部」と「会社200、大阪本社、製造2部」の取引は内部取引であると判定する処理)を行うことができる。
ここで、本項目(2)において、内部取引判定処理は、(2-1)~(2-3)までで説明した内容により行うことができるが、集計部102nは、内部取引判定処理の結果を利用して、以下(2-4)の集計処理を行ってもよい。
(2-4)集計処理
集計部102nは、同じである場合に、集計対象データ106nに含まれる主体最下位層識別データと紐付く数値を集計する。
具体的には、同じである場合とは、主体取得部102kで取得した管理番号、階層レベルおよびノード識別コードの組合せと、相手取得部102lで取得した管理番号、階層レベルおよびノード識別コードの組合せと、が同じである場合である。図55の集計対象データ106nでいえば、組織内外判定が内部である、上から1行目、2行目、6行目、8行目および12行目の明細が、前記同じである場合に該当する。これらの明細に含まれる主体最下位層識別データ(会社コード、事業所コードおよび部門コード)と紐付く金額は、図55を参照すると、それぞれ、10,000円、15,000円、50,000円、70,000円および110,000円である。集計部102nは、これらの金額をすべて集計し、255,000円と算出してもよいが、以下のようにして、管理番号、階層レベル、ノード識別コードおよび科目コードの組合せが同じである明細ごとに、金額を集計することが好ましい。
すなわち、図55において、上から1~2行目の明細は、管理番号、階層レベル、ノード識別コードおよび科目コードが、(組織図(4)、1、31000、売上)という組合せであるため、集計部102nは、当該1~2行目の明細に含まれる金額を、10,000+15,000=25,000円と集計する。同様に、図55において、上から6行目の明細は、管理番号、階層レベル、ノード識別コードおよび科目コードが、(組織図(4)、1、31000、仕入)という組合せであるため、集計部102nは、当該6行目の明細に含まれる金額を、50,000円と集計する。同様に、図55において、上から8行目の明細は、管理番号、階層レベル、ノード識別コードおよび科目コードが、(組織図(4)、1、32000、仕入)という組合せであるため、集計部102nは、当該8行目の明細に含まれる金額を、70,000円と集計する。同様に、図55において、上から12行目の明細は、管理番号、階層レベル、ノード識別コードおよび科目コードが、(組織図(4)、1、32000、売上)という組合せであるため、集計部102nは、当該12行目の明細に含まれる金額を、110,000円と集計する。このように、集計部102nは、図56の集計結果データ106oに示すように、管理番号、階層レベル、ノード識別コードおよび科目コードの組合せが同じである明細ごとに、25,000円、50,000円、110,000円および70,000円という内部取引額を算出することができる。
また、集計部102nは、組織内外判定が外部の明細についても、同様に、管理番号、階層レベル、ノード識別コードおよび科目コードの組合せが同じである明細ごとに、金額を集計してもよい。これにより、集計部102nは、図56の集計結果データ106oに示すように、管理番号、階層レベル、ノード識別コードおよび科目コードの組合せが同じである明細ごとに、20,000円、130,000円、310,000円および80,000円という外部取引額を算出することができる。
そして、集計部102nは、組織内外判定が内部の明細と外部の明細の両方について(すなわち、組織内外判定の結果によらず、すべての明細について)管理番号、階層レベル、ノード識別コードおよび科目コードの組合せが同じである明細ごとに、金額を集計してもよい。これにより、集計部102nは、図56の集計結果データ106oに示すように、45,000円、180,000円、420,000円および150,000円という全体合計額を算出することができる。なお、集計部102nは、内部取引額と外部取引額とを加算することにより、全体合計額を算出してもよい。
(3)仮想セグメントについての内部取引判定処理
本項目は、以下の項目が異なるのみで、行う処理自体は、(2)と同様であるため、詳細な説明は省略する。まず、階層化オブジェクト抽出情報106cに含まれる最下位層識別データは、「会社コード、事業所コードおよび部門コード」ではなく、図57に示すように、「分析コード」になる。これは、階層化オブジェクト抽出情報106cが、図41に示す階層化オブジェクト管理情報106a(「分析コード」を含む)および図50に示す入力パターン(2)を元にして作成されるためである。また、集計対象データ106oにおいて、自組織に関するマッチングに用いる項目は、「会社コード、事業所コードおよび部門コード」ではなく、図58に示すように、「分析コード」となる。そして、集計対象データ106oにおいて、相手組織に関するマッチングに用いる項目は、「相手会社コード、相手事業所コードおよび相手部門コード」ではなく、図59に示すように、「相手分析コード」となる。以上説明したように、階層化オブジェクト抽出情報106cに含まれる「分析コード」、集計対象データ106oに含まれる「分析コード」および「相手分析コード」を用いることにより、(2)と同様の処理を行い、内部取引判定処理およびこの結果に基づいた集計を行うことができる。内部取引判定処理の内容を、図57~図61に示し、集計の結果を、図62に示す。
本項目(3)での処理によって、図42に示す階層構造のうち、販売事業(仮想セグメント)の階層に属する物販(実セグメント)を行う会社100の東京本社の営業部と、販売事業(仮想セグメント)の階層に属する小売(実セグメント)を行う会社300の大阪支社の販売1部と、の間での取引をグループ内部での内部取引であると判定できる。
(4)仮想組織と仮想セグメントの2軸を用いた内部取引判定処理
(2)の組織マッチング結果と(3)のセグメントマッチング結果とを併せて、2軸を用いた内部取引判定処理を以下のように行うことができる。
図63には、(2)の組織マッチング結果と(3)のセグメントマッチング結果とを併せて示している。図63を参照することにより、組織内外判定およびセグメント内外判定を考慮して「全体合計額」「内部取引額(セグメント内)」「内部取引額(セグメント外)」という3種類の集計結果を得ることができる。「全体合計額」とは、組織内外判定、セグメント判定によらない単純合計額のことである。「内部取引額(セグメント内)」とは、組織内外判定が「内部」かつセグメント内外判定が「内部」の合計額のことである。「内部取引額(セグメント外)」とは、組織内外判定が「内部」かつセグメント内外判定が「外部」の合計額のことである。
図63の表において、「全体合計額」の算出を行う場合、すべての明細について、金額を集計することとなる。ここで、「全体合計」の処理は、仮想組織の管理番号、階層レベルおよびノード識別コードと仮想セグメントの管理番号、階層レベルおよびノード識別コードと科目コードとの組合せが同一である明細ごとに行ってもよい。すなわち、図63の表のすべての明細(1~13行目の明細)について、以下のような集計を行ってもよい。図64において、全体合計額45,000円は、図63の上から1~3行目の明細に含まれる金額の集計値であり、全体合計額70,000円は、図63の上から4~5行目の明細に含まれる金額の集計値であり、全体合計額110,000円は、図63の上から6~7行目の明細に含まれる金額の集計値であり、全体合計額420,000円は、図63の上から10~13行目の明細に含まれる金額の集計値であり、全体合計額150,000円は、図63の上から8~9行目の明細に含まれる金額の集計値である。
図63の表において、「内部取引額(セグメント内)」の算出を行う場合、組織内外判定が「内部」かつセグメント内外判定が「内部」である明細は存在しないため、集計される金額は存在しない。
図63の表において、「内部取引額(セグメント外)」の算出を行う場合、組織内外判定が「内部」かつセグメント内外判定が「外部」である、上から1~2行目、6行目、8行目および12行目の明細について、金額を集計することとなる。ここで、「内部取引(セグメント外)」の処理は、仮想組織の管理番号、階層レベルおよびノード識別コードと仮想セグメントの管理番号、階層レベルおよびノード識別コードと科目コードとの組合せが同一である明細ごとに行ってもよい。すなわち、図63の表の上から1~2行目、6行目、8行目および12行目の明細について、以下のような集計を行ってもよい。図64において、内部取引額(セグメント外)25,000円は、図63の上から1~2行目の明細に含まれる金額の集計値であり、内部取引額(セグメント外)50,000円は、図63の上から6行目の明細に含まれる金額の集計値であり、内部取引額(セグメント外)110,000円は、図63の上から12行目の明細に含まれる金額の集計値であり、内部取引額(セグメント外)70,000円は、図63の上から8行目の明細に含まれる金額の集計値である。
なお、図64の集計結果データ106oにおいて、「外部取引額」については、「全体合計額」=「外部取引額」+「内部取引額(セグメント内)」+「内部取引額(セグメント外)」という式により算出可能であるため、記載を省略している。
[3-4.データ変換処理]
次に、データ変換処理について、主に図69~図74を用いて詳細に説明する。本項目[3-4]においては、データ変換処理の完了後のデータである変換完了データ106s(図73に示す)は、変換完了データ106sにおける変換先属性情報が未設定に設定された変換対象データ106r(図69に示す)を元にして、以下に示す手順で作成される。
抽出部102qは、変換元データを含む変換対象データ106rを参照して、変換元データと変換先データとを含む変換パターン設定情報106qに含まれる変換元データと同じ変換元データの抽出を行い、変換部102rは、抽出部102qで抽出した変換元データを、当該変換元データと紐付く変換パターン設定情報106qに含まれる変換先データに変換する。
すなわち、抽出部102qは、変換項目設定情報106pと変換パターン設定情報106qを元に変換対象データを抽出し、変換部102rは、特定された変換先属性情報を更新する。この際、処理順は、会社順に判定順昇順で行うことが好ましい。また、変換対象データ106rとマッチングする際の条件として、以下の1~3の手順で評価を行う。なお、以下の説明において、変換元属性とは、取引先コード、科目コード、事業所コード、部門コードおよび分析コードを指す。
1.変換元属性1の判定については、変換元属性1が必須項目の場合は、変換対象データ106rの変換元属性1=変換パターン設定情報106qの変換元属性1というマッチングを検索し、変換元属性1が任意項目の場合は、変換パターン設定情報106qの変換元属性1=予約語<ALL>となるか、または、変換対象データ106rの変換元属性1=変換パターン設定情報106qの変換元属性1というマッチングを検索する。
2.変換元属性2の判定については、変換元属性2が必須項目の場合は、変換対象データ106rの変換元属性2=変換パターン設定情報106qの変換元属性2というマッチングを検索し、変換元属性2が任意項目の場合は、変換パターン設定情報106qの変換元属性2=予約語<ALL>となるか、または、変換対象データ106rの変換元属性2=変換パターン設定情報106qの変換元属性2というマッチングを検索する。
3.そして、以下、システムが使用する変換元属性の数だけ評価を実行(すなわち、変換元属性3以降が存在する場合には、変換元属性1~2と同様の処理を実行)する。
具体的に、変換パターン設定情報106qの内容が図68に示すとおりであり、変換対象データ106rの内容が図69に示すとおりである場合に、抽出部102qおよび変換部102rがどのように変換対象データ106rにおける変換元データを変換し、変換完了データ106sを作成するか説明する。
抽出部102qおよび変換部102rは、図68に示す変換パターン設定情報106qにおいて、会社コード100の3つレコードに含まれる変換元データの中で、より上位の判定順と紐付く変換元データから順に、抽出を行うことが好ましい。すなわち、抽出部102qは、まず、判定順1を含む上から1行目のレコードに含まれる変換元データ(会社コード100、取引先コードALL、科目コード1000:売上、事業所コードTokyo、部門コードEigyoおよび分析コードBuppan)について、以下の抽出処理および変換処理を行う。
(抽出処理)
図70に示すように、変換パターン設定情報106qの上から1行目のレコード(矢印で示す)において、変換元データは、前段落で述べたとおり、(会社コード100、取引先コードALL、科目コード1000:売上、事業所コードTokyo、部門コードEigyoおよび分析コードBuppan)という組合せである。ここで、図70の変換対象データ106rを参照すると、この組合せを含むレコードは、上から1行目および3行目の2つのレコード(矢印で示す)である。このため、抽出部102qは、変換対象データ106rの当該2つのレコードに含まれる(会社コード100、取引先コードT1001、科目コード1000:売上、事業所コードTokyo、部門コードEigyoおよび分析コードBuppan)を抽出する。
(変換処理)
次に、変換部102rが行う処理について説明する。図70に示す変換パターン設定情報106qにおいて、当該抽出した(会社コード100、取引先コードT1001、科目コード1000:売上、事業所コードTokyo、部門コードEigyoおよび分析コードBuppan)と紐付く変換先データは、(G_Hanbai)である。このため、変換部102rは、図70の変換対象データ106rの上から1行目および3行目(矢印で示す)に示すように、抽出部102qで取得した変換元コード(会社コード100、取引先コードT1001、科目コード1000:売上、事業所コードTokyo、部門コードEigyoおよび分析コードBuppan)を、変換先データ(G_Hanbai)に変換する。
そして、抽出部102qおよび変換部102rは、図71に示すように、変換パターン設定情報106qにおいて、会社コード100の3つのレコードに含まれる変換元データの中で、2番目に若い判定順と紐付く変換元データ(すなわち、変換パターン設定情報106qの上から2行目のレコードに含まれる変換元データ)について、同様に抽出処理および変換処理を行う。これにより、変換部102rは、図71の変換対象データ106rの上から4行目および5行目(矢印で示す)に示すように、抽出部102qで抽出した変換元データを、変換先データ(G_Hanbai)に変換する。
更に、抽出部102qおよび変換部102rは、図72に示すように、変換パターン設定情報106qにおいて、会社コード100の3つレコードに含まれる変換元データの中で、3番目に若い判定順と紐付く変換元データ(すなわち、変換パターン設定情報106qの上から3行目のレコードに含まれる変換元データ)について、同様に抽出処理および変換処理を行う。これにより、変換部102rは、図72の上から2行目(矢印で示す)に示すように、抽出部102qで抽出した変換元データを、変換先データ(G_Sonota)に変換する。
更に、抽出部102qおよび変換部102rは、変換パターン設定情報106qの上から4~6行目のレコードに含まれる変換元データについても、同様に抽出処理および変換処理を行い、最終的に、図73に示す変換完了データ106sを作成する。
なお、仮想組織のように、各会社の事業所および部門をそのまま階層化構造として紐付可能なケースでは、本項目[3-4]の処理を行う必要性は乏しい。これに対して、仮想セグメントのように、グループ全体で共通の分析軸で集計を行いたい場合、個社のコードとの紐付を管理すると設定が煩雑となる。そこで、本項目[3-4]の処理によって、一旦共通セグメントコードに変換した後、仮想セグメントに共通セグメントコードを割り当てることにより、様々な切り口での分析軸を簡単に設定することが可能になる。
仮想セグメントに共通セグメントコードを割り当てるとは、具体的には、例えば、以下のような処理を意味する。図74に示すように、A社のSI事業およびPKG開発ならびにB社の開発事業部に対して「システム事業」の共通セグメントコードを設定し、一方で、B社のサポート事業部に対して「サポート事業」の共通セグメントコードを設定する。そして、図74に示すように、仮想セグメントである「システム開発事業」に共通セグメントコード「システム事業」を割り当て、一方で、仮想セグメントである「サポート事業」に共通セグメントコード「サポート事業」を割り当てれば、事業内容という切り口に着目して経営分析を行うことができる。
このように、本実施形態に係る情報処理装置100によれば、複数のデータの組合せ(変換元データ)を共通データ(変換先データ)に変換できる。これにより、例えば、前段落で述べたように、各対象を共通セグメントコード「システム開発事業」「サポート事業」に分類して、事業内容に着目して経営分析を行うことができる。また、例えば、共通セグメントコード「システム開発事業」に属する「A社のSI事業およびPKG開発ならびにB社の開発事業部」の3対象間での取引は内部取引と判定して相殺消去し、一方で、共通セグメントコード「システム開発事業」に属する3対象と共通セグメントコード「サポート事業」に属するB社のサポート事業部との間での取引は外部取引と判定して相殺消去はしないといった会計処理を行うこともできる。
また、本実施形態に係る情報処理装置100によれば、例えば、変換元データおよび変換先データの内容および数を任意に設定できるため、柔軟かつ自由なデータ変換を行うことができる。
[3-5.これら以外の処理]
最後に、[3-1]~[3-4]で説明した処理以外の処理について、図75および図76を用いて詳細に説明する。
本実施形態に係る情報処理装置100によれば、グループ企業の再編をシミュレーションすることができる。具体的には、本実施形態に係る情報処理装置100が、企業グループを扱う際には、グループ内企業の吸収合併による組織再編や、M&A(合併・買収)で外部会社を傘下に買収した場合の会社の変動等を考慮することが必要となる。この際、本実施形態に係る情報処理装置100によれば、図75に示すように、組織図を複写して組織変更を行うことで、組織改編前(図75の改編前組織(2))と組織改編後(図75の改編後組織(2)´)とを比較することができる。図75においては、会社2は、組織改編前ではグループ中核1に属する会社であったが、組織改編後ではグループ中核2に属する会社となっている。
また、本実施形態に係る情報処理装置100によれば、組織情報とセグメント情報の機能の組合せによって、組織×セグメント×科目の3軸による金額を集計し、経営分析を行うことができる。具体的には、本実施形態に係る情報処理装置100によれば、図76に示すように、縦軸に商品・ブランド、横軸に店舗に関する情報を配置し、収支に関するデータを収支の高さで可視化することにより、多元データを作成することができる。このような多元データを作成することにより、店舗別ブランド別収支の現状把握が可能となる。これにより、店舗ごとに各ブランドの販売戦略を立てることができる。
[4.他の実施形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
また、情報処理装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
例えば、情報処理装置100が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて情報処理装置100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
また、このコンピュータプログラムは、情報処理装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム商品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable and Programmable Read Only Memory)、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、および、Blu-ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。したがって、本明細書で説明したような処理又は処理方法を実行するためのプログラムを格納した記録媒体もまた本発明を構成することとなる。
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
記憶部106に格納される各種のデータベース等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
また、情報処理装置100は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、情報処理装置100は、当該装置に本実施形態で説明した処理を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。