(57)【要約】  情報処理装置（１）は、順序付けられた複数のレコードを含み、各レコードが複数の項目にそれぞれ対応付けられた複数の項目値を有する入力済みシート（２４）を取得し、該入力済みシート（２４）に含まれるレコードのうち、第１のレコードと、第１のレコードが対応付けられた順序に対して所定関係を有する順序に対応付けられた第２のレコードとを特定する。情報処理装置（１）は、第１のレコードに含まれる項目値のうち、第１の項目に対応付けられた項目値が、第２のレコードに含まれる項目値のうち、第１の項目に対応付けられた項目値と異なる場合、第１のレコードに含まれる第２の項目に対応付けられた項目値が条件を満たすか否かの判定を行い、判定結果に基づき、第１のレコードの評価を行う。これにより、情報処理装置（１）は、入力済みシート（２４）に含まれるレコードの評価に関する処理負荷を低減することができる。
2019146090.tif 000002
【特許請求の範囲】
【請求項１】
順序付けられた複数のレコードを含み、各レコードが複数の項目にそれぞれ対応付けられた複数の項目値を有するレコード群を取得し、
取得した前記レコード群に含まれるレコードのうち、第１のレコードと、前記第１のレコードが対応付けられた順序に対して所定関係を有する順序に対応付けられた第２のレコードとを特定し、
前記第１のレコードに含まれる項目値のうち、第１の項目に対応付けられた項目値が、前記第２のレコードに含まれる項目値のうち、前記第１の項目に対応付けられた項目値と異なる場合、前記第１のレコードに含まれる第２の項目に対応付けられた項目値が条件を満たすか否かの判定を行い、
判定結果に基づき、前記第１のレコードの評価を行う、
処理をコンピュータに実行させることを特徴とする評価プログラム。
【請求項２】
前記判定を行う処理は、前記第１のレコードに含まれる前記第２の項目に対応付けられた項目値を正規化するとともに、正規化された項目値が予め登録されたキーワードと一致するか否かの判定を行う
ことを特徴とする請求項１に記載の評価プログラム。
【請求項３】
前記評価を行う処理は、前記正規化された項目値が前記キーワードと一致する場合に、前記第１のレコードが前記レコード群の中の切れ目のレコードであると評価する
ことを特徴とする請求項２に記載の評価プログラム。
【請求項４】
前記評価を行う処理は、前記正規化された項目値が前記キーワードと一致しない場合に、前記第１のレコードが前記レコード群の中の切れ目のレコードでないと評価し、評価結果を通知する
ことを特徴とする請求項２に記載の評価プログラム。
【請求項５】
順序付けられた複数のレコードを含み、各レコードが複数の項目にそれぞれ対応付けられた複数の項目値を有するレコード群を取得する取得部と、
前記取得部によって取得された前記レコード群に含まれるレコードのうち、第１のレコードと、前記第１のレコードが対応付けられた順序に対して所定関係を有する順序に対応付けられた第２のレコードとを特定する特定部と、
前記第１のレコードに含まれる項目値のうち、第１の項目に対応付けられた項目値が、前記第２のレコードに含まれる項目値のうち、前記第１の項目に対応付けられた項目値と異なる場合、前記第１のレコードに含まれる第２の項目に対応付けられた項目値が条件を満たすか否かの判定を行う判定部と、
判定結果に基づき、前記第１のレコードの評価を行う評価部と、
を有することを特徴とする情報処理装置。
【請求項６】
順序付けられた複数のレコードを含み、各レコードが複数の項目にそれぞれ対応付けられた複数の項目値を有するレコード群を取得し、
取得した前記レコード群に含まれるレコードのうち、第１のレコードと、前記第１のレコードが対応付けられた順序に対して所定関係を有する順序に対応付けられた第２のレコードとを特定し、
前記第１のレコードに含まれる項目値のうち、第１の項目に対応付けられた項目値が、前記第２のレコードに含まれる項目値のうち、前記第１の項目に対応付けられた項目値と異なる場合、前記第１のレコードに含まれる第２の項目に対応付けられた項目値が条件を満たすか否かの判定を行い、
判定結果に基づき、前記第１のレコードの評価を行う、
処理をコンピュータが実行することを特徴とする評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価プログラム等に関する。
【背景技術】
【０００２】
ＸＢＲＬ（eXtensible  Business  Reporting  Language）による財務諸表を金融庁へ提出することが義務付けられている。ＸＢＲＬとは、ビジネス報告の作成、流通および利用を容易にするためのデータ記述言語として、ＸＭＬ（eXtensible  Markup  Language）をベースに開発された言語である。【０００３】
金融庁や東証等の監督機関に提出される財務諸表のデータは、インスタンスと呼ばれる。インスタンスは、監督機関から公開されている定義体（「タクソノミ」という）に基づいて作成される。タクソノミは、項目に相当するＸＢＲＬ要素の名前や型情報を定義したスキーマと、ＸＢＲＬ同士の関係性を定義したリンクベースから構成される。ＸＢＲＬ要素同士の関係性は、例えば、財務諸表上での項目の表示順序や集計方法等に相当する。【０００４】
ここで、財務諸表としてのインスタンスを作成する流れの参考例を、図１１を参照して説明する。図１１は、インスタンスを作成する流れの参考例を示す図である。監督機関では、ＸＢＲＬで記述されたタクソノミが記憶され、公開されている。提出企業では、マッピングエンジンが、公開されているタクソノミをダウンロードして（Ｓ１１０）、タクソノミに基づいてマッピング定義およびテンプレートシートを生成する（Ｓ１２０）。テンプレートシートとは、Ｅｘｃｅｌ等の表計算ソフトで作成されたテーブルのことをいう。マッピング定義とは、テーブル内のヘッダー部分や入力部分のセルの位置およびサイズ情報、並びにセルに対応するＸＢＲＬ要素のプロパティ情報の紐付けを定義したものである。【０００５】
そして、担当者がテンプレートシートに財務データを入力し、入力済みシートを作成する（Ｓ１３０）。この入力済みシートをマッピングエンジンに入力し、マッピングエンジンは、入力された入力済みシートを、マッピング定義を用いてインスタンスに変換し（Ｓ１４０）、インスタンスを監督機関へアップロードする（Ｓ１５０）。監督機関では、インスタンスを蓄積し、検証する。【０００６】
ところで、近年、監督機関および利用者から、財務報告の詳細化が求められるようになってきている。財務報告の詳細化には、例えば、全社単位から事業所単位への詳細化や年次単位から月次単位への詳細化が挙げられる。また、財務報告の詳細化が求められたことに応じて、ＸＢＲＬデータのテーブル表示用レイアウトを記述するための国際標準仕様（テーブルリンクベース）が勧告化された。テーブルリンクベースは、欧州の公的機関が発行するタクソノミにおいて、固定長テーブル、可変長テーブルおよび３次元テーブルで使用されている。今後の財務報告では、企業ごとに、サイズや個数の異なるテーブルによる詳細な財務報告へシフトすることが予想される。【０００７】
図１２Ａ、図１２Ｂおよび図１２Ｃは、テンプレートシートに入力された入力済みシートを示すテーブルの参考例を示す図である。なお、図１２Ａ、図１２Ｂおよび図１２Ｃでは、例えば、金融庁が、関東に出店している企業に対して、関東エリア内の店舗の売上リストの電子データを提出させている場合である。【０００８】
図１２Ａは、企業の規模が大きい場合の企業の関東エリア内の全店舗の売上リストの入力済みシートである。図１２Ｂは、企業の規模が小さい場合の企業の関東エリア内の全店舗の売上リストの入力済みシートである。マッピングエンジンは、これらの入力済みシートごとに売上リストを上から下まで１行ずつ読み込み、読み込んだ行を左から右へセルの値を抜き出して、所定の属性値または要素値にセットすることで、ＸＭＬインスタンスを生成する。【０００９】
図１２Ｃは、売上リストのテーブルを内訳テーブルと合計テーブルとに分けて、テーブルリンクベースを用いて再現したものである。テーブルリンクベースでは、エリアの内訳と合計とは、テーブルを分けることが知られている。【００１０】
ここで、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれる複数のブロックの開始位置を判別する技術が知られている（例えば、特許文献１参照）。例えば、評価装置は、複数の行のうちの各行について、マッピング定義から取得したセル構成（文字列とデータ型の組み合わせ）と、入力済みシートの行のセル構成との比較を行い、比較結果に応じて、比較処理の対象行の評価を行う。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開第２０１７／１９９３０９号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれるレコードの評価に関する処理負荷がかかる場合があるという問題がある。【００１３】
例えば、入力済みシートは、テンプレートシートに入力されたシートであるが、テンプレートシートの初期表示の文字列は、提出企業の担当者によって変更されたり、表計算ソフトによって自動で変更されたりする場合がある。初期表示の文字列は、タクソノミで定義されている。初期表示の文字列が変更されると、マッピングエンジンは、マッピング定義を用いて入力済みシートをインスタンスに変換する際に、変更された文字列とマッピング定義の対象の文字列とが完全一致しなくなり、エラーとみなされてしまう。したがって、かかる場合には、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれるレコードの評価に関する処理負荷がかかってしまう。【００１４】
１つの側面では、本発明は、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれるレコードの評価に関する処理負荷を低減することを目的とする。
【課題を解決するための手段】
【００１５】
一態様の評価プログラムは、順序付けられた複数のレコードを含み、各レコードが複数の項目にそれぞれ対応付けられた複数の項目値を有するレコード群を取得し、取得した前記レコード群に含まれるレコードのうち、第１のレコードと、前記第１のレコードが対応付けられた順序に対して所定関係を有する順序に対応付けられた第２のレコードとを特定し、前記第１のレコードに含まれる項目値のうち、第１の項目に対応付けられた項目値が、前記第２のレコードに含まれる項目値のうち、前記第１の項目に対応付けられた項目値と異なる場合、前記第１のレコードに含まれる第２の項目に対応付けられた項目値が条件を満たすか否かの判定を行い、判定結果に基づき、前記第１のレコードの評価を行う、処理をコンピュータに実行させる。
【発明の効果】
【００１６】
一つの態様によれば、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれるレコードの評価に関する処理負荷を低減することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図２】図２は、実施例に係るテンプレートシートの一例を示す図である。
【図３】図３は、実施例に係るマッピング定義の一例を示す図である。
【図４】図４は、実施例に係る入力済みシートの一例を示す図である。
【図５】図５は、実施例に係る入力済みシートの別の例を示す図である。
【図６】図６は、実施例に係る構造解析処理のイメージを示す図である。
【図７】図７は、実施例に係るデータ変換処理のイメージを示す図である。
【図８】図８は、実施例に係るデータ変換処理のフローチャートの一例を示す図である。
【図９】図９は、実施例に係る情報処理装置の用途の一例を示す図である。
【図１０】図１０は、評価プログラムを実行するコンピュータの一例を示す図である。
【図１１】図１１は、インスタンスを作成する流れの参考例を示す図である。
【図１２Ａ】図１２Ａは、テンプレートシートに入力された入力済みシートを示すテーブルの参考例を示す図である。
【図１２Ｂ】図１２Ｂは、テンプレートシートに入力された入力済みシートを示すテーブルの参考例を示す図である。
【図１２Ｃ】図１２Ｃは、テンプレートシートに入力された入力済みシートを示すテーブルの参考例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、本願の開示する評価プログラム、情報処理装置および評価方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１９】
［実施例に係る情報処理装置の構成］
図１は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図１に示すように、情報処理装置１は、テーブル形式のデータの表記内容の揺れを吸収しつつ、テーブル形式のデータをＸＢＲＬで記述されたインスタンスに変換する。ここでいうインスタンスは、「ＸＢＲＬインスタンス」という。ここでいう変換は、「マッピング」と同義である。【００２０】
情報処理装置１は、記憶部２と、制御部３とを有する。【００２１】
記憶部２は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等の記憶装置に対応する。そして、記憶部２は、ＸＢＲＬタクソノミ２１、マッピング定義２２、テンプレートシート２３および入力済みシート２４を有する。【００２２】
ＸＢＲＬタクソノミ２１は、ＸＢＲＬ要素の体系を定義したものであり、スキーマ、リンクベースおよびテーブルリンクベースからなる。スキーマとは、ＸＢＲＬ要素の名前やデータ型等の属性情報を記憶する辞書であり、実施例では「項目定義」に対応する。リンクベースとは、例えばＸＢＲＬ要素間の親子関係や表示順や表示名等を記述する文書である。テーブルリンクベースとは、ＸＢＲＬ要素のテーブルレイアウトを記述する文書であり、実施例では、「テーブルレイアウト」に対応する。【００２３】
マッピング定義２２は、テーブル内のヘッダー（タイトル）部分のデータ型の組み合わせ情報を定義する。マッピング定義２２には、例えば、Ｘ軸のヘッダー部、Ｙ軸のヘッダー部およびＺ軸のヘッダー部のデータ型の組み合わせが定義される。データ型には、一例として、文字列型、日付型や数値型が挙げられるが、これに限定されない。また、マッピング定義２２は、テーブル内のセルとＸＢＲＬ要素との紐付けや、ヘッダーに階層がある場合にはヘッダーの階層構造を定義する。例えば、テーブル内のセルとＸＢＲＬ要素との紐付け情報には、テーブル内のヘッダー部分や入力部分のセルの列の位置やセルに対応するＸＢＲＬ要素のプロパティ情報が定義される。ヘッダーの階層構造には、ヘッダー内の第１のセルと第２のセルが階層構造である場合、第１のセルの列の文字列と、第２のセルの列の入力部分の入力内容および初期表示の文字列が定義される。なお、マッピング定義２２は、後述する構造解析部３２によって生成される。また、マッピング定義２２の内容の一例については、後述する。【００２４】
テンプレートシート２３は、財務諸表を再現した入力フォームを示す汎用的なテンプレートシートである。テンプレートシート２３は、Ｅｘｃｅｌ等の表計算ソフトで作成されるテーブルのことをいう。なお、テンプレートシート２３は、テーブルリンクベース（テーブルレイアウト）を用いて定義され、後述する構造解析部３２によって生成される。また、テンプレートシート２３の内容の一例については、後述する。【００２５】
入力済みシート２４は、テンプレートシート２３に財務データを入力済みのシートである。入力済みシート２４は、ユーザによって入力される。ユーザは、例えば、提出企業の担当者である。【００２６】
制御部３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部３は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。さらに、制御部３は、入力部３１と、構造解析部３２と、データ変換部３３と、出力部３４とを有する。なお、データ変換部３３は、取得部、特定部、判定部および評価部の一例である。【００２７】
入力部３１は、ＸＢＲＬタクソノミ２１を入力し、入力したＸＢＲＬタクソノミ２１を記憶部２に格納する。【００２８】
構造解析部３２は、ＸＢＲＬタクソノミ２１の解析を行い、テーブルリンクベース（テーブルレイアウト）の定義に従ったマッピング定義２２およびテンプレートシート２３を生成する。構造解析部３２は、生成したマッピング定義２２およびテンプレートシート２３を記憶部２に格納する。【００２９】
［テンプレートシートの一例］
ここで、テンプレートシート２３の一例を、図２を参照して説明する。図２は、実施例に係るテンプレートシートの一例を示す図である。なお、図２で説明するテンプレートシート２３は、ある企業の全店舗の売上リストのテンプレートであるとする。【００３０】
図２に示すように、テンプレートシート２３は、Ｙ軸のヘッダー部とＸ軸のヘッダー部のタイトル行を有する。また、テンプレートシート２３は、タイトル行の後に複数のブロックを有する。つまり、テンプレートシート２３は、タイトル行と複数のブロックとで１個のテーブルを構成している。図２では、テンプレートシート２３は、複数のエリアに対するブロックが続いた後、最終行に、総計（Total）のブロックが配置されている。なお、ブロックの並び順は、ＸＢＲＬタクソノミ２１で定義されている。【００３１】
また、Ｙ軸ヘッダー部のＡＲＥＡ列とＳＨＯＰ列とは親子関係にあり、階層構造を形成している。なお、Ｙ軸ヘッダー部の階層構造は、ＸＢＲＬタクソノミ２１で定義されている。【００３２】
ブロックは、ＡＲＥＡ列、ＳＨＯＰ列およびＳＡＬＥＳ列で構成されている。ＡＲＥＡ列は、エリアの名称（エリア名）である。ＡＲＥＡ列には、各エリア名が設定される。各エリア名や各エリア名の順序は、ＸＢＲＬタクソノミ２１のテーブルレイアウトで定義されている。ＳＨＯＰ列は、各店舗名と小計の固定文字列「SubTotal」が設定される。各店舗名は、ユーザによって入力される。小計の固定文字列「SubTotal」は、ＸＢＲＬタクソノミ２１のテーブルレイアウトで定義されている。ＳＡＬＥＳ列では、各店舗の売上の値と、ブロック内の小計の値とがユーザによって入力される。なお、ブロック内のＳＨＯＰ列の店舗名は、ユーザによって必要に応じて追加される。店舗名は、任意の文字列である。小計は、ブロックの最終行に位置する。【００３３】
最後のブロックは、ＡＲＥＡ列とＳＨＯＰ列との結合セルと、ＳＡＬＥＳ列のセルとで構成されている。結合セルは、総計の固定文字列「Total」が設定されている。総計の固定文字列「Total」は、ＸＢＲＬタクソノミ２１のテーブルレイアウトで定義されている。ＳＡＬＥＳ列のセルは、全ブロックの店舗の総計の値がユーザによって入力される。【００３４】
また、テンプレートシート２３の各セルには、各データ型が設定される。各セルのデータ型は、ＸＢＲＬタクソノミ２１の項目定義で定義されている。【００３５】
［マッピング定義の一例］
図３は、実施例に係るマッピング定義の一例を示す図である。なお、図３で説明するマッピング定義２２は、ある企業の全店舗の売上リストのマッピングに関する定義であるとする。図３に示すように、マッピング定義２２は、セルとＸＢＲＬ要素との紐付け情報を含む。セルとＸＢＲＬ要素との紐付け情報には、以下の情報が記述される。Ａ列に値を設定または入力するセルについて、エリアの場合には、ＸＢＲＬ要素を示す＜Ｓａｌｅｓ＞要素の＜Ａｒｅａ＞プロパティの値と紐付けられる。また、総計の場合には、ＸＢＲＬ要素を示す＜Ｓａｌｅｓ＞要素の＜Ｌｅｖｅｌ＞プロパティの値「Total」と紐付けられる。Ｂ列に値を設定または入力するセルについて、店舗の場合には、ＸＢＲＬ要素を示す＜Ｓａｌｅｓ＞要素の＜Ｓｈｏｐ＞プロパティの値と紐付けられる。また、小計の場合には、ＸＢＲＬ要素を示す＜Ｓａｌｅｓ＞要素の＜Ｌｅｖｅｌ＞プロパティの値「Total」と紐付けられる。Ｃ列に値を入力するセルについて、ＸＢＲＬ要素を示す＜Ｓａｌｅｓ＞要素の値と紐付けられる。【００３６】
また、マッピング定義２２は、さらに、Ｙ軸ヘッダーの階層構造の情報を含む。すなわち、Ｙ軸ヘッダー部のＡＲＥＡ列およびＳＨＯＰ列の階層構造が定義される。Ｙ軸のヘッダー部のＡＲＥＡ列の値が「Tokyo」である場合、Ｙ軸のヘッダー部のＳＨＯＰ列の店舗が繰り返され、「Tokyo」ブロックの最終行に小計の固定文字列「SubTotal」が設定される。また、Ｙ軸のヘッダー部のＡＲＥＡ列の値が「Saitama」である場合、Ｙ軸のヘッダー部のＳＨＯＰ列の店舗が繰り返され、「Saitama」ブロックの最終行に小計の固定文字列「SubTotal」が設定される。そして、Ｙ軸のヘッダー部のＡＲＥＡ列の値が「Total」である場合に、全ブロックが終了となる。【００３７】
なお、マッピング定義２２は、図示していないが、さらに、データ型の組み合わせ情報を含む。例えば、データ型の組み合わせ情報には、Ｘ軸のヘッダー部のデータ型の組み合わせが設定される。データ型の組み合わせ情報には、Ｙ軸のヘッダー部のデータ型の組み合わせが設定される。データ型の組み合わせ情報には、値を入力する値セル部の組み合わせ情報が設定される。例えば、Ｙ軸のヘッダー部のデータ型の組み合わせとして、「文字列型，文字列型」が設定される。Ｘ軸のヘッダー部のデータ型の組み合わせとして、「数値型」が設定される。【００３８】
［入力済みシートの一例］
図４は、実施例に係る入力済みシートの一例を示す図である。図４に示す入力済みシート２４は、図２で示したテンプレートシート２３にユーザが財務データを入力した結果である。入力済みシート２４は、複数のブロックからなる。【００３９】
各ブロックの最終行には、「ＳＨＯＰ」列に「SubTotal」の文字列が初期設定される。そして、最後ブロックには、ＡＲＥＡ列とＳＨＯＰ列との結合セルに「Total」の文字列が初期設定される。なお、「SubTotal」および「Total」は、テンプレートシート２３に初期設定されている。ここでは、５個のブロックが表わされている。「Tokyo」ブロック、「Kanagawa」ブロック、「Chiba」ブロック、「Saitama」ブロックおよび「Total」ブロックが表わされている。図４では、各ブロックのＳＨＯＰ列の店舗名の数は、複数個であるが、１個であっても良いし、０個であっても良いし、数に制限はない。店舗名の数が０個である場合には、店舗名が空欄に設定されれば良い。【００４０】
［入力済みシートの別の例］
図５は、実施例に係る入力済みシートの別の例を示す図である。図５に示す入力済みシート２４は、図２で示したテンプレートシート２３にユーザが財務データを入力した結果であることは、図４で示した入力済みシート２４と同じである。【００４１】
各ブロックの最終行には、「ＳＨＯＰ」列に初期表示として「SubTotal」の文字列が設定されるが、設定された文字列が変更される場合がある。例えば、符号ａ１では、ユーザが初期表示の文字列「SubTotal」の先頭文字「Ｓ」を小文字の「ｓ」に変更した場合である。また、符号ａ２では、ユーザが初期表示の文字列「SubTotal」の全文字を小文字に変更した場合である。また、符号ａ３では、ユーザが初期表示の文字列「SubTotal」の末尾に空白を追加した場合である。また、符号ａ４では、ユーザが初期表示の文字列「SubTotal」の全文字を全角に変更した場合である。なお、ユーザが初期表示の文字列を変更する場合と説明したが、これに限定されず、表計算ソフトがセルの書式設定に応じて初期表示の文字列を自動的に変更する場合であっても良い。【００４２】
このような初期表示の文字列が変更されると、マッピングエンジンは、マッピング定義２２を用いて入力済みシート２４をＸＢＲＬインスタンス４１に変換する際に、変更された文字列とマッピング定義２２の対象の文字列とが完全一致せず、エラーとみなす。そこで、以降のデータ変換部３３では、マッピング定義２２を用いて入力済みシート２４をＸＢＲＬインスタンス４１に変換する際に、ブロック内の小計の文字列について、入力済みシート２４の文字列とマッピング定義２２の対象の文字列とを正規化したうえで比較し、完全一致すれば、ブロックの最終行であると評価する場合を説明する。【００４３】
図１に戻って、データ変換部３３は、入力済みシート２４を参照して、複数の行に含まれる行のうち、第１の行と、第１の行が対応付けられた順序に対して、所定の関係を有する順序に対応付けられた第２の行とを特定する。例えば、データ変換部３３は、入力済みシート２４を参照して、Ｙ軸とＸ軸のヘッダー部のタイトル行を取得する。データ変換部３３は、入力済みシート２４を参照して、ヘッダー部より後の第１の行と、第１の行の次の行の第２の行とを特定し、特定した２行を読み込む。【００４４】
また、データ変換部３３は、第１の行に含まれる項目値のうち、第１の項目に対応付けられた項目値が、第２の行に含まれる項目値のうち、第１の項目に対応付けられた項目値と異なるか否かを判定する。データ変換部３３は、第１の行の第１の項目に対応付けられた項目値が第２の行の第１の項目に対応付けられた項目値と異なる場合には、第１の行がブロックの最終行であると予想する。すなわち、データ変換部３３は、第１の行が行群の中の切れ目と予想する。そして、データ変換部３３は、第１の行に含まれる第２の項目に対応付けられた項目値が条件を満たすか否かの判定を行う。例えば、データ変換部３３は、第１の行に含まれるセル値のうち、ＡＲＥＡの項目に対応付けられたセル値が、第２の行に含まれるセル値のうち、ＡＲＥＡの項目に対応付けられたセル値と異なるか否かを判定する。データ変換部３３は、異なる場合には、第１の行がブロックの最終行であると予想し、第１の行に含まれるＳＨＯＰの項目に対応付けられたセル値が条件を満たすか否かの判定を行う。すなわち、データ変換部３３は、第１の行に含まれるＳＨＯＰの項目に対応付けられたセル値がマッピング定義２２に定義された対象の文字列と一致するという条件を満たすか否かの判定を行う。一例として、データ変換部３３は、第１の行に含まれるＳＨＯＰの項目に対応付けられたセル値と、マッピング定義２２に定義された対象の文字列とを正規化し、正規化後の値と、正規化後の文字列とが完全一致するか否かの判定を行う。ここでいう正規化とは、例えば、対象のセル値および対象の文字列について、前後の空白を除去すること、全て小文字に統一すること、全て半角に統一することである。【００４５】
また、データ変換部３３は、条件を満たすか否かの判定結果に基づき、第１の行の評価を行う。例えば、データ変換部３３は、条件を満たすと判定した場合には、第１の行がブロックの最終行であると評価する。すなわち、データ変換部３３は、第１の行が行群の中の切れ目の行であると評価する。そして、データ変換部３３は、第１の行のＳＨＯＰの項目に対応付けられたセル値を取得し、取得したセル値の行をマッピングし、ＸＢＲＬインスタンス４１に追加する。例えば、図５が示す入力済みシート２４の場合には、ＳＨＯＰの項目に対応付けられたセル値とは、「subTotal」、「subtotal」、「SubTotal  」や「ＳｕｂＴｏｔａｌ」のことをいう。また、データ変換部３３は、条件を満たさないと判定した場合には、取得したセル値の不正を通知する。【００４６】
なお、データ変換部３３は、第１の行の第１の項目に対応付けられた項目値が第２の行の第１の項目に対応付けられた項目値と同じ場合には、第１の行と第２の行とが同じブロックであると判断する。そして、データ変換部３３は、第１の行に含まれるＳＨＯＰの項目に対応付けられたセル値の行をマッピングし、ＸＢＲＬインスタンス４１に追加すればば良い。例えば、図５が示す入力済みシート２４の場合には、ＳＨＯＰの項目に対応付けられたセル値とは、ＡＲＥＡのセル値が「Tokyo」である場合には、「Shinjyuku」、「Ikebukuro」、・・・、「Ueno」のことをいう。【００４７】
出力部３４は、データ変換部３３によって変換された結果を示すＸＢＲＬインスタンス４１を出力する。例えば、出力部３４は、変換結果であるＸＢＲＬインタンス４１をモニタに出力しても良いし、記憶部２に記憶するようにしても良い。【００４８】
［構造解析処理のイメージ］
ここで、実施例に係る構造解析処理のイメージを、図６を参照して説明する。図６は、実施例に係る構造解析処理のイメージを示す図である。図６に示すように、構造解析部３２は、ＸＢＲＬタクソノミ２１を入力する。そして、構造解析部３２は、入力したＸＢＲＬタクソノミ２１を解析し、マッピング定義２２およびテンプレートシート２３を生成し、出力する。【００４９】
例えば、構造解析部３２は、ＸＢＲＬタクソノミ２１のテーブルレイアウトから、ＸＹ軸のヘッダー部と値セル部のレイアウト（並び順）を取得する。構造解析部３２は、ＸＢＲＬタクソノミ２１のテーブルレイアウトから、ＸＹ軸のヘッダー部の情報や値セル部のデータ型を取得する。ＸＹ軸のヘッダー部の情報には、タイトルの文字列およびその値のデータ型が挙げられる。ここでは、Ｘ軸では、タイトルが“ＳＡＬＥＳ”となる。そして、Ｓａｌｅｓ要素の値のデータ型は、数値型を示す。なお、ＸＢＲＬ要素のデータ型は、項目定義から取得される。また、Ｙ軸では、タイトルとして“ＡＲＥＡ”，“ＳＨＯＰ”の値の並びとなる。そして、ＡＲＥＡ列とＳＨＯＰ列のレイアウト（並び順）が、ツリーから取得される。【００５０】
そして、構造解析部３２は、解析したレイアウト（並び順）に従って、テンプレートシート２３を生成し、生成したテンプレートシート２３を出力する。【００５１】
そして、構造解析部３２は、テンプレートシート２３の各セルに対応するＸＢＲＬ要素の情報を、マッピング定義２２のセルとＸＢＲＬ要素の紐付け情報に設定する。構造解析部３２は、解析したレイアウト（並び順）に従って、Ｙ軸のヘッダー部の階層構造を設定する。ここでは、Ｙ軸のヘッダー部では、ＡＲＥＡが“Tokyo”である場合に、ＳＨＯＰとして店舗が繰り返され、最後に小計としての“SubTotal”が設定される。同様に、ＡＲＥＡが“Saitama”である場合に、ＳＨＯＰとして店舗が繰り返され、最後に小計としての“SubTotal”が設定される。そして、ＡＲＥＡが“Total”である場合に、Ｙ軸のヘッダー部の階層構造が終了する。【００５２】
［データ変換処理のイメージ］
ここで、実施例に係るデータ変換処理のイメージを、図７を参照して説明する。図７は、実施例に係るデータ変換処理のイメージを示す図である。図７に示すように、データ変換部３３は、マッピング定義２２を用いて入力済みシート２４をＸＢＲＬインスタンス４１に変換する際に、１行先読みして先読みした行のエリア名が１行目のエリア名と異なるタイミングで、１行目の小計の文字列が条件を満たすか否かを判定する。【００５３】
例えば、データ変換部３３は、入力済みシート２４を参照して、ヘッダー部より後の２行を特定し、特定した２行を読み込む。データ変換部３３は、１行目に含まれるセル値のうち、ＡＲＥＡの項目に対応付けられたセル値が、２行目に含まれるセル値のうち、ＡＲＥＡの項目に対応付けられたセル値と異なるか否かを判定する。ここでは、一例として、１行目が符号ｂ１で示す行であって、２行目が符号ｂ２で示す行であるとする。すると、１行目のＡＲＥＡの項目に対応付けられたセル値が“Tokyo”であり、２行目のＡＲＥＡの項目に対応付けられたセル値が“Kanagawa”である。したがって、１行目のＡＲＥＡ項目に対応付けられたセル値が２行目のＡＲＥＡ項目に対応付けられたセル値と異なると判定される。かかる場合には、１行目がブロックの最終行であると予想される。【００５４】
そして、データ変換部３３は、１行目に含まれるＳＨＯＰの項目に対応付けられたセル値がマッピング定義２２に定義された対象の文字列と一致するという条件を満たすか否かの判定を行う。一例として、データ変換部３３は、１行目に含まれるＳＨＯＰの項目に対応付けられたセル値と、マッピング定義２２に定義された対象の文字列とを正規化し、正規化後の値と、正規化後の文字列とが完全一致するか否かの判定を行う。ここでは、１行目が符号ｂ１で示す行であるとする。すると、１行目に含まれるＳＨＯＰの項目に対応付けられたセル値が“subTotal”（符号ｃ１）である。マッピング定義２２に定義された対象の文字列は、“SubTotal”（符号ｃ２）である。ここでいう正規化が、対象のセル値および対象の文字列について、前後の空白を除去すること、全て小文字に統一すること、全て半角に統一することであるとする。すると、符号ｃ１で示される“subTotal”が正規後の値は、“subtotal”となる。符号ｃ２で示される“SubTotal”が正規後の文字列は、“subtotal”となる。したがって、正規化後の値と、文字列とが完全一致すると判定される。【００５５】
そして、データ変換部３３は、条件を満たすと判定した場合には、１行目がブロックの最終行であると評価する。すなわち、データ変換部３３は、１行目がブロックの切れ目であると評価する。そして、データ変換部３２は、１行目のＳＨＯＰの項目に対応付けられたセル値の行をマッピングし、ＸＢＲＬインスタンス４１に追加する。ここでは、符号ｂ１で示される行がマッピング定義２２を用いてマッピングされ、マッピングされた結果（符号ｄ１）がＸＢＲＬインスタンス４１に追加される。なお、データ変換部３３は、条件を満たさないと判定した場合には、取得したセル値の不正を通知する。【００５６】
また、データ変換部３３は、１行目に含まれるセル値のうち、ＡＲＥＡの項目に対応付けられたセル値が、２行目に含まれるセル値のうち、ＡＲＥＡの項目に対応付けられたセル値と同じである場合には、１行目と２行目とが同じブロックであると判断する。そして、データ変換部３３は、１行目に含まれるＳＨＯＰの項目に対応付けられたセル値の行をマッピングし、ＸＢＲＬインスタンス４１に追加する。ここでは、符号ｂ３で示される行がマッピング定義２２を用いてマッピングされ、マッピングされた結果（符号ｄ２）がＸＢＲＬインスタンス４１に追加される。【００５７】
このようにして、データ変換部３３では、マッピング定義２２を用いて入力済みシート２４をＸＢＲＬインスタンス４１に変換する際に、小計の文字列をマッピング定義２２の対象の文字列とともに正規化したうえで比較するので、小計の文字列に表記揺れがあっても適切にマッピングすることができる。また、データ変換部３３は、２行ずつ処理し、２行目のエリア名が１行目のエリア名と異なる場合に、１行目がブロックの切れ目であり、小計を含むとみなすことができる。このため、データ変換部３３は、このタイミングで小計の文字列をマッピング定義２２の対象の文字列とともに正規化し比較することができる。したがって、データ変換部３３は、１行ずつ小計だけでなく小計以外の文字列をもマッピング定義２２の対象の文字列とともに正規化し比較するよりも、全体の処理時間を削減できる。【００５８】
［データ変換処理のフローチャート］
次に、実施例に係るデータ変換処理のフローチャートについて、図８を参照して説明する。図８は、実施例に係るデータ変換処理のフローチャートの一例を示す図である。なお、入力済みシート２４は、図２が示すテンプレートシート２３に入力したものとする。【００５９】
まず、データ変換部３３は、入力済みシート２４を受け付けたか否かを判定する（ステップＳ１１）。入力済みシート２４を受け付けていないと判定した場合には（ステップＳ１１；Ｎｏ）、データ変換部３３は、入力済みシート２４を受け付けるまで、判定処理を繰り返す。【００６０】
一方、入力済みシート２４を受け付けたと判定した場合には（ステップＳ１１；Ｙｅｓ）、データ変換部３３は、Ｘ軸とＹ軸のヘッダー部のタイトル行を取得する（ステップＳ１２）。データ変換部３３は、ヘッダー部より後の２行を解析対象行として読み込む（ステップＳ１３）。【００６１】
そして、データ変換部３３は、２行目の“ＡＲＥＡ”列の文字列は１行目と同じであるか否かを判定する（ステップＳ１４）。同じであると判定した場合には（ステップＳ１４；Ｙｅｓ）、データ変換部３３は、１行目の“ＳＨＯＰ”列の店舗の文字列を取得し、マッピング定義２２を用いて店舗のマッピング処理を行う（ステップＳ１５）。【００６２】
そして、データ変換部３３は、１行目を破棄し、２行目を１行目にシフトし、２行目に新規の１行を読み込む（ステップＳ１６）。データ変換部３３は、読み込んだ１行がデータの終端を含むか否かを判定する(ステップＳ１７)。データの終端を含むレコードとは、例えば、空行（何も設定されていない行）のことをいう。読み込んだ１行がデータの終端を含む行であると判定した場合には（ステップＳ１７；Ｙｅｓ）、データ変換部３３は、入力済みシート２４の最終行であると判断し、データ変換処理を終了する。【００６３】
一方、読み込んだ１行がデータの終端を含む行でないと判定した場合には（ステップＳ１７；Ｎｏ）、データ変換部３３は、新規の２行を処理すべく、ステップＳ１４に移行する。【００６４】
ステップＳ１４において、２行目の“ＡＲＥＡ”列の文字列は１行目と同じでないと判定した場合には（ステップＳ１４；Ｎｏ）、データ変換部３３は、１行目がブロックの最終行であると判断する。言い換えれば、データ変換部３３は、２行目がブロックの開始行であると判断する。そして、データ変換部３３は、２行目の“ＡＲＥＡ”列の文字列は、マッピング定義２２の次ブロックのエリア名と同じであるか否かを判定する（ステップＳ１８）。【００６５】
同じでないと判定した場合には（ステップＳ１８；Ｎｏ）、データ変換部３３は、エラーであるとしてエリア名の不正を通知し（ステップＳ１９）、データ変換処理を終了する。【００６６】
一方、同じであると判定した場合には（ステップＳ１８；Ｙｅｓ）、データ変換部３３は、１行目の“ＳＨＯＰ”列の文字列を正規化する（ステップＳ２０）。すなわち、データ変換部３３は、小計の文字列を正規化する。【００６７】
そして、データ変換部３３は、１行目の“ＳＨＯＰ”列の正規化後の文字列は、マッピング定義２２の小計の正規化後の文字列（例えば“subtotal”）と同じであるか否かを判定する（ステップＳ２１）。同じでないと判定した場合には（ステップＳ２１；Ｎｏ）、データ変換部３３は、エラーであるとして小計の不正を通知し（ステップＳ２２）、データ変換処理を終了する。【００６８】
一方、同じであると判定した場合には（ステップＳ２１；Ｙｅｓ）、データ変換部３３は、データ変換部３３は、１行目の“ＳＨＯＰ”列の文字列の小計の文字列を取得し、小計のマッピング処理を行う（ステップＳ２３）。【００６９】
そして、データ変換部３３は、２行目の“ＡＲＥＡ”列の文字列は、マッピング定義２２の総計の文字列（例えば“Total”）と同じであるか否かを判定する（ステップＳ２４）。同じ出ないと判定した場合には（ステップＳ２４；Ｎｏ）、データ変換部３３は、次の行を読み込むべく、ステップＳ１６に移行する。【００７０】
一方、同じであると判定した場合には（ステップＳ２４；Ｙｅｓ）、データ変換部３３は、２行目の総計のマッピング処理を行う（ステップＳ２５）。そして、データ変換部３３は、データ変換処理を終了する。【００７１】
［情報処理装置の用途の一例］
次に、実施例に係る情報処理装置の用途の一例を、図９を参照して説明する。図９は、実施例に係る情報処理装置の用途の一例を示す図である。図９に示すように、情報処理装置１は、監督機関側に設置される。監督機関によってＸＢＲＬタクソノミ２１が作成される。そして、構造解析部３２は、作成されたＸＢＲＬタクソノミ２１を入力し、入力したＸＢＲＬタクソノミ２１を用いて、テンプレートシート２３およびマッピング定義２２を生成する（Ｓ２１０）。監督機関は、生成されたテンプレートシート２３およびマッピング定義２２を公開し、提出企業がテンプレートシート２３を取得できるようにする。提出企業は、取得したテンプレートシート２３を用いて財務データを入力し、入力済みシート２４を作成する。そして、データ変換部３３は、入力済みシート２４を入力し、入力した入力済みシート２４をＸＢＲＬインスタンス４１に変換する（Ｓ２２０）。【００７２】
なお、図９で示した情報処理装置１は、監督機関側に設置されたサーバモデルであるが、これに限定されない。情報処理装置１は、提出企業側に設置されるクライアントモデルであっても良い。【００７３】
［実施例の効果］
上記実施例によれば、情報処理装置１は、順序付けられた複数のレコードを含み、各レコードが複数の項目にそれぞれ対応付けられた複数の項目値を有するレコード群を取得する。情報処理装置１は、取得したレコード群に含まれるレコードのうち、第１のレコードと、第１のレコードが対応付けられた順序に対して所定関係を有する順序に対応付けられた第２のレコードとを特定する。情報処理装置１は、第１のレコードに含まれる項目値のうち、第１の項目に対応付けられた項目値が、第２のレコードに含まれる項目値のうち、第１の項目に対応付けられた項目値と異なる場合、第１のレコードに含まれる第２の項目に対応付けられた項目値が条件を満たすか否かの判定を行う。情報処理装置１は、判定結果に基づき、第１のレコードの評価を行う。かかる構成によれば、情報処理装置１は、レコードの評価に関する処理負荷を低減することができる。例えば、情報処理装置１は、第２の項目に対応付けられた項目値の表記に揺れがあっても、第１のレコードの第１の項目に対応付けられた項目値が第２のレコードの第１の項目に対応付けられた項目値と異なるタイミングで、表記の揺れを正規化したうえで第１のレコードの評価を行うので、全体の処理時間を削減できる。すなわち、情報処理装置１は、１レコードずつ第２の項目に対応付けられた項目値が条件を満たすか否かを判定するよりも、第２の項目に対応付けられたピンポイントの項目値（例えば小計の文字列）について条件を満たすか否かを判定することで、全体の処理時間を削減できる。【００７４】
また、上記実施例によれば、情報処理装置１は、第１のレコードに含まれる第２の項目に対応付けられた項目値を正規化するとともに、正規化された項目値が予め登録されたキーワードと一致するか否かの判定を行う。かかる構成によれば、情報処理装置１は、第２の項目に対応付けられた項目値の表記の揺れを効率的に判定できる。この結果、情報処理装置１は、第２の項目に対応付けられた項目値に表記の揺れがあった場合であっても、表記の揺れを吸収したうえで、この項目値についてもマッピング処理を行うことができる。【００７５】
また、上記実施例によれば、情報処理装置１は、正規化された項目値がキーワードと一致する場合に、第１のレコードがレコード群の中の切れ目のレコードであると評価する。かかる構成によれば、情報処理装置１は、項目値の表記に揺れがあっても、表記の揺れを吸収しつつ、継続して評価することができる。【００７６】
また、上記実施例によれば、情報処理装置１は、正規化された項目値がキーワードと一致しない場合に、第１のレコードがレコード群の中の切れ目のレコードでないと評価し、評価結果を通知する。かかる構成によれば、情報処理装置１は、項目値が不正であることを知らせることができる。【００７７】
［プログラム等］
なお、情報処理装置１は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した制御部３と、記憶部２等の各機能を搭載することによって実現することができる。【００７８】
また、図示した情報処理装置１の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置１の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、入力部３１と構造解析部３２とを１個の部として統合しても良い。データ変換部３３と出力部３４とを１個の部として統合しても良い。一方、構造解析部３２を、マッピング定義２２を生成する第１の生成部と、テンプレートシート２３を生成する第２の生成部とに分散しても良い。また、ＸＢＲＬタクソノミ２１、マッピング定義２２、テンプレートシート２３および入力済みシート２４等の記憶部２を情報処理装置１の外部装置としてネットワーク経由で接続するようにしても良い。【００７９】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した情報処理装置１と同様の機能を実現する評価プログラムを実行するコンピュータの一例を説明する。図１０は、評価プログラムを実行するコンピュータの一例を示す図である。【００８０】
図１０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７を有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ（Hard  Disk  Drive）２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。【００８１】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、評価プログラム２０５ａおよび評価処理関連情報２０５ｂを記憶する。【００８２】
ＣＰＵ２０３は、評価プログラム２０５ａを読み出して、メモリ２０１に展開する。評価プログラム２０５ａは、評価プロセスとして機能する。【００８３】
例えば、評価プロセスは、制御部３の各機能部に対応する。評価処理関連情報２０５ｂは、ＸＢＲＬタクソノミ２１、マッピング定義２２、テンプレートシート２３および入力済みシート２４に対応する。【００８４】
なお、評価プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、ＤＶＤ（Digital  Versatile  Disk）、光磁気ディスク、ＩＣ（Integrated  Circuit）カード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらからプログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【００８５】
１  情報処理装置
２  記憶部
３  制御部
２１  ＸＢＲＬタクソノミ
２２  マッピング定義
２３  テンプレートシート
２４  入力済みシート
３１  入力部
３２  構造解析部
３３  データ変換部
３４  出力部
４１  ＸＢＲＬインスタンス
【図１】
2019146090.tif 000003
【図２】
2019146090.tif 000004
【図３】
2019146090.tif 000005
【図４】
2019146090.tif 000006
【図５】
2019146090.tif 000007
【図６】
2019146090.tif 000008
【図７】
2019146090.tif 000009
【図８】
2019146090.tif 000010
【図９】
2019146090.tif 000011
【図１０】
2019146090.tif 000012
【図１１】
2019146090.tif 000013
【図１２Ａ】
2019146090.tif 000014
【図１２Ｂ】
2019146090.tif 000015
【図１２Ｃ】
2019146090.tif 000016
【国際調査報告】
2019146090.tif 000017
2019146090.tif 000018
2019146090.tif 000019
2019146090.tif 000020