WO2019150510A1 - 特定プログラム、情報処理装置および特定方法 - Google Patents

特定プログラム、情報処理装置および特定方法 Download PDF

Info

Publication number
WO2019150510A1
WO2019150510A1 PCT/JP2018/003282 JP2018003282W WO2019150510A1 WO 2019150510 A1 WO2019150510 A1 WO 2019150510A1 JP 2018003282 W JP2018003282 W JP 2018003282W WO 2019150510 A1 WO2019150510 A1 WO 2019150510A1
Authority
WO
WIPO (PCT)
Prior art keywords
item
file
sheet
item value
character string
Prior art date
Application number
PCT/JP2018/003282
Other languages
English (en)
French (fr)
Inventor
貴英 村本
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2019568490A priority Critical patent/JP7040536B2/ja
Priority to PCT/JP2018/003282 priority patent/WO2019150510A1/ja
Priority to RU2020125431A priority patent/RU2751580C1/ru
Publication of WO2019150510A1 publication Critical patent/WO2019150510A1/ja
Priority to US16/929,180 priority patent/US11328501B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • G06Q40/123Tax preparation or submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/416Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Definitions

  • the present invention relates to a specific program and the like.
  • XBRL eXtensible Business Reporting Language
  • XBRL is a language developed based on XML (eXtensible Markup Language) as a data description language for facilitating the creation, distribution and use of business reports.
  • Taxonomy Financial statement data submitted to supervisory institutions such as the Financial Services Agency and the Tokyo Stock Exchange are called instances.
  • An instance is created based on a definition body (called “taxonomy”) published by a supervisory body.
  • the taxonomy includes a schema that defines the name and type information of the XBRL element corresponding to the item, and a link base that defines the relationship between the XBRLs.
  • the relationship between the XBRL elements corresponds to, for example, the display order of items on the financial statements, the tabulation method, and the like.
  • FIG. 11 is a diagram illustrating a reference example of a flow of creating an instance.
  • taxonomy written in XBRL is stored and made public.
  • the mapping engine downloads the public taxonomy (S110), and generates a mapping definition and a template sheet based on the taxonomy (S120).
  • a template sheet refers to a table created by spreadsheet software such as Excel.
  • the mapping definition defines the association of the cell position and size information of the header part and the input part in the table, and the property information of the XBRL element corresponding to the cell.
  • the person in charge inputs financial data to the template sheet, and creates an input sheet (S130).
  • the input sheet is input to the mapping engine, and the mapping engine converts the input input sheet into an instance using the mapping definition (S140), and uploads the instance to the supervisory authority (S150).
  • the supervisory body accumulates and verifies instances.
  • FIG. 12A, FIG. 12B, and FIG. 12C are diagrams illustrating a reference example of a table that indicates an input sheet that has been input to the template sheet.
  • the Financial Services Agency submits electronic data of a sales list of stores in the Kanto area to companies that open stores in the Kanto area.
  • FIG. 12A is an input sheet of a sales list of all stores in the Kanto area of the company when the company size is large.
  • FIG. 12B is an input sheet of a sales list of all stores in the Kanto area of the company when the size of the company is small.
  • the mapping engine reads the sales list line by line from top to bottom for each of these input sheets, extracts the cell values from the left to the right, and sets them to a predetermined attribute value or element value. Create an XML instance.
  • FIG. 12C shows the sales list table divided into a breakdown table and a total table, and reproduced using a table link base.
  • the table link base it is known that the area breakdown and the total are divided into tables.
  • the evaluation device compares the cell configuration (combination of character string and data type) acquired from the mapping definition with the cell configuration of the input sheet row for each row of the plurality of rows, Accordingly, the target row for the comparison process is evaluated.
  • the input sheet is a sheet input to the template sheet, but the template sheet is only allowed to add rows or columns. That is, deletion of rows or deletion of columns is not permitted.
  • the template sheet is generated simultaneously with the mapping definition from the table link base. For this reason, if an unnecessary line is deleted from the template sheet, the mapping engine regards it as an error when converting the input sheet input to this template sheet into an instance using the mapping definition. End up. This is because the one-to-one relationship between the input sheet and the mapping definition is broken. Therefore, when an input sheet is converted into an instance, it is not possible to specify an instance item associated with an item value included in the input sheet.
  • an object of the present invention is to improve the accuracy of specifying an item of an instance that associates an item value included in an input sheet when the input sheet is converted into an instance.
  • An evaluation program receives a first file, and shows information indicating a correspondence relationship between an item included in the first file and an item included in a second file having a format different from that of the first file. Is obtained, and the item value associated with the specific item included in the file is stored in association with the identification information of the file, and is associated with the received identification information of the first file. The acquired item value is acquired, and among the items included in the received first file, the item value associated with the specific item is compared with the acquired item value, and the comparison result is obtained. And the item to be associated with the item value associated with the second item included in the received first file among the items included in the second file based on the acquired information. Identifying a to execute the process to the computer.
  • FIG. 1 is a functional block diagram illustrating the configuration of the information processing apparatus according to the embodiment.
  • FIG. 2 is a diagram illustrating an example of a template sheet according to the embodiment.
  • FIG. 3 is a diagram illustrating an example of the mapping definition according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of the input sheet according to the embodiment.
  • FIG. 5 is a diagram illustrating another example of the input sheet according to the embodiment.
  • FIG. 6 is a diagram illustrating an image of the structure analysis process according to the embodiment.
  • FIG. 7 is a diagram illustrating an image of data conversion processing according to the embodiment.
  • FIG. 8 is a diagram illustrating an example of a flowchart of data conversion processing according to the embodiment.
  • FIG. 1 is a functional block diagram illustrating the configuration of the information processing apparatus according to the embodiment.
  • FIG. 2 is a diagram illustrating an example of a template sheet according to the embodiment.
  • FIG. 3 is a diagram illustrating an example of the mapping definition according to the embodiment
  • FIG. 9 is a diagram illustrating an example of the use of the information processing apparatus according to the embodiment.
  • FIG. 10 is a diagram illustrating an example of a computer that executes a specific program.
  • FIG. 11 is a diagram illustrating a reference example of a flow of creating an instance.
  • FIG. 12A is a diagram illustrating a reference example of a table indicating input sheets that have been input to the template sheet.
  • FIG. 12B is a diagram illustrating a reference example of a table indicating already input sheets input to the template sheet.
  • FIG. 12C is a diagram illustrating a reference example of a table indicating already input sheets input to the template sheet.
  • FIG. 1 is a functional block diagram illustrating the configuration of the information processing apparatus according to the embodiment.
  • the information processing apparatus 1 converts table format data into an instance described in XBRL while absorbing fluctuations in the layout of table format data having a plurality of blocks.
  • the instance here is referred to as an “XBRL instance”.
  • the conversion here is synonymous with “mapping”.
  • the fluctuation of the layout means changing the layout of the initial display of the data in the table format having a plurality of blocks.
  • the shake of the layout one block is deleted from the initial display layout, but the present invention is not limited to this.
  • the position of the block may be changed from the layout of the initial display.
  • the information processing apparatus 1 includes a storage unit 2 and a control unit 3.
  • the storage unit 2 corresponds to a storage device such as a nonvolatile semiconductor memory element such as a flash memory or a FRAM (registered trademark) (Ferroelectric Random Access Memory).
  • the storage unit 2 includes an XBRL taxonomy 21, a mapping definition 22, a template sheet 23, and an input completed sheet 24.
  • the XBRL taxonomy 21 defines a system of XBRL elements and includes a schema, a link base, and a table link base.
  • the schema is a dictionary that stores attribute information such as the name and data type of the XBRL element, and corresponds to “item definition” in the embodiment.
  • the link base is a document that describes, for example, a parent-child relationship between XBRL elements, a display order, a display name, and the like.
  • the table link base is a document describing the table layout of the XBRL element, and corresponds to “table layout” in the embodiment.
  • the template sheet 23 is a general-purpose template sheet showing an input form that reproduces the financial statements.
  • the template sheet 23 refers to a table created by spreadsheet software such as Excel.
  • the template sheet 23 is defined using a table link base (table layout), and is generated by a structure analysis unit 32 described later. An example of the contents of the template sheet 23 will be described later.
  • the mapping definition 22 indicates a correspondence relationship between items included in the template sheet 23 and items included in the XBRL instance 41.
  • the mapping definition 22 defines data type combination information of the header (title) portion in the table indicated by the template sheet 23.
  • combinations of data types of the X-axis header part, the Y-axis header part, the X-axis header part, the Y-axis header part, and the Z-axis header part are defined.
  • Examples of data types include, but are not limited to, a character string type, a date type, and a numeric type.
  • the mapping definition 22 defines the hierarchical structure of the header when the cell in the table indicated by the template sheet 23 is associated with the XBRL element of the XBRL instance 41, and when the header has a hierarchy. In the association information between the cell in the table and the XBRL element, the column position of the cell in the header part and the input part in the table and the property information of the XBRL element corresponding to the cell are defined.
  • the hierarchical structure of the header includes the character string of the first cell column, the input content of the input portion of the second cell column, and The initial display string is defined.
  • the mapping definition 22 is generated by a structure analysis unit 32 described later. An example of the contents of the mapping definition 22 will be described later.
  • the input sheet 24 is a sheet in which financial data has already been input to the template sheet 23.
  • the input sheet 24 is input by the user.
  • the user is, for example, a person in charge of the submitting company.
  • the control unit 3 has an internal memory for storing programs and control data that define various processing procedures, and executes various processes using these.
  • the control unit 3 corresponds to, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array) or an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit).
  • the control unit 3 includes an input unit 31, a structure analysis unit 32, a data conversion unit 33, and an output unit 34.
  • the data conversion unit 33 is an example of an acquisition unit, a specification unit, a determination unit, and an evaluation unit.
  • the input unit 31 inputs the XBRL taxonomy 21 and stores the input XBRL taxonomy 21 in the storage unit 2.
  • the structure analysis unit 32 analyzes the XBRL taxonomy 21 and generates a mapping definition 22 and a template sheet 23 according to the definition of the table link base (table layout).
  • the structure analysis unit 32 stores the generated mapping definition 22 and template sheet 23 in the storage unit 2.
  • FIG. 2 is a diagram illustrating an example of a template sheet according to the embodiment. 2 is a template for a sales list of all stores of a company.
  • the template sheet 23 has title lines of a Y-axis header part and an X-axis header part. Further, the template sheet 23 has a plurality of blocks after the title row. That is, in the template sheet 23, a title table and a plurality of blocks constitute one table. In FIG. 2, in the template sheet 23, after blocks for a plurality of areas continue, total blocks are arranged in the last row. Note that the arrangement order of blocks is defined by the table layout of the XBRL taxonomy 21.
  • the AREA column and the SHOP column in the Y-axis header part are in a parent-child relationship and form a hierarchical structure.
  • the hierarchical structure of the Y-axis header portion is defined by the table layout of the XBRL taxonomy 21.
  • the block is composed of an AREA column, a SHOP column, and a SALES column.
  • the AREA column is an area name (area name).
  • a fixed character string of each area name is set.
  • the area names and the order of the area names are defined in the table layout of the XBRL taxonomy 21. That is, each area name is set in the AREA column of each block in the order laid out in the table layout of the XBRL taxonomy 21.
  • each shop name and a subtotal fixed character string “SubTotal” are set in the SHOP column.
  • Each store name is input by the user.
  • the subtotal fixed character string “SubTotal” is defined in the table layout of the XBRL taxonomy 21.
  • the sales value of each store and the subtotal value in the block are input by the user.
  • column in a block is added as needed by the user.
  • the store name is an arbitrary character string.
  • the subtotal is located on the last line of the block.
  • the last block is composed of a combined cell of the AREA column and the SHOP column and a cell of the SALES column.
  • the combined cell is set with a total fixed character string “Total”.
  • the fixed total character string “Total” is defined in the table layout of the XBRL taxonomy 21.
  • the total value of stores in all blocks is input by the user.
  • each data type is set in each cell of the template sheet 23.
  • the data type of each cell is defined in the item definition of the XBRL taxonomy 21.
  • FIG. 3 is a diagram illustrating an example of the mapping definition according to the embodiment.
  • the mapping definition 22 described in FIG. 3 is a definition related to the mapping of the sales list of all stores of a certain company.
  • the mapping definition 22 includes association information between a cell and an XBRL element. The following information is described in the association information between the cell and the XBRL element. In the case of an area where a value is set or entered in the A column, in the case of an area, it is associated with the value of the ⁇ Area> property of the ⁇ Sales> element indicating the XBRL element.
  • the total it is linked with the value “Total” of the ⁇ Level> property of the ⁇ Sales> element indicating the XBRL element.
  • a cell in which a value is set or input in the B column is associated with the value of the ⁇ Shop> property of the ⁇ Sales> element indicating the XBRL element.
  • a subtotal it is associated with the value “Total” of the ⁇ Level> property of the ⁇ Sales> element indicating the XBRL element.
  • the cell for which a value is input to the C column is associated with the value of the ⁇ Sales> element indicating the XBRL element.
  • the mapping definition 22 further includes information on the hierarchical structure of the Y-axis header. That is, the hierarchical structure of the AREA column and the SHOP column of the Y-axis header part is defined. If the value of the AREA column in the Y-axis header is “Tokyo”, the store in the SHOP column in the Y-axis header is repeated, and the fixed substring “SubTotal” is set in the last row of the “Tokyo” block. Is done. If the value of the AREA column in the Y-axis header is “Saitama”, the store in the SHOP column in the Y-axis header is repeated, and the substring fixed character string “SubTotal” is displayed in the last row of the “Saitama” block. Is set. Then, when the value of the AREA column in the Y-axis header is “Total”, all blocks are completed.
  • mapping definition 22 is not shown, but further includes data type combination information.
  • the data type combination information the data type combination of the header portion of the X axis is set.
  • a data type combination of the Y-axis header is set.
  • combination information of the data type combination information of a value cell part for inputting a value is set.
  • “character string type, character string type” is set as a combination of data types of the header part of the Y axis.
  • Numeric type is set as a combination of data types of the X-axis header part.
  • FIG. 4 is a diagram illustrating an example of the input sheet according to the embodiment.
  • the input completed sheet 24 shown in FIG. 4 is a result of the user inputting financial data to the template sheet 23 shown in FIG.
  • the input sheet 24 is composed of a plurality of blocks.
  • the initial state of the template sheet 23 is not changed with respect to the arrangement order of the plurality of blocks. That is, the arrangement order of the plurality of blocks is the same as that defined in the table layout of the XBRL taxonomy 21.
  • the character string “SubTotal” is initialized in the “SHOP” column.
  • the character string “Total” is initially set in the combined cell of the AREA column and the SHOP column.
  • “SubTotal” and “Total” are initially set in the template sheet 23.
  • five blocks are represented, and a “Tokyo” block, a “Kanagawa” block, a “Chiba” block, a “Saitama” block, and a “Total” block are represented.
  • the number of shop names in the SHOP column of each block is plural, but may be one or two, and the number is not limited. When the number of store names is 0, the store name may be set to a blank.
  • FIG. 5 is a diagram illustrating another example of the input sheet according to the embodiment.
  • the input sheet 24 shown in FIG. 5 is the same as the input sheet 24 shown in FIG. 4 that is a result of the user inputting financial data to the template sheet 23 shown in FIG.
  • the input sheet 24 shown in FIG. 5 is different from the input sheet 24 shown in FIG. 4 in that the input sheet 24 shown in FIG. 5 is changed from the initial state of the template sheet 23 in the arrangement order of a plurality of blocks. It is. That is, the arrangement order of the plurality of blocks is different from that defined in the table layout of the XBRL taxonomy 21.
  • the input sheet 24 of FIG. 5 as indicated by reference numeral a ⁇ b> 1, the block between the block whose “AREA” column is “Tokyo” and the block whose “Saitama” is deleted. The block is deleted because, for example, the user deleted an unnecessary block.
  • the mapping engine regards it as an error when converting the input sheet 24 into the XBRL instance 41 using the mapping definition 22. This is because the template sheet 23 before being input to the input sheet 24 is generated simultaneously with the mapping definition 22 from the table link base of the XBRL taxonomy 21. The mapping engine performs mapping processing in order from the first row of the input sheet 24 downward. Therefore, when a block is deleted, the mapping engine does not completely match the target character string of the block next to the deleted block and the target character string of the mapping definition 22, and considers it an error. That is, the one-to-one relationship between the template sheet 23 and the mapping definition 22 is broken.
  • the data conversion unit 33 determines the character after the corresponding character string. Compare with column.
  • the data conversion unit 33 receives the input sheet 24 and acquires the mapping definition 22 on the memory.
  • the data conversion unit 33 refers to the mapping definition 22 and acquires the item value associated with the received identification information of the input sheet 24. For example, the data conversion unit 33 acquires a character string associated with the AREA item in the Y-axis header in the template sheet 23 generated simultaneously with the mapping definition 22 from the hierarchical structure of the Y-axis header in the mapping definition 22. . In addition, when the data conversion unit 33 receives a notification that there is no match by the comparison process, the data conversion unit 33 acquires a character string associated with the AREA item in the next order from the hierarchical structure of the Y-axis header.
  • the data conversion unit 33 compares the item value associated with a specific item among the items included in the received input sheet 24 and the item value acquired with reference to the mapping definition 22. . For example, the data conversion unit 33 compares the fixed character string associated with the AREA item included in the input sheet 24 with the character string acquired from the hierarchical structure of the Y-axis header in the mapping definition 22. If the fixed character string of the input sheet 24 and the character string of the hierarchical structure of the Y-axis header do not match, the data conversion unit 33 notifies the acquisition process that they do not match.
  • the data conversion unit 33 sets the item value associated with the second item included in the received input sheet 24 among the items included in the XBRL instance 41 based on the comparison result and the mapping definition 22. Identify items to be associated. For example, when the fixed character string of the input sheet 24 matches the character string of the hierarchical structure of the Y-axis header, the data conversion unit 33 performs the following processing. The data conversion unit 33 associates the character string associated with the SHOP item included in the line among the items included in the XBRL instance 41 based on the mapping definition 22 with respect to the fixed character string row of the input sheet 24. Identify target items. That is, the data conversion unit 33 maps the fixed character string row of the input sheet 24 and the XBRL instance 41.
  • the data conversion unit 33 updates the hierarchical structure of the Y-axis header in the mapping definition 22 on the memory. For example, if the fixed character string of the input sheet 24 does not match the character string of the hierarchical structure of the Y-axis header, the data conversion unit 33 converts the character string that does not match from the hierarchical structure of the Y-axis header. Delete the corresponding hierarchical structure. Thus, the data conversion unit 33 can speed up the next data conversion process of the submitting company that uses the input sheet 24 by updating the hierarchical structure of the Y-axis header in the mapping definition 22.
  • the output unit 34 outputs an XBRL instance 41 indicating the result converted by the data conversion unit 33.
  • the output unit 34 may output the conversion result XBRL instance 41 to the monitor or may store it in the storage unit 2.
  • FIG. 6 is a diagram illustrating an image of the structure analysis process according to the embodiment.
  • the structure analysis unit 32 inputs the XBRL taxonomy 21. Then, the structure analysis unit 32 analyzes the input XBRL taxonomy 21, generates a mapping definition 22 and a template sheet 23, and outputs them.
  • the structure analysis unit 32 acquires the layout (order of arrangement) of the header part and value cell part of the XY axis from the table layout of the XBRL taxonomy 21.
  • the structure analysis unit 32 acquires information on the header part of the XY axes and the data type of the value cell part from the table layout of the XBRL taxonomy 21.
  • the information of the header part of the XY axis includes the title character string and the data type of the value.
  • the title is “SALES”.
  • the data type of the value of the Sales element indicates a numeric type.
  • the data type of the XBRL element is acquired from the item definition.
  • the values “AREA” and “SHOP” are arranged as titles. Then, the layout (arrangement order) of the AREA column and the SHOP column is acquired from the tree.
  • the structure analysis unit 32 sets the information of the XBRL element corresponding to each cell of the template sheet 23 as the association information between the cell of the mapping definition 22 and the XBRL element.
  • the structure analysis unit 32 sets the hierarchical structure of the Y-axis header part according to the analyzed layout (arrangement order).
  • the “Tokyo” layer, the “Kanagawa” layer, the “Chiba” layer, and the “Saitama” layer are set in the AREA column in the header area of the Y axis in accordance with the arrangement order of the table layout.
  • AREA is “Tokyo”
  • the store is repeated as SHOP
  • “SubTotal” is set as a subtotal.
  • AREA is “Kanagawa”
  • the store is repeated as SHOP
  • “SubTotal” is set as a subtotal.
  • AREA is “Chiba”
  • the store is repeated as SHOP
  • “SubTotal” is set as a subtotal.
  • AREA is “Saitama”
  • SHOP SHOP
  • SubTotal is set as a subtotal.
  • the structure analysis unit 32 generates the template sheet 23 according to the analyzed layout (arrangement order), and outputs the generated template sheet 23.
  • the “Tokyo” block, the “Kanagawa” block, the “Chiba” block, and the “Saitama” block are set in the template sheet 23 according to the arrangement order of the table layout.
  • FIG. 7 is a diagram illustrating an image of data conversion processing according to the embodiment.
  • the “Kanagawa” block and the “Chiba” block are deleted from the blocks included in the input sheet 24.
  • the data conversion unit 33 performs the following processing when converting the input sheet 24 into the XBRL instance 41 using the mapping definition 22. If the specific fixed character string of the block to be converted is different from the corresponding character string in the hierarchical structure of the Y-axis header in the mapping definition 22, the data conversion unit 33 Make a comparison.
  • the data conversion unit 33 upon receiving the input sheet 24, acquires “Tokyo” from the hierarchical structure of the Y-axis header in the mapping definition 22.
  • the acquired “Tokyo” is a character string associated with the AREA item of the template sheet 23 generated simultaneously with the mapping definition 22.
  • the data conversion unit 33 acquires the fixed character string “Tokyo” associated with the AREA item included in the input sheet 24.
  • the data conversion unit 33 compares the acquired fixed character string “Tokyo” with the character string acquired from the mapping definition 22.
  • the comparison result indicates a match.
  • the data conversion unit 33 then associates the fixed character string “Tokyo” of the input sheet 24 with the SHOP item included in the XBRL instance 41 among the items included in the XBRL instance 41 based on the mapping definition 22. Identify the item to be associated with the character string.
  • the data conversion unit 33 determines that it is a store based on the mapping definition 22. This is because the character string associated with the SHOP item is not “SubTotal”. Then, the data conversion unit 33 specifies the item “Shop” included in the XBRL instance 41 because “Shibuya” is a store. Then, the data conversion unit 33 maps the row b1 of the fixed character string “Tokyo” of the input sheet 24 as indicated by the code d1 of the XBRL instance 41.
  • the data conversion unit 33 determines that the subtotal is based on the mapping definition 22. This is because the character string associated with the SHOP item is “SubTotal”. Then, the data conversion unit 33 specifies the item “Level” included in the XBRL instance 41 because “SubTotal” is a subtotal. Then, the data conversion unit 33 maps the row b2 of the fixed character string “Tokyo” of the input sheet 24 as indicated by the code d2 of the XBRL instance 41.
  • the data conversion unit 33 acquires the fixed character string “Saitama” associated with the AREA item included in the input sheet 24.
  • the data converter 33 compares the acquired fixed character string “Saitama” with the character string acquired from the mapping definition 22.
  • the comparison result indicates a mismatch.
  • the data conversion unit 33 compares the acquired fixed character string “Saitama” with the character string acquired next from the mapping definition 22.
  • the comparison result indicates a mismatch.
  • the data conversion unit 33 compares the acquired fixed character string “Saitama” with the character string acquired next from the mapping definition 22.
  • the comparison result indicates a match.
  • the data conversion unit 33 then associates the fixed character string “Saitama” of the input sheet 24 with the SHOP item included in the row among the items included in the XBRL instance 41 based on the mapping definition 22. Identify the item to be associated with the character string.
  • the data conversion unit 33 determines that the store is a store based on the mapping definition 22. This is because the character string associated with the SHOP item is not “SubTotal”. Then, the data conversion unit 33 specifies the item “Shop” included in the XBRL instance 41 because “Ohmiya” is a store. Then, the data conversion unit 33 maps the row b3 of the fixed character string “Ohmiya” of the input sheet 24 as indicated by the code d3 of the XBRL instance 41.
  • the data conversion unit 33 may perform processing in the same manner as the “Tokyo” line. As a result, the data conversion unit 33 maps the row b4 of the fixed character string “Saitama” of the input sheet 24 as indicated by the symbol d4 of the XBRL instance 41.
  • the data conversion unit 33 acquires the fixed character string “Total” associated with the AREA item included in the input sheet 24.
  • the data conversion unit 33 compares the acquired fixed character string “Total” with the character string acquired from the mapping definition 22.
  • the comparison result indicates a match.
  • the data conversion unit 33 then associates the fixed character string “Total” line of the input sheet 24 with the SHOP item included in the XBRL instance 41 among the items included in the XBRL instance 41 based on the mapping definition 22. Identify the item to be associated with the character string.
  • the data conversion unit 33 determines that the total is based on the mapping definition 22. Then, the data conversion unit 33 specifies the item “Level” included in the XBRL instance 41. Then, the data conversion unit 33 maps the row b5 of the fixed character string “Total” of the input sheet 24 as indicated by the code d5 of the XBRL instance 41.
  • the data conversion unit 33 updates the hierarchical structure of the Y-axis header of the mapping definition 22 on the memory.
  • the data conversion unit 33 determines “from the hierarchical structure of the Y-axis header of the mapping definition 22 as indicated by reference numeral e0”. Update to delete the hierarchy of “Kanagawa” and “Chiba”.
  • the data conversion unit 33 is included in the input sheet 24 when converting the input sheet 24 into the XBRL instance 41 even if unnecessary blocks are deleted from the blocks included in the input sheet 24. It is possible to specify an item to be associated with an item value. As a result, the data conversion unit 33 can improve the accuracy of mapping the input sheet 24 and the XBRL instance 41.
  • FIG. 8 is a diagram illustrating an example of a flowchart of data conversion processing according to the embodiment.
  • the input sheet 24 is input to the template sheet 23 shown in FIG.
  • the data conversion unit 33 determines whether or not the input sheet 24 has been received (step S11). When it is determined that the input sheet 24 has not been received (step S11; No), the data conversion unit 33 repeats the determination process until the input sheet 24 is received.
  • the data conversion unit 33 acquires the title lines of the X-axis and Y-axis header portions (step S12).
  • the data conversion unit 33 reads two lines after the header part as analysis target lines (step S13).
  • the data conversion unit 33 determines whether or not the character string in the “AREA” column in the second row is the same as that in the first row (step S14). When it is determined that they are the same (step S14; Yes), the data conversion unit 33 acquires the character string of the store in the “SHOP” column in the first row, and performs the mapping process of the store using the mapping definition 22. This is performed (step S15).
  • the data conversion unit 33 discards the first line, shifts the second line to the first line, and reads a new line on the second line (step S16).
  • the data conversion unit 33 determines whether the read one line includes the end of data (step S17).
  • the record including the end of data refers to, for example, a blank line (a line in which nothing is set).
  • the data conversion unit 33 determines that it is the last line of the input sheet 24 and ends the data conversion process. To do.
  • step S17 when it is determined that the read one line is not a line including the end of data (step S17; No), the data conversion unit 33 proceeds to step S14 to process two new lines.
  • step S14 when it is determined that the character string in the second "AREA" column is not the same as the first line (step S14; No), the data conversion unit 33 is the last line of the block. Judge that there is. In other words, the data conversion unit 33 determines that the second line is the start line of the block.
  • the data conversion unit 33 determines whether or not the character string in the “AREA” column in the second row is the same as the area name of the block next to or after the mapping definition 22 (step S18). For example, the data conversion unit 33 acquires a character string associated with the next AREA item from the hierarchical structure of the Y-axis header in the mapping definition 22. Then, the data conversion unit 33 compares the character string in the “AREA” column in the second row with the acquired character string. If they do not match, the data conversion unit 33 obtains a character string associated with the next AREA item from the hierarchical structure of the Y-axis header in the mapping definition 22, and obtains the “AREA” column in the second row. The comparison process of the character string and the acquired character string is repeated.
  • step S18 If it is determined that they are not the same (step S18; No), the data conversion unit 33 notifies the area name of invalidity as an error (step S19), and ends the data conversion process.
  • step S18 when it is determined that they are the same (step S18; Yes), the data conversion unit 33 determines that the character string in the “SHOP” column in the first row is a subtotal character string (for example, “subtotal”) in the mapping definition 22. ) Is determined (step S20). If it is determined that they are not the same (step S20; No), the data conversion unit 33 notifies the subtotal fraud as an error (step S21), and ends the data conversion process.
  • a subtotal character string for example, “subtotal” in the mapping definition 22.
  • step S20 when it is determined that they are the same (step S20; Yes), the data conversion unit 33 acquires the subtotal character string of the character string in the “SHOP” column of the first row, Subtotal mapping processing is performed (step S22).
  • the data conversion unit 33 determines whether or not the character string in the “AREA” column in the second row is the same as the total character string (for example, “Total”) in the mapping definition 22 (step S23). If it is determined that they are not the same (step S23; No), the data conversion unit 33 updates the hierarchical structure of the mapping definition 22 on the memory (step S24). Then, the data conversion unit 33 proceeds to step S16 to read the next line.
  • step S23 if it is determined that they are the same (step S23; Yes), the data conversion unit 33 performs a totaling mapping process on the second row (step S25). Then, the data conversion unit 33 ends the data conversion process.
  • FIG. 9 is a diagram illustrating an example of the use of the information processing apparatus according to the embodiment.
  • the information processing apparatus 1 is installed on the supervisory institution side.
  • the XBRL taxonomy 21 is created by the supervisory body.
  • the structural analysis unit 32 inputs the created XBRL taxonomy 21 and generates the template sheet 23 and the mapping definition 22 using the input XBRL taxonomy 21 (S210).
  • the supervisory authority publishes the generated template sheet 23 and mapping definition 22 so that the submitting company can obtain the template sheet 23.
  • the submitting company inputs financial data using the acquired template sheet 23 and creates the input sheet 24.
  • the data conversion unit 33 inputs the input sheet 24 and converts the input sheet 24 that has been input into the XBRL instance 41 (S220).
  • the information processing apparatus 1 shown in FIG. 9 is a server model installed on the supervisory institution side, but is not limited to this.
  • the information processing apparatus 1 may be a client model installed on the submitting company side.
  • the information processing apparatus 1 receives the template sheet 23 and performs mapping that indicates the correspondence between the items included in the template sheet 23 and the items included in the XBRL instance 41 having a format different from that of the template sheet 23.
  • the definition 22 is acquired.
  • the information processing apparatus 1 refers to the hierarchical structure of the Y-axis header that stores the item value associated with a specific item included in the sheet in association with the identification information (for example, the Y-axis header) of the sheet.
  • the item value associated with the identification information 23 is acquired.
  • the information processing apparatus 1 compares the item value associated with a specific item among the items included in the input sheet 24 and the acquired item value.
  • the information processing apparatus 1 is an item to be associated with the item value associated with the second item included in the input sheet 24 among the items included in the XBRL instance 41. Is identified. According to this configuration, the information processing apparatus 1 stores the item value associated with the specific item included in the input sheet 24 in association with the identification information (for example, the Y-axis header) of the template sheet 23. Compare with the field value obtained by referring to the hierarchical structure of axis header. As a result, when converting the input sheet 24 to the XBRL instance 41, the information processing apparatus 1 can improve the accuracy of specifying the item of the XBRL instance 41 that associates the item value included in the input sheet 24.
  • the identification information for example, the Y-axis header
  • the information processing apparatus 1 has a comparison result between an item value associated with a specific item among items included in the input sheet 24 and an item value acquired by referring to the hierarchical structure of the Y-axis header. If they do not match, the process proceeds to the process of acquiring the item values so as to acquire the item values in the next order. Then, the information processing apparatus 1 refers to the hierarchical structure of the Y-axis header, and acquires the next order item value associated with the identification information of the input sheet 24. According to this configuration, the information processing apparatus 1 can improve the accuracy of specifying the item of the XBRL instance 41 that associates the item value included in the input sheet 24 when converting the input sheet 24 to the XBRL instance 41. it can.
  • the information processing device 1 determines that the Y-axis header is in the case where the comparison result between the item value associated with the specific item and the item value acquired by referring to the hierarchical structure of the Y-axis header matches. Update the item value associated with a specific item in the hierarchical structure. According to such a configuration, the information processing apparatus 1 can perform the next mapping process at high speed by updating the hierarchical structure of the Y-axis header.
  • the data conversion unit 33 refers to the item value associated with a specific item among the items included in the input sheet 24 and the item acquired by referring to the mapping definition 22 (the hierarchical structure of the Y-axis header). It explained that the comparison with the value. For example, the data conversion unit 33 refers to the item value associated with the AREA as a specific item among the items included in the input sheet 24 and the mapping definition 22 (hierarchical structure of the Y-axis header). Compare with the item value. As an example, the data conversion unit 33 compares “Tokyo” or the like as the item value of the AREA item included in the input sheet 24 with “Tokyo” or the like as the item value of the hierarchical structure of the Y-axis header. .
  • the data conversion unit 33 may perform comparison after normalizing the item values to be compared.
  • the normalization may be, for example, removing the leading and trailing blanks, unifying all lowercase letters, or unifying all half-widths for the item values to be compared.
  • the data conversion unit 33 causes an error due to a mismatch in comparison when mapping using the mapping definition 22 even if part of the item value of the AREA item of the input sheet 24 has been changed to uppercase or lowercase. Without mapping.
  • the information processing apparatus 1 can be realized by mounting the above-described functions such as the control unit 3 and the storage unit 2 on an information processing apparatus such as a known personal computer or workstation.
  • each component of the illustrated information processing apparatus 1 does not necessarily need to be physically configured as illustrated. That is, the specific mode of distribution / integration of the information processing apparatus 1 is not limited to the illustrated one, and all or a part of the information processing apparatus 1 can be functionally or physically functioned in an arbitrary unit according to various loads or usage conditions. It can be configured to be distributed and integrated.
  • the input unit 31 and the structure analysis unit 32 may be integrated as one unit.
  • the data conversion unit 33 and the output unit 34 may be integrated as one unit.
  • the structure analysis unit 32 may be distributed to a first generation unit that generates the mapping definition 22 and a second generation unit that generates the template sheet 23.
  • the storage unit 2 such as the XBRL taxonomy 21, the mapping definition 22, the template sheet 23, and the input sheet 24 may be connected as an external device of the information processing apparatus 1 via a network.
  • FIG. 10 is a diagram illustrating an example of a computer that executes a specific program.
  • the computer 200 includes a CPU (Central Processing Unit) 203 that executes various arithmetic processes, an input device 215 that receives input of data from the user, and a display control unit 207 that controls the display device 209. Have.
  • the computer 200 also includes a drive device 213 that reads a program or the like from a storage medium, and a communication control unit 217 that exchanges data with another computer via a network.
  • the computer 200 also has a memory 201 for temporarily storing various information and an HDD (Hard Disk Drive) 205.
  • the memory 201, CPU 203, HDD 205, display control unit 207, drive device 213, input device 215, and communication control unit 217 are connected by a bus 219.
  • the drive device 213 is a device for the removable disk 211, for example.
  • the HDD 205 stores a specific program 205a and specific processing related information 205b.
  • the CPU 203 reads the specific program 205a and expands it in the memory 201.
  • the specific program 205a functions as a specific process.
  • the specific process corresponds to each functional unit of the control unit 3.
  • the specific processing related information 205 b corresponds to the XBRL taxonomy 21, the mapping definition 22, the template sheet 23, and the input sheet 24.
  • the specific program 205a is not necessarily stored in the HDD 205 from the beginning.
  • “portable physical media such as a flexible disk (FD), a CD-ROM (Compact Disk Read Only Memory), a DVD (Digital Versatile Disk), a magneto-optical disk, an IC (Integrated Circuit) card, etc. inserted into the computer 200
  • the program is stored in “ Then, the computer 200 may read and execute the program 205a from these.

Abstract

情報処理装置(1)は、テンプレートシート(23)に対応するマッピング定義(22)を取得し、シートに含まれる特定項目に対応付けられた項目値をシートの識別情報に対応付けて記憶する記憶部を参照して、テンプレートシート(23)の識別情報に対応付けられた項目値を取得し、テンプレートシート(23)に入力した入力済みシート(24)に含まれる項目のうち特定の項目に対応付けられた項目値と、取得した項目値と、の比較を行い、比較結果とマッピング定義(22)とに基づき、XBRLインスタンス(41)に含まれる項目のうち、入力済みシート(24)の第2の項目に対応付けられた項目値を対応付ける対象の項目を特定することで、入力済みシート(24)をXBRLインスタンス(41)に変換する際に、入力済みシート(24)に含まれる項目値を対応付けるXBRLインスタンス(41)の項目を特定する精度を高める。

Description

特定プログラム、情報処理装置および特定方法
 本発明は、特定プログラム等に関する。
 XBRL(eXtensible Business Reporting Language)による財務諸表を金融庁へ提出することが義務付けられている。XBRLとは、ビジネス報告の作成、流通および利用を容易にするためのデータ記述言語として、XML(eXtensible Markup Language)をベースに開発された言語である。
 金融庁や東証等の監督機関に提出される財務諸表のデータは、インスタンスと呼ばれる。インスタンスは、監督機関から公開されている定義体(「タクソノミ」という)に基づいて作成される。タクソノミは、項目に相当するXBRL要素の名前や型情報を定義したスキーマと、XBRL同士の関係性を定義したリンクベースから構成される。XBRL要素同士の関係性は、例えば、財務諸表上での項目の表示順序や集計方法等に相当する。
 ここで、財務諸表としてのインスタンスを作成する流れの参考例を、図11を参照して説明する。図11は、インスタンスを作成する流れの参考例を示す図である。監督機関では、XBRLで記述されたタクソノミが記憶され、公開されている。提出企業では、マッピングエンジンが、公開されているタクソノミをダウンロードして(S110)、タクソノミに基づいてマッピング定義およびテンプレートシートを生成する(S120)。テンプレートシートとは、Excel等の表計算ソフトで作成されたテーブルのことをいう。マッピング定義とは、テーブル内のヘッダー部分や入力部分のセルの位置およびサイズ情報、並びにセルに対応するXBRL要素のプロパティ情報の紐付けを定義したものである。
 そして、担当者がテンプレートシートに財務データを入力し、入力済みシートを作成する(S130)。この入力済みシートをマッピングエンジンに入力し、マッピングエンジンは、入力された入力済みシートを、マッピング定義を用いてインスタンスに変換し(S140)、インスタンスを監督機関へアップロードする(S150)。監督機関では、インスタンスを蓄積し、検証する。
 ところで、近年、監督機関および利用者から、財務報告の詳細化が求められるようになってきている。財務報告の詳細化には、例えば、全社単位から事業所単位への詳細化や年次単位から月次単位への詳細化が挙げられる。また、財務報告の詳細化が求められたことに応じて、XBRLデータのテーブル表示用レイアウトを記述するための国際標準仕様(テーブルリンクベース)が勧告化された。テーブルリンクベースは、欧州の公的機関が発行するタクソノミにおいて、固定長テーブル、可変長テーブルおよび3次元テーブルで使用されている。今後の財務報告では、企業ごとに、サイズや個数の異なるテーブルによる詳細な財務報告へシフトすることが予想される。
 図12A、図12Bおよび図12Cは、テンプレートシートに入力された入力済みシートを示すテーブルの参考例を示す図である。なお、図12A、図12Bおよび図12Cでは、例えば、金融庁が、関東に出店している企業に対して、関東エリア内の店舗の売上リストの電子データを提出させている場合である。
 図12Aは、企業の規模が大きい場合の企業の関東エリア内の全店舗の売上リストの入力済みシートである。図12Bは、企業の規模が小さい場合の企業の関東エリア内の全店舗の売上リストの入力済みシートである。マッピングエンジンは、これらの入力済みシートごとに売上リストを上から下まで1行ずつ読み込み、読み込んだ行を左から右へセルの値を抜き出して、所定の属性値または要素値にセットすることで、XMLインスタンスを生成する。
 図12Cは、売上リストのテーブルを内訳テーブルと合計テーブルとに分けて、テーブルリンクベースを用いて再現したものである。テーブルリンクベースでは、エリアの内訳と合計とは、テーブルを分けることが知られている。
 ここで、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれる複数のブロックの開始位置を判別する技術が知られている(例えば、特許文献1参照)。例えば、評価装置は、複数の行のうちの各行について、マッピング定義から取得したセル構成(文字列とデータ型の組み合わせ)と、入力済みシートの行のセル構成との比較を行い、比較結果に応じて、比較処理の対象行の評価を行う。
国際公開第2017/199309号
 しかしながら、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれる項目値を対応付けるインスタンスの項目を特定できない場合があるという問題がある。
 例えば、入力済みシートは、テンプレートシートに入力されたシートであるが、テンプレートシートは、行の追加または列の追加しか認められていない。すなわち、行の削除または列の削除が認められていない。また、テンプレートシートは、テーブルリンクベースからマッピング定義とともに同時に生成される。このため、テンプレートシートに対して不要な行が削除されると、マッピングエンジンが、このテンプレートシートに入力された入力済みシートを、マッピング定義を用いてインスタンスに変換する際に、エラーとみなされてしまう。入力済みシートとマッピング定義との1対1の関係が崩れてしまうからである。したがって、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれる項目値を対応付けるインスタンスの項目を特定することができない。
 1つの側面では、本発明は、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれる項目値を対応付けるインスタンスの項目を特定する精度を高めることを目的とする。
 一態様の評価プログラムは、第1のファイルを受け付け、前記第1のファイルに含まれる項目と、前記第1のファイルとは形式が異なる第2のファイルに含まれる項目との対応関係を示す情報を取得し、ファイルに含まれる特定の項目に対応付けられた項目値を前記ファイルの識別情報に対応付けて記憶する記憶部を参照して、受け付けた前記第1のファイルの識別情報に対応付けられた項目値を取得し、受け付けた前記第1のファイルに含まれる項目のうち、前記特定の項目に対応付けられた項目値と、取得した前記項目値と、の比較を行い、前記比較結果と、取得した前記情報とに基づき、前記第2のファイルに含まれる項目のうち、受け付けた前記第1のファイルに含まれる第2の項目に対応付けられた項目値を対応付ける対象の項目を特定する、処理をコンピュータに実行させる。
 一つの態様によれば、入力済みシートをインスタンスに変換する際に、入力済みシートに含まれる項目値を対応付けるインスタンスの項目を特定する精度を高めることができる。
図1は、実施例に係る情報処理装置の構成を示す機能ブロック図である。 図2は、実施例に係るテンプレートシートの一例を示す図である。 図3は、実施例に係るマッピング定義の一例を示す図である。 図4は、実施例に係る入力済みシートの一例を示す図である。 図5は、実施例に係る入力済みシートの別の例を示す図である。 図6は、実施例に係る構造解析処理のイメージを示す図である。 図7は、実施例に係るデータ変換処理のイメージを示す図である。 図8は、実施例に係るデータ変換処理のフローチャートの一例を示す図である。 図9は、実施例に係る情報処理装置の用途の一例を示す図である。 図10は、特定プログラムを実行するコンピュータの一例を示す図である。 図11は、インスタンスを作成する流れの参考例を示す図である。 図12Aは、テンプレートシートに入力された入力済みシートを示すテーブルの参考例を示す図である。 図12Bは、テンプレートシートに入力された入力済みシートを示すテーブルの参考例を示す図である。 図12Cは、テンプレートシートに入力された入力済みシートを示すテーブルの参考例を示す図である。
 以下に、本願の開示する特定プログラム、情報処理装置および特定方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[実施例に係る情報処理装置の構成]
 図1は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図1に示すように、情報処理装置1は、複数のブロックを有するテーブル形式のデータのレイアウトの揺れを吸収しつつ、テーブル形式のデータをXBRLで記述されたインスタンスに変換する。ここでいうインスタンスは、「XBRLインスタンス」という。ここでいう変換は、「マッピング」と同義である。ここでいうレイアウトの揺れとは、複数のブロックを有するテーブル形式のデータの初期表示のレイアウトを変更することをいう。レイアウトの揺れの一例として、初期表示のレイアウトから1つのブロックが削除されることをいうが、これに限定されない。レイアウトの揺れの他の例として、初期表示のレイアウトからブロックの位置が変更されることであっても良い。
 情報処理装置1は、記憶部2と、制御部3とを有する。
 記憶部2は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。そして、記憶部2は、XBRLタクソノミ21、マッピング定義22、テンプレートシート23および入力済みシート24を有する。
 XBRLタクソノミ21は、XBRL要素の体系を定義したものであり、スキーマ、リンクベースおよびテーブルリンクベースからなる。スキーマとは、XBRL要素の名前やデータ型等の属性情報を記憶する辞書であり、実施例では「項目定義」に対応する。リンクベースとは、例えばXBRL要素間の親子関係や表示順や表示名等を記述する文書である。テーブルリンクベースとは、XBRL要素のテーブルレイアウトを記述する文書であり、実施例では、「テーブルレイアウト」に対応する。
 テンプレートシート23は、財務諸表を再現した入力フォームを示す汎用的なテンプレートシートである。テンプレートシート23は、Excel等の表計算ソフトで作成されるテーブルのことをいう。なお、テンプレートシート23は、テーブルリンクベース(テーブルレイアウト)を用いて定義され、後述する構造解析部32によって生成される。また、テンプレートシート23の内容の一例については、後述する。
 マッピング定義22は、テンプレートシート23に含まれる項目と、XBRLインスタンス41に含まれる項目との対応関係を示す。例えば、マッピング定義22は、テンプレートシート23が示すテーブル内のヘッダー(タイトル)部分のデータ型の組み合わせ情報を定義する。マッピング定義22には、例えば、X軸のヘッダー部およびY軸のヘッダー部やX軸のヘッダー部、Y軸のヘッダー部およびZ軸のヘッダー部のデータ型の組み合わせが定義される。データ型には、一例として、文字列型、日付型や数値型が挙げられるが、これに限定されない。また、マッピング定義22は、テンプレートシート23が示すテーブル内のセルとXBRLインスタンス41のXBRL要素との紐付けや、ヘッダーに階層がある場合にはヘッダーの階層構造を定義する。テーブル内のセルとXBRL要素との紐付け情報には、テーブル内のヘッダー部分や入力部分のセルの列の位置やセルに対応するXBRL要素のプロパティ情報が定義される。ヘッダーの階層構造には、ヘッダー内の第1のセルと第2のセルが階層構造である場合、第1のセルの列の文字列と、第2のセルの列の入力部分の入力内容および初期表示の文字列が定義される。なお、マッピング定義22は、後述する構造解析部32によって生成される。また、マッピング定義22の内容の一例については、後述する。
 入力済みシート24は、テンプレートシート23に財務データを入力済みのシートである。入力済みシート24は、ユーザによって入力される。ユーザは、例えば、提出企業の担当者である。
 制御部3は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部3は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。さらに、制御部3は、入力部31と、構造解析部32と、データ変換部33と、出力部34とを有する。なお、データ変換部33は、取得部、特定部、判定部および評価部の一例である。
 入力部31は、XBRLタクソノミ21を入力し、入力したXBRLタクソノミ21を記憶部2に格納する。
 構造解析部32は、XBRLタクソノミ21の解析を行い、テーブルリンクベース(テーブルレイアウト)の定義に従ったマッピング定義22およびテンプレートシート23を生成する。構造解析部32は、生成したマッピング定義22およびテンプレートシート23を記憶部2に格納する。
[テンプレートシートの一例]
 ここで、テンプレートシート23の一例を、図2を参照して説明する。図2は、実施例に係るテンプレートシートの一例を示す図である。なお、図2で説明するテンプレートシート23は、ある企業の全店舗の売上リストのテンプレートであるとする。
 図2に示すように、テンプレートシート23は、Y軸のヘッダー部とX軸のヘッダー部のタイトル行を有する。また、テンプレートシート23は、タイトル行の後に複数のブロックを有する。つまり、テンプレートシート23は、タイトル行と複数のブロックとで1個のテーブルを構成している。図2では、テンプレートシート23は、複数のエリアに対するブロックが続いた後、最終行に、総計(Total)のブロックが配置されている。なお、ブロックの並び順は、XBRLタクソノミ21のテーブルレイアウトで定義されている。
 また、Y軸ヘッダー部のAREA列とSHOP列とは親子関係にあり、階層構造を形成している。なお、Y軸ヘッダー部の階層構造は、XBRLタクソノミ21のテーブルレイアウトで定義されている。
 ブロックは、AREA列、SHOP列およびSALES列で構成されている。AREA列は、エリアの名称(エリア名)である。AREA列には、各エリア名の固定文字列が設定される。各エリア名や各エリア名の順序は、XBRLタクソノミ21のテーブルレイアウトで定義されている。すなわち、各エリア名は、XBRLタクソノミ21のテーブルレイアウトにレイアウトされた順序で、各ブロックのAREA列に設定される。また、SHOP列は、各店舗名と小計の固定文字列「SubTotal」が設定される。各店舗名は、ユーザによって入力される。小計の固定文字列「SubTotal」は、XBRLタクソノミ21のテーブルレイアウトで定義されている。SALES列は、各店舗の売上の値と、ブロック内の小計の値がユーザによって入力される。なお、ブロック内のSHOP列の店舗名は、ユーザによって必要に応じて追加される。店舗名は、任意の文字列である。小計は、ブロックの最終行に位置する。
 最後のブロックは、AREA列とSHOP列との結合セルと、SALES列のセルとで構成されている。結合セルは、総計の固定文字列「Total」が設定されている。総計の固定文字列「Total」は、XBRLタクソノミ21のテーブルレイアウトで定義されている。SALES列のセルは、全ブロックの店舗の総計の値がユーザによって入力される。
 また、テンプレートシート23の各セルには、各データ型が設定される。各セルのデータ型は、XBRLタクソノミ21の項目定義で定義されている。
[マッピング定義の一例]
 図3は、実施例に係るマッピング定義の一例を示す図である。なお、図3で説明するマッピング定義22は、ある企業の全店舗の売上リストのマッピングに関する定義であるとする。図3に示すように、マッピング定義22は、セルとXBRL要素との紐付け情報を含む。セルとXBRL要素との紐付け情報には、以下の情報が記述される。A列に値を設定または入力するセルについて、エリアの場合には、XBRL要素を示す<Sales>要素の<Area>プロパティの値と紐付けられる。また、総計の場合には、XBRL要素を示す<Sales>要素の<Level>プロパティの値「Total」と紐付けられる。B列に値を設定または入力するセルについて、店舗の場合には、XBRL要素を示す<Sales>要素の<Shop>プロパティの値と紐付けられる。また、小計の場合には、XBRL要素を示す<Sales>要素の<Level>プロパティの値「Total」と紐付けられる。C列に値を入力するセルについて、XBRL要素を示す<Sales>要素の値と紐付けられる。
 また、マッピング定義22は、さらに、Y軸ヘッダーの階層構造の情報を含む。すなわち、Y軸ヘッダー部のAREA列およびSHOP列の階層構造が定義される。Y軸のヘッダー部のAREA列の値が「Tokyo」である場合、Y軸のヘッダー部のSHOP列の店舗が繰り返され、「Tokyo」ブロックの最終行に小計の固定文字列「SubTotal」が設定される。また、Y軸のヘッダー部のAREA列の値が「Saitama」である場合、Y軸のヘッダー部のSHOP列の店舗が繰り返され、「Saitama」ブロックの最終行に小計の固定文字列「SubTotal」が設定される。そして、Y軸のヘッダー部のAREA列の値が「Total」である場合に、全ブロックが終了となる。
 なお、マッピング定義22は、図示していないが、さらに、データ型の組み合わせ情報を含む。例えば、データ型の組み合わせ情報には、X軸のヘッダー部のデータ型の組み合わせが設定される。データ型の組み合わせ情報には、Y軸のヘッダー部のデータ型の組み合わせが設定される。データ型の組み合わせ情報には、値を入力する値セル部の組み合わせ情報が設定される。例えば、Y軸のヘッダー部のデータ型の組み合わせとして、「文字列型,文字列型」が設定される。X軸のヘッダー部のデータ型の組み合わせとして、「数値型」が設定される。
[入力済みシートの一例]
 図4は、実施例に係る入力済みシートの一例を示す図である。図4に示す入力済みシート24は、図2で示したテンプレートシート23にユーザが財務データを入力した結果である。入力済みシート24は、複数のブロックからなる。図4の入力済みシート24では、複数のブロックの並び順について、テンプレートシート23の初期状態と変更がない場合である。すなわち、複数のブロックの並び順が、XBRLタクソノミ21のテーブルレイアウトで定義されたものと同じ場合である。
 各ブロックの最終行には、「SHOP」列に「SubTotal」の文字列が初期設定される。そして、最後ブロックには、AREA列とSHOP列との結合セルに「Total」の文字列が初期設定される。なお、「SubTotal」および「Total」は、テンプレートシート23に初期設定されている。ここでは、5個のブロックが表わされており、「Tokyo」ブロック、「Kanagawa」ブロック、「Chiba」ブロック、「Saitama」ブロックおよび「Total」ブロックが表わされている。図4では、各ブロックのSHOP列の店舗名の数は、複数個であるが、1個であっても良いし、2個であっても良いし、数に制限はない。店舗名の数が0個である場合には、店舗名が空欄に設定されても良い。
[入力済みシートの別の例]
 図5は、実施例に係る入力済みシートの別の例を示す図である。図5に示す入力済みシート24は、図2で示したテンプレートシート23にユーザが財務データを入力した結果であることは、図4で示した入力済みシート24と同じである。図5の入力済みシート24と図4の入力済みシート24とが異なる点は、図5の入力済みシート24が、複数のブロックの並び順について、テンプレートシート23の初期状態から変更されている点である。すなわち、複数のブロックの並び順が、XBRLタクソノミ21のテーブルレイアウトで定義されたものと異なる場合である。図5の入力済みシート24では、符号a1で示すように、AREA列が「Tokyo」のブロックと「Saitama」のブロックとの間のブロックが削除された場合である。ブロックが削除されたのは、例えば、ユーザが不要なブロックを削除したためである。
 このようにブロックが削除されると、マッピングエンジンは、マッピング定義22を用いて入力済みシート24をXBRLインスタンス41に変換する際に、エラーとみなす。なぜならば、入力済みシート24に入力される前のテンプレートシート23は、XBRLタクソノミ21のテーブルリンクベースから、マッピング定義22とともに同時に生成される。マッピングエンジンは、入力済みシート24の1行目から下方へ順番にマッピング処理を行う。したがって、ブロックが削除されると、マッピングエンジンが、削除されたブロックの次のブロックの対象の文字列とマッピング定義22の対象の文字列とが完全一致せず、エラーとみなすからである。つまり、テンプレートシート23とマッピング定義22との1対1の関係が崩れてしまうからである。そこで、以降のデータ変換部33では、マッピング定義22を用いて入力済みシート24をXBRLインスタンス41に変換する際に、以下の処理を行う場合を説明する。すなわち、データ変換部33は、変換対象のブロックの特定の固定文字列がマッピング定義22内のY軸ヘッダーの階層構造の対応する文字列と異なる場合には、対応する文字列の次以降の文字列との比較を行う。
 図1に戻って、データ変換部33は、入力済みシート24を受け付け、マッピング定義22をメモリ上に取得する。
 また、データ変換部33は、マッピング定義22を参照して、受け付けた入力済みシート24の識別情報に対応付けられた項目値を取得する。例えば、データ変換部33は、マッピング定義22内のY軸ヘッダーの階層構造から、マッピング定義22と同時に生成されたテンプレートシート23におけるY軸ヘッダー内のAREA項目に対応付けられた文字列を取得する。また、データ変換部33は、比較処理によって一致しない旨の通知を受け取ると、Y軸ヘッダーの階層構造から、次の順序のAREA項目に対応付けられた文字列を取得する。
 また、データ変換部33は、受け付けた入力済みシート24に含まれる項目のうち、特定の項目に対応付けられた項目値と、マッピング定義22を参照して取得した項目値と、の比較を行う。例えば、データ変換部33は、入力済みシート24に含まれるAREA項目に対応付けられた固定文字列と、マッピング定義22内のY軸ヘッダーの階層構造から取得した文字列とを比較する。データ変換部33は、入力済みシート24の固定文字列とY軸ヘッダーの階層構造の文字列とが一致しない場合には、一致しない旨を、取得する処理に通知する。
 また、データ変換部33は、比較結果と、マッピング定義22とに基づき、XBRLインスタンス41に含まれる項目のうち、受け付けた入力済みシート24に含まれる第2の項目に対応付けられた項目値を対応付ける対象の項目を特定する。例えば、データ変換部33は、入力済みシート24の固定文字列とY軸ヘッダーの階層構造の文字列とが一致する場合には、以下の処理を行う。データ変換部33は、入力済みシート24の固定文字列の行に関し、マッピング定義22に基づき、XBRLインスタンス41に含まれる項目のうち、当該行に含まれるSHOP項目に対応付けられた文字列を対応付ける対象の項目を特定する。すなわち、データ変換部33は、入力済みシート24の固定文字列の行と、XBRLインスタンス41とをマッピングする。
 また、データ変換部33は、メモリ上のマッピング定義22内のY軸ヘッダーの階層構造を更新する。例えば、データ変換部33は、入力済みシート24の固定文字列とY軸ヘッダーの階層構造の文字列とが一致しなかった場合には、Y軸ヘッダーの階層構造から一致しなかった文字列に対応する階層構造を削除する。これにより、データ変換部33は、マッピング定義22内のY軸ヘッダーの階層構造を更新することで、入力済みシート24を使用する提出企業の次回のデータ変換処理を高速化することができる。
 出力部34は、データ変換部33によって変換された結果を示すXBRLインスタンス41を出力する。例えば、出力部34は、変換結果であるXBRLインタンス41をモニタに出力しても良いし、記憶部2に記憶するようにしても良い。
[構造解析処理のイメージ]
 ここで、実施例に係る構造解析処理のイメージを、図6を参照して説明する。図6は、実施例に係る構造解析処理のイメージを示す図である。図6に示すように、構造解析部32は、XBRLタクソノミ21を入力する。そして、構造解析部32は、入力したXBRLタクソノミ21を解析し、マッピング定義22およびテンプレートシート23を生成し、出力する。
 例えば、構造解析部32は、XBRLタクソノミ21のテーブルレイアウトから、XY軸のヘッダー部と値セル部のレイアウト(並び順)を取得する。構造解析部32は、XBRLタクソノミ21のテーブルレイアウトから、XY軸のヘッダー部の情報や値セル部のデータ型を取得する。XY軸のヘッダー部の情報には、タイトルの文字列およびその値のデータ型が挙げられる。ここでは、X軸では、タイトルが“SALES”となる。そして、Sales要素の値のデータ型は、数値型を示す。なお、XBRL要素のデータ型は、項目定義から取得される。また、Y軸では、タイトルとして“AREA”,“SHOP”の値の並びとなる。そして、AREA列とSHOP列のレイアウト(並び順)が、ツリーから取得される。
 そして、構造解析部32は、テンプレートシート23の各セルに対応するXBRL要素の情報を、マッピング定義22のセルとXBRL要素の紐付け情報に設定する。構造解析部32は、解析したレイアウト(並び順)に従って、Y軸のヘッダー部の階層構造を設定する。ここでは、Y軸のヘッダー部には、AREA列に、テーブルレイアウトの並び順に従って、“Tokyo”の階層、“Kanagawa”の階層、“Chiba”の階層、“Saitama”の階層が設定される。AREAが“Tokyo”である場合に、SHOPとして店舗が繰り返され、最後に小計としての“SubTotal”が設定される。同様に、AREAが“Kanagawa”である場合に、SHOPとして店舗が繰り返され、最後に小計としての“SubTotal”が設定される。同様に、AREAが“Chiba”である場合に、SHOPとして店舗が繰り返され、最後に小計としての“SubTotal”が設定される。同様に、AREAが“Saitama”である場合に、SHOPとして店舗が繰り返され、最後に小計としての“SubTotal”が設定される。そして、AREAが“Total”である場合に、Y軸のヘッダー部の階層構造が終了する。
 そして、構造解析部32は、解析したレイアウト(並び順)に従って、テンプレートシート23を生成し、生成したテンプレートシート23を出力する。ここでは、テンプレートシート23には、テーブルレイアウトの並び順に従って、“Tokyo”のブロック,“Kanagawa”のブロック,“Chiba”のブロックおよび“Saitama”のブロックが設定される。
[データ変換処理のイメージ]
 ここで、実施例に係るデータ変換処理のイメージを、図7を参照して説明する。図7は、実施例に係るデータ変換処理のイメージを示す図である。なお、図7では、入力済みシート24に含まれるブロックのうち“Kanagawa”のブロックおよび“Chiba”のブロックが削除されている。図7に示すように、データ変換部33は、マッピング定義22を用いて入力済みシート24をXBRLインスタンス41に変換する際に、以下の処理を行う。データ変換部33は、変換対象のブロックの特定の固定文字列がマッピング定義22内のY軸ヘッダーの階層構造の対応する文字列と異なる場合には、対応する文字列の次以降の文字列との比較を行う。
 例えば、データ変換部33は、入力済みシート24を受け付けると、マッピング定義22内のY軸ヘッダーの階層構造から、“Tokyo”を取得する。取得された“Tokyo”は、マッピング定義22と同時に生成されたテンプレートシート23のAREA項目に対応付けられた文字列である。
 そして、データ変換部33は、入力済みシート24に含まれるAREA項目に対応付けられた固定文字列“Tokyo”を取得する。データ変換部33は、取得した固定文字列“Tokyo”と、マッピング定義22から取得した文字列との比較を行う。ここでは、マッピング定義22から取得した文字列は、“Tokyo”であるので、比較結果は、一致を示す。
 そして、データ変換部33は、入力済みシート24の固定文字列“Tokyo”の行に関し、マッピング定義22に基づき、XBRLインスタンス41に含まれる項目のうち、当該行に含まれるSHOP項目に対応付けられた文字列を対応付ける対象の項目を特定する。
 一例として、SHOP項目に対応付けられた文字列が“Shibuya”の場合には、データ変換部33は、マッピング定義22に基づき、店舗であると判断する。SHOP項目に対応付けられた文字列が“SubTotal”でないからである。そして、データ変換部33は、“Shibuya”が店舗の場合であるので、XBRLインスタンス41に含まれる項目“Shop”を特定する。そして、データ変換部33は、入力済みシート24の固定文字列“Tokyo”の行b1を、XBRLインスタンス41の符号d1のようにマッピングする。
 また、SHOP項目に対応付けられた文字列が“SubTotal”の場合には、データ変換部33は、マッピング定義22に基づき、小計であると判断する。SHOP項目に対応付けられた文字列が“SubTotal”であるからである。そして、データ変換部33は、“SubTotal”が小計の場合であるので、XBRLインスタンス41に含まれる項目“Level”を特定する。そして、データ変換部33は、入力済みシート24の固定文字列“Tokyo”の行b2を、XBRLインスタンス41の符号d2のようにマッピングする。
 次に、データ変換部33は、入力済みシート24に含まれるAREA項目に対応付けられた固定文字列“Saitama”を取得する。データ変換部33は、取得した固定文字列“Saitama”と、マッピング定義22から取得した文字列との比較を行う。ここでは、マッピング定義22から取得した文字列は、次の“Kanagawa”であるので、比較結果は、不一致を示す。
 そして、データ変換部33は、取得した固定文字列“Saitama”と、マッピング定義22から次に取得した文字列との比較を行う。ここでは、マッピング定義22から取得した文字列は、さらに次の“Chiba”であるので、比較結果は、不一致を示す。
 そして、データ変換部33は、取得した固定文字列“Saitama”と、マッピング定義22から次に取得した文字列との比較を行う。ここでは、マッピング定義22から取得した文字列は、さらに次の“Saitama”であるので、比較結果は、一致を示す。
 そして、データ変換部33は、入力済みシート24の固定文字列“Saitama”の行に関し、マッピング定義22に基づき、XBRLインスタンス41に含まれる項目のうち、当該行に含まれるSHOP項目に対応付けられた文字列を対応付ける対象の項目を特定する。
 一例として、SHOP項目に対応付けられた文字列が“Ohmiya”の場合には、データ変換部33は、マッピング定義22に基づき、店舗であると判断する。SHOP項目に対応付けられた文字列が“SubTotal”でないからである。そして、データ変換部33は、“Ohmiya”が店舗の場合であるので、XBRLインスタンス41に含まれる項目“Shop”を特定する。そして、データ変換部33は、入力済みシート24の固定文字列“Ohmiya”の行b3を、XBRLインスタンス41の符号d3のようにマッピングする。
 また、SHOP項目に対応付けられた文字列が“SubTotal”の場合には、データ変換部33は、“Tokyo”の行と同様に、処理すれば良い。この結果、データ変換部33は、入力済みシート24の固定文字列“Saitama”の行b4を、XBRLインスタンス41の符号d4のようにマッピングする。
 次に、データ変換部33は、入力済みシート24に含まれるAREA項目に対応付けられた固定文字列“Total”を取得する。データ変換部33は、取得した固定文字列“Total”と、マッピング定義22から取得した文字列との比較を行う。ここでは、マッピング定義22から取得した文字列は、次の“Total”であるので、比較結果は、一致を示す。
 そして、データ変換部33は、入力済みシート24の固定文字列“Total”の行に関し、マッピング定義22に基づき、XBRLインスタンス41に含まれる項目のうち、当該行に含まれるSHOP項目に対応付けられた文字列を対応付ける対象の項目を特定する。
 一例として、AREA項目に対応付けられた固定文字列が“Total”の場合には、データ変換部33は、マッピング定義22に基づき、総計であると判断する。そして、データ変換部33は、XBRLインスタンス41に含まれる項目“Level”を特定する。そして、データ変換部33は、入力済みシート24の固定文字列“Total”の行b5を、XBRLインスタンス41の符号d5のようにマッピングする。
 そして、データ変換部33は、メモリ上のマッピング定義22のY軸ヘッダーの階層構造を更新する。ここでは、データ変換部33は、入力済みシート24から“Kanagawa”と“Chiba”とのブロックが削除されているので、符号e0に示すように、マッピング定義22のY軸ヘッダーの階層構造から“Kanagawa”と“Chiba”の階層構造を削除するように更新する。
 このようにして、データ変換部33は、入力済みシート24に含まれるブロックのうち不要なブロックが削除されても、入力済みシート24をXBRLインスタンス41に変換する際、入力済みシート24に含まれる項目値を対応付ける項目を特定できる。この結果、データ変換部33は、入力済みシート24とXBRLインスタンス41とをマッピングする精度を高めることができる。
[データ変換処理のフローチャート]
 次に、実施例に係るデータ変換処理のフローチャートについて、図8を参照して説明する。図8は、実施例に係るデータ変換処理のフローチャートの一例を示す図である。なお、入力済みシート24は、図2が示すテンプレートシート23に入力したものとする。
 まず、データ変換部33は、入力済みシート24を受け付けたか否かを判定する(ステップS11)。入力済みシート24を受け付けていないと判定した場合には(ステップS11;No)、データ変換部33は、入力済みシート24を受け付けるまで、判定処理を繰り返す。
 一方、入力済みシート24を受け付けたと判定した場合には(ステップS11;Yes)、データ変換部33は、X軸とY軸のヘッダー部のタイトル行を取得する(ステップS12)。データ変換部33は、ヘッダー部より後の2行を解析対象行として読み込む(ステップS13)。
 そして、データ変換部33は、2行目の“AREA”列の文字列は1行目と同じであるか否かを判定する(ステップS14)。同じであると判定した場合には(ステップS14;Yes)、データ変換部33は、1行目の“SHOP”列の店舗の文字列を取得し、マッピング定義22を用いて店舗のマッピング処理を行う(ステップS15)。
 そして、データ変換部33は、1行目を破棄し、2行目を1行目にシフトし、2行目に新規の1行を読み込む(ステップS16)。データ変換部33は、読み込んだ1行がデータの終端を含むか否かを判定する(ステップS17)。データの終端を含むレコードとは、例えば、空行(何も設定されていない行)のことをいう。読み込んだ1行がデータの終端を含む行であると判定した場合には(ステップS17;Yes)、データ変換部33は、入力済みシート24の最終行であると判断し、データ変換処理を終了する。
 一方、読み込んだ1行がデータの終端を含む行でないと判定した場合には(ステップS17;No)、データ変換部33は、新規の2行を処理すべく、ステップS14に移行する。
 ステップS14において、2行目の“AREA”列の文字列は1行目と同じでないと判定した場合には(ステップS14;No)、データ変換部33は、1行目がブロックの最終行であると判断する。言い換えれば、データ変換部33は、2行目がブロックの開始行であると判断する。
 そして、データ変換部33は、2行目の“AREA”列の文字列は、マッピング定義22の次またはそれ以降のブロックのエリア名と同じであるか否かを判定する(ステップS18)。例えば、データ変換部33は、マッピング定義22内のY軸ヘッダーの階層構造から、次のAREA項目に対応付けられる文字列を取得する。そして、データ変換部33は、2行目の“AREA”列の文字列と、取得した文字列とを比較する。そして、データ変換部33は、一致しない場合には、マッピング定義22内のY軸ヘッダーの階層構造から、さらに次のAREA項目に対応付けられる文字列を取得し、2行目の“AREA”列の文字列と、取得した文字列との比較処理を繰り返す。
 そして、同じでないと判定した場合には(ステップS18;No)、データ変換部33は、エラーであるとしてエリア名の不正を通知し(ステップS19)、データ変換処理を終了する。
 一方、同じであると判定した場合には(ステップS18;Yes)、データ変換部33は、1行目の“SHOP”列の文字列は、マッピング定義22の小計の文字列(例えば“subtotal”)と同じであるか否かを判定する(ステップS20)。同じでないと判定した場合には(ステップS20;No)、データ変換部33は、エラーであるとして小計の不正を通知し(ステップS21)、データ変換処理を終了する。
 一方、同じであると判定した場合には(ステップS20;Yes)、データ変換部33は、データ変換部33は、1行目の“SHOP”列の文字列の小計の文字列を取得し、小計のマッピング処理を行う(ステップS22)。
 そして、データ変換部33は、2行目の“AREA”列の文字列は、マッピング定義22の総計の文字列(例えば“Total”)と同じであるか否かを判定する(ステップS23)。同じでないと判定した場合には(ステップS23;No)、データ変換部33は、メモリ上のマッピング定義22の階層構造を更新する(ステップS24)。そして、データ変換部33は、次の行を読み込むべく、ステップS16に移行する。
 一方、同じであると判定した場合には(ステップS23;Yes)、データ変換部33は、2行目の総計のマッピング処理を行う(ステップS25)。そして、データ変換部33は、データ変換処理を終了する。
[情報処理装置の用途の一例]
 次に、実施例に係る情報処理装置の用途の一例を、図9を参照して説明する。図9は、実施例に係る情報処理装置の用途の一例を示す図である。図9に示すように、情報処理装置1は、監督機関側に設置される。監督機関によってXBRLタクソノミ21が作成される。そして、構造解析部32は、作成されたXBRLタクソノミ21を入力し、入力したXBRLタクソノミ21を用いて、テンプレートシート23およびマッピング定義22を生成する(S210)。監督機関は、生成されたテンプレートシート23およびマッピング定義22を公開し、提出企業がテンプレートシート23を取得できるようにする。提出企業は、取得したテンプレートシート23を用いて財務データを入力し、入力済みシート24を作成する。そして、データ変換部33は、入力済みシート24を入力し、入力した入力済みシート24をXBRLインスタンス41に変換する(S220)。
 なお、図9で示した情報処理装置1は、監督機関側に設置されたサーバモデルであるが、これに限定されない。情報処理装置1は、提出企業側に設置されるクライアントモデルであっても良い。
[実施例の効果]
 上記実施例によれば、情報処理装置1は、テンプレートシート23を受け付け、テンプレートシート23に含まれる項目と、テンプレートシート23とは形式が異なるXBRLインスタンス41に含まれる項目との対応関係を示すマッピング定義22を取得する。情報処理装置1は、シートに含まれる特定の項目に対応付けられた項目値をシートの識別情報(例えばY軸ヘッダー)に対応付けて記憶するY軸ヘッダーの階層構造を参照して、テンプレートシート23の識別情報に対応付けられた項目値を取得する。情報処理装置1は、入力済みシート24に含まれる項目のうち、特定の項目に対応付けられた項目値と、取得した項目値と、の比較を行う。情報処理装置1は、比較結果と、マッピング定義22とに基づき、XBRLインスタンス41に含まれる項目のうち、入力済みシート24に含まれる第2の項目に対応付けられた項目値を対応付ける対象の項目を特定する。かかる構成によれば、情報処理装置1は、入力済みシート24に含まれる特定の項目に対応付けられた項目値を、テンプレートシート23の識別情報(例えばY軸ヘッダー)に対応付けて記憶するY軸ヘッダーの階層構造を参照して取得した項目値と比較する。この結果、情報処理装置1は、入力済みシート24をXBRLインスタンス41に変換する際に、入力済みシート24に含まれる項目値を対応付けるXBRLインスタンス41の項目を特定する精度を高めることができる。
 また、情報処理装置1は、入力済みシート24に含まれる項目のうち、特定の項目に対応付けられた項目値と、Y軸ヘッダーの階層構造を参照して取得した項目値との比較結果が、一致しない場合には、次の順序の項目値を取得するように、項目値を取得する処理に移行する。そして、情報処理装置1は、Y軸ヘッダーの階層構造を参照して、入力済みシート24の識別情報に対応付けられた次の順序の項目値を取得する。かかる構成によれば、情報処理装置1は、入力済みシート24をXBRLインスタンス41に変換する際に、入力済みシート24に含まれる項目値を対応付けるXBRLインスタンス41の項目を特定する精度を高めることができる。
 また、情報処理装置1は、特定の項目に対応付けられた項目値と、さらにY軸ヘッダーの階層構造を参照して取得した項目値との比較結果が一致する場合には、Y軸ヘッダーの階層構造の特定の項目に対応付けられた項目値を更新する。かかる構成によれば、情報処理装置1は、Y軸ヘッダーの階層構造を更新することで、次回のマッピング処理を高速に行うことができる。
[プログラム等]
 なお、データ変換部33は、入力済みシート24に含まれる項目のうち、特定の項目に対応付けられた項目値と、マッピング定義22(Y軸のヘッダーの階層構造)を参照して取得した項目値と、の比較を行うと説明をした。例えば、データ変換部33は、入力済みシート24に含まれる項目のうち、特定の項目としてAREAに対応付けられた項目値と、マッピング定義22(Y軸のヘッダーの階層構造)を参照して取得した項目値と、の比較を行う。一例として、データ変換部33は、入力済みシート24に含まれるAREA項目の項目値としての“Tokyo”等と、Y軸のヘッダーの階層構造の項目値としての“Tokyo”等との比較を行う。このとき、データ変換部33は、比較対象の項目値同士を正規化したうえで比較を行っても良い。正規化は、例えば、比較対象の項目値について、前後の空白を除去すること、全て小文字に統一すること、全て半角に統一することであっても良い。これにより、データ変換部33は、例えば入力済みシート24のAREA項目の項目値の一部が大文字や小文字に変更されていても、マッピング定義22を用いてマッピングする際に、比較が不一致によるエラーとしないで、マッピングすることが可能となる。
 また、情報処理装置1は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した制御部3と、記憶部2等の各機能を搭載することによって実現することができる。
 また、図示した情報処理装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、入力部31と構造解析部32とを1個の部として統合しても良い。データ変換部33と出力部34とを1個の部として統合しても良い。一方、構造解析部32を、マッピング定義22を生成する第1の生成部と、テンプレートシート23を生成する第2の生成部とに分散しても良い。また、XBRLタクソノミ21、マッピング定義22、テンプレートシート23および入力済みシート24等の記憶部2を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
 また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した情報処理装置1と同様の機能を実現する特定プログラムを実行するコンピュータの一例を説明する。図10は、特定プログラムを実行するコンピュータの一例を示す図である。
 図10に示すように、コンピュータ200は、各種演算処理を実行するCPU(Central Processing Unit)203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207を有する。また、コンピュータ200は、記憶媒体からプログラム等を読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
 ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、特定プログラム205aおよび特定処理関連情報205bを記憶する。
 CPU203は、特定プログラム205aを読み出して、メモリ201に展開する。特定プログラム205aは、特定プロセスとして機能する。
 例えば、特定プロセスは、制御部3の各機能部に対応する。特定処理関連情報205bは、XBRLタクソノミ21、マッピング定義22、テンプレートシート23および入力済みシート24に対応する。
 なお、特定プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからプログラム205aを読み出して実行するようにしても良い。
 1 情報処理装置
 2 記憶部
 3 制御部
 21 XBRLタクソノミ
 22 マッピング定義
 23 テンプレートシート
 24 入力済みシート
 31 入力部
 32 構造解析部
 33 データ変換部
 34 出力部
 41 XBRLインスタンス

Claims (5)

  1.  第1のファイルを受け付け、
     前記第1のファイルに含まれる項目と、前記第1のファイルとは形式が異なる第2のファイルに含まれる項目との対応関係を示す情報を取得し、
     ファイルに含まれる特定の項目に対応付けられた項目値を前記ファイルの識別情報に対応付けて記憶する記憶部を参照して、受け付けた前記第1のファイルの識別情報に対応付けられた項目値を取得し、
     受け付けた前記第1のファイルに含まれる項目のうち、前記特定の項目に対応付けられた項目値と、取得した前記項目値と、の比較を行い、
     前記比較結果と、取得した前記情報とに基づき、前記第2のファイルに含まれる項目のうち、受け付けた前記第1のファイルに含まれる第2の項目に対応付けられた項目値を対応付ける対象の項目を特定する、
     処理をコンピュータに実行させることを特徴とする特定プログラム。
  2.  前記比較を行う処理は、前記第1のファイルに含まれる項目のうち、前記特定の項目に対応付けられた項目値と、前記記憶部を参照して取得した前記項目値との比較結果が、一致しない場合には、次の順序の項目値を取得するように、前記項目値を取得する処理に移行し、
     前記項目値を取得する処理は、前記記憶部を参照して、受け付けた前記第1のファイルの識別情報に対応付けられた次の順序の項目値を取得する
     ことを特徴とする請求項1に記載の特定プログラム。
  3.  前記比較を行う処理は、前記特定の項目に対応付けられた項目値と、さらに前記記憶部を参照して取得した前記項目値との比較結果が一致する場合には、前記記憶部に記憶された前記特定の項目に対応付けられた項目値を更新する
     ことを特徴とする請求項2に記載の特定プログラム。
  4.  第1のファイルを受け付ける受付部と、
     前記第1のファイルに含まれる項目と、前記第1のファイルとは形式が異なる第2のファイルに含まれる項目との対応関係を示す情報を取得する第1の取得部と、
     ファイルに含まれる特定の項目に対応付けられた項目値を前記ファイルの識別情報に対応付けて記憶する記憶部を参照して、受け付けた前記第1のファイルの識別情報に対応付けられた項目値を取得する第2の取得部と、
     前記受付部によって受け付けられた前記第1のファイルに含まれる項目のうち、前記特定の項目に対応付けられた項目値と、前記第2の取得部によって取得された前記項目値と、の比較を行う比較部と、
     前記比較結果と、前記第1の取得部によって取得された前記情報とに基づき、前記第2のファイルに含まれる項目のうち、受け付けた前記第1のファイルに含まれる第2の項目に対応付けられた項目値を対応付ける対象の項目を特定する特定部と、
     を有することを特徴とする情報処理装置。
  5.  第1のファイルを受け付け、
     前記第1のファイルに含まれる項目と、前記第1のファイルとは形式が異なる第2のファイルに含まれる項目との対応関係を示す情報を取得し、
     ファイルに含まれる特定の項目に対応付けられた項目値を前記ファイルの識別情報に対応付けて記憶する記憶部を参照して、受け付けた前記第1のファイルの識別情報に対応付けられた項目値を取得し、
     受け付けた前記第1のファイルに含まれる項目のうち、前記特定の項目に対応付けられた項目値と、取得した前記項目値と、の比較を行い、
     前記比較結果と、取得した前記情報とに基づき、前記第2のファイルに含まれる項目のうち、受け付けた前記第1のファイルに含まれる第2の項目に対応付けられた項目値を対応付ける対象の項目を特定する、
     処理をコンピュータが実行することを特徴とする特定方法。
PCT/JP2018/003282 2018-01-31 2018-01-31 特定プログラム、情報処理装置および特定方法 WO2019150510A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019568490A JP7040536B2 (ja) 2018-01-31 2018-01-31 特定プログラム、情報処理装置および特定方法
PCT/JP2018/003282 WO2019150510A1 (ja) 2018-01-31 2018-01-31 特定プログラム、情報処理装置および特定方法
RU2020125431A RU2751580C1 (ru) 2018-01-31 2018-01-31 Программа специфицирования, устройство обработки информации и способ специфицирования
US16/929,180 US11328501B2 (en) 2018-01-31 2020-07-15 Computer-readable recording medium recording specifying program, information processing apparatus, and specifying method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/003282 WO2019150510A1 (ja) 2018-01-31 2018-01-31 特定プログラム、情報処理装置および特定方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/929,180 Continuation US11328501B2 (en) 2018-01-31 2020-07-15 Computer-readable recording medium recording specifying program, information processing apparatus, and specifying method

Publications (1)

Publication Number Publication Date
WO2019150510A1 true WO2019150510A1 (ja) 2019-08-08

Family

ID=67478687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/003282 WO2019150510A1 (ja) 2018-01-31 2018-01-31 特定プログラム、情報処理装置および特定方法

Country Status (4)

Country Link
US (1) US11328501B2 (ja)
JP (1) JP7040536B2 (ja)
RU (1) RU2751580C1 (ja)
WO (1) WO2019150510A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316765A (ja) * 2002-04-23 2003-11-07 Hitachi Ltd 階層化文書マッピング装置
JP2005267195A (ja) * 2004-03-18 2005-09-29 Nippon Digital Kenkyusho:Kk 階層化文書情報生成装置、階層化文書情報生成方法および階層化文書情報生成プログラム
JP2008165641A (ja) * 2006-12-28 2008-07-17 Ntt Data Corp 会計情報収集・分析システム及びその方法並びにプログラム
WO2015166973A1 (ja) * 2014-05-02 2015-11-05 株式会社野村総合研究所 企業財務データを集約する集約サーバ、方法及びコンピュータプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176003B2 (en) * 2007-06-29 2012-05-08 Microsoft Corporation Automatic designation of XBRL taxonomy tags
KR101384405B1 (ko) * 2010-01-19 2014-04-10 후지쯔 가부시끼가이샤 해석 방법, 해석 장치 및 해석 프로그램
RU2605077C2 (ru) * 2015-03-19 2016-12-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Способ и система для хранения и поиска информации, извлекаемой из текстовых документов
EP3460677A4 (en) 2016-05-16 2019-12-11 Fujitsu Limited EVALUATION PROGRAM, EVALUATION DEVICE AND EVALUATION PROCEDURE

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316765A (ja) * 2002-04-23 2003-11-07 Hitachi Ltd 階層化文書マッピング装置
JP2005267195A (ja) * 2004-03-18 2005-09-29 Nippon Digital Kenkyusho:Kk 階層化文書情報生成装置、階層化文書情報生成方法および階層化文書情報生成プログラム
JP2008165641A (ja) * 2006-12-28 2008-07-17 Ntt Data Corp 会計情報収集・分析システム及びその方法並びにプログラム
WO2015166973A1 (ja) * 2014-05-02 2015-11-05 株式会社野村総合研究所 企業財務データを集約する集約サーバ、方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US11328501B2 (en) 2022-05-10
RU2751580C1 (ru) 2021-07-15
JP7040536B2 (ja) 2022-03-23
JPWO2019150510A1 (ja) 2020-11-19
US20200342254A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US9552335B2 (en) Expedited techniques for generating string manipulation programs
JP5756386B2 (ja) 動的なウェブ・アプリケーションの問題を修正するメタデータの生成・管理の支援方法、装置、およびプログラム
EP1580671A2 (en) Data mapping with nested tables
US7877417B2 (en) Method and apparatus for exchanging data with a database
JP2007293838A (ja) コンテンツ変換システム
CN113678118A (zh) 数据提取系统
AU2020393787B2 (en) Method and system for generating synthethic data using a regression model while preserving statistical properties of underlying data
US11550785B2 (en) Bidirectional mapping of hierarchical data to database object types
US20110184956A1 (en) Accessing digitally published content using re-indexing of search results
CN113486187A (zh) 佛学知识图谱构建方法、装置、设备及存储介质
JP2019040260A (ja) 情報処理装置及びプログラム
US20220156245A1 (en) System and method for managing custom fields
WO2019150510A1 (ja) 特定プログラム、情報処理装置および特定方法
JP6708253B2 (ja) 評価プログラム、評価装置および評価方法
JP7279524B2 (ja) データ管理プログラム、データ管理方法およびデータ管理システム
JP7063341B2 (ja) 評価プログラム、情報処理装置および評価方法
US20160132537A1 (en) Systems and Methods for Normalized Schema Comparison
CN108062325A (zh) 比较方法和比较系统
JP6677809B2 (ja) アダプタ生成装置及び方法
CN109522370A (zh) 一种基于sql的自动表格生成方法及装置
JP6361472B2 (ja) 対応情報生成プログラム、対応情報生成装置及び対応情報生成方法
Merchant et al. IDS Transposer: A users guide
JP7090055B2 (ja) サーバ装置、プログラム、および情報処理方法
JP4120879B2 (ja) プログラム生成システム及び方法とそのプログラム
JP6102444B2 (ja) 設計書管理プログラム、設計書管理方法および情報処理装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18903514

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019568490

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18903514

Country of ref document: EP

Kind code of ref document: A1