Program, information processing method, and information processing device
The program addresses the challenge of varied tabular data formats by generating integrated tables that enhance data processing efficiency and usability through defined relationships and conversions to semi-structured formats.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- DAIKIN INDUSTRIES LTD
- Filing Date
- 2026-01-16
- Publication Date
- 2026-07-23
AI Technical Summary
Data creators often use partially modified tabular data formats, making it difficult for data users to efficiently utilize experimental data.
A program that enhances data processing by defining relationships between tabular data and cells, allowing for the generation of integrated tables through the extraction and arrangement of layout-defined data based on headers and layouts, and converting tabular data into semi-structured data formats like JSON or XML.
Enables efficient utilization of data by creating integrated tables that facilitate easy information retrieval and comparison across different data formats, improving data processing convenience and usability.
Smart Images

Figure JP2026001321_23072026_PF_FP_ABST
Abstract
Description
Program, Information Processing Method, and Information Processing Apparatus
[0001] The present invention relates to a program, an information processing method, and an information processing apparatus.
[0002] Patent Document 1 discloses an apparatus that converts data in a spreadsheet format into data in a semi-structured data format.
[0003] Japanese Patent Application Laid-Open No. 2017-146923
[0004] Data users such as data scientists often request data creators such as researchers who input experimental data, etc., to input data in a predetermined tabular data format in order to efficiently use data such as experimental data. However, data creators may sometimes use a partially modified tabular data format according to the type and number of experiments, etc., and in such cases, it has been difficult to efficiently use the data.
[0005] In one aspect of the present disclosure, a program, etc. that enhances the convenience of processing using a layout that defines the relationship between tabular data and each cell of the tabular data is provided.
[0006] The program of the first aspect causes a computer to execute a process of acquiring a tabular file including tabular data associated with a layout that defines the relationship between a plurality of cells, extracting layout-defined data included in the tabular data and defined as being the target of the layout, and generating an integrated table by combining the extracted plurality of layout-defined data. In one aspect of the present disclosure, the convenience of processing using a layout that defines the relationship between tabular data and each cell of the tabular data can be further enhanced.
[0007] The program of the second perspective is the program of the first perspective which accepts one of the following as a partitioning unit: the tabular file, a sheet contained in the tabular file and containing the tabular data, or a table which is the layout-defined data defined as a table within the tabular data, and generates the integrated table by arranging the layout-defined data vertically or horizontally in the selected partitioning unit.
[0008] The program of the third perspective is the program of the second perspective which sequentially arranges a plurality of tabular data having a common header in a first direction which is either the vertical or horizontal direction.
[0009] The program of the fourth perspective is the program of the third perspective, which sequentially arranges a plurality of tabular data having different headers in a second direction different from the first direction, either vertically or horizontally.
[0010] The fifth perspective program is a program according to any of the second to fourth perspectives, which sequentially arranges the tabular data having common attributes in a first direction, which is either the vertical or horizontal direction, within the division unit, and sequentially arranges the tabular data having different attributes in a second direction, which is either the vertical or horizontal direction, but different from the first direction, within the division unit.
[0011] The program of the sixth perspective is a program of any of the first to fifth perspectives that generates the integrated table based on a header selected from a list of header candidates created from the extracted multiple layout-defined data.
[0012] The program of the seventh perspective is the program of the sixth perspective, which edits the position in which the header candidates are displayed on the integration table from the list of header candidates and generates the integration table based on the selected header.
[0013] The information processing method from the eighth perspective is an information processing method that obtains a tabular file containing tabular data associated with a layout that defines the relationships between multiple cells, extracts layout-defined data that is included in the tabular data and is defined as being the target of the layout, and combines the extracted multiple layout-defined data to generate an integrated table.
[0014] An information processing device in the ninth aspect is an information processing device having a control unit, the control unit acquires a tabular file containing tabular data associated with a layout that defines the relationships between a plurality of cells, extracts layout-defined data that is included in the tabular data and is defined as being the subject of the layout, and combines the extracted plurality of layout-defined data to generate an integrated table.
[0015] This is an overview diagram of a system relating to one aspect of this disclosure. This is a block diagram showing an example of the configuration of a server device. This is a diagram showing an example of the configuration of a management file. This is a block diagram showing an example of the configuration of a terminal device. This is an explanatory diagram for explaining the layout. This is a flowchart showing an example of the processing of a server device. This is a diagram showing an example of the configuration of a tabular file. This is a diagram showing an example of a screen including a list of header candidates. This is a diagram showing an example of an integrated table displayed in the preview area. This is an explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is set to "sheet". This is a diagram showing another example of an integrated table displayed when the division unit is set to "sheet". This is an explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is set to "table". This is a diagram showing an example of the configuration of a tabular file. This is an explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is set to "file". This is an explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is set to "sheet". This is an explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is set to "table". This is a diagram showing an example of the configuration of a tabular file. This is an explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is set to "file". This diagram illustrates a list of header candidates and an example of an integrated table when the partitioning unit is set to "sheet". This diagram also illustrates a list of header candidates and an example of an integrated table when the partitioning unit is set to "table".
[0016] The following describes in detail, with reference to drawings, a system that is an example of a program, information processing device, and information processing method relating to one aspect of this disclosure. In the description, similar elements are denoted by the same reference numerals, and redundant explanations are omitted as appropriate.
[0017] Figure 1 is an overview diagram of a system relating to one aspect of this disclosure. The system relating to this form of disclosure includes an information processing device 1 and an information processing terminal 2, which can send and receive information via a network 3 such as the Internet.
[0018] Information processing device 1 is an information processing device that processes, stores, and transmits various types of information. Information processing device 1 may be configured as, for example, a server device, a personal computer, a tablet terminal, or a smartphone. Information processing device 1 may be composed of multiple information processing devices, or it may be configured as one of multiple virtual devices (virtual machines) configured within a single information processing device. In this embodiment of the disclosure, to avoid complexity in the explanation, information processing device 1 will be read as server device 1. However, information processing device 1 is not limited to a server device and may be configured as any of the above-described types of information processing devices.
[0019] The information processing terminal 2 can display or download tabular data files (hereinafter referred to as "tabular files") stored in the server device 1 via the network 3 and perform editing, etc. Here, tabular data or files can be used synonymously with spreadsheet data or files. The information processing terminal 2 can be, for example, an information processing device such as a personal computer, smartphone, mobile phone, wearable device, or tablet. In this embodiment of the disclosure, to avoid complexity in the explanation, the information processing terminal 2 will be read and described as terminal device 2.
[0020] Figure 2 is a block diagram showing an example configuration of the server device 1. The server device 1 can be an information processing device composed mainly of electronic circuits using semiconductor circuit elements. The server device 1 has a control unit 11, a communication unit 12, a reading unit 13, and a storage unit 14. The control unit 11, communication unit 12, reading unit 13, and storage unit 14 are connected to each other via a bus 19 or the like. Note that the server device 1 may have other configurations, such as not having a reading unit 13.
[0021] The control unit 11 can be configured to have one or more processing units such as a CPU (Central Processing Unit), MPU (Micro-Processing Unit), GPU (Graphics Processing Unit), FPGA (Field Programmable Gate Array), DSP (Digital Signal Processor), and quantum processor. The control unit 11 reads and executes the program (or program product) 1P stored in the storage unit 14.
[0022] The communication unit 12 is a communication module for performing communication-related processing and can send and receive information with terminal devices 2, etc., via the network 3. The reading unit 13 can read portable storage media 15 such as CD (Compact Disc)-ROM (Read Only Memory), DVD (Digital Versatile Disc)-ROM, and USB (Universal Serial Bus) memory. The control unit 11 may read program 1P from the portable storage media 15 via the reading unit 13 and save it to the storage unit 14. Alternatively, the control unit 11 may download program 1P from another computer via the network 3, etc., and save it to the storage unit 14.
[0023] The storage unit 14 includes volatile storage units such as RAM (Random Access Memory), and non-volatile storage units such as ROM, HDD (Hard Disk Drive), and flash memory. As shown in Figure 2, the storage unit 14 stores, for example, program 1P and tabular linked data 60. Program 1P is a program executed by the control unit 11. In this embodiment, program 1P may also be referred to as program product 1P.
[0024] The tabular linked data 60 consists of a management file 61, a tabular file storage unit 62, and a layout file storage unit 63. The management file 61 stores which layout file stored in the layout file storage unit 63 is linked to the tabular file stored in the tabular file storage unit 62.
[0025] The tabular file storage unit 62 stores tabular data files (hereinafter referred to as "tabular files"). The layout file storage unit 63 stores files containing layouts (hereinafter referred to as "layout files"). Layouts will be described later.
[0026] Figure 3 shows an example of the configuration of the management file 61. As shown in this figure, the management file 61 can be configured in a table format. The management file 61 may be saved as a database table, or as a spreadsheet or text file. The management file 61 has columns for identifier, tabular file, and layout file. The identifier column stores a string that identifies the tabular file. The tabular file column stores the location (file path) where the tabular file is saved. The layout file column stores the location (file path) where the saved layout file is saved.
[0027] This allows the layout file of the layout applied to the saved tabular file to be extracted using an identifier or the location (file path) where the tabular file is saved as a key. Note that the configuration for linking a tabular file to a corresponding layout or layout file is not limited to this configuration. For example, information linking to the corresponding layout or layout file may be stored within the tabular file, or other forms can be used to indicate the linking, such as the tabular file and layout file being stored in the same folder.
[0028] Figure 4 is a block diagram showing an example configuration of terminal device 2. Here, terminal device 2 can be an information processing device composed mainly of electronic circuits using semiconductor circuit elements. Terminal device 2 may have a control unit 21, a communication unit 22, a reading unit 23, a storage unit 24, a display unit 26, and an input unit 27. The components of the control unit 21, communication unit 22, reading unit 23, storage unit 24, display unit 26, and input unit 27 are connected to each other so as to be able to communicate with one another by a bus 29 or the like.
[0029] The control unit 21 can be configured to have one or more processing units such as a CPU, MPU, GPU, FPGA, DSP, and quantum processor. The control unit 21 reads and executes the program stored in the storage unit 24.
[0030] The communication unit 22 is a communication module for performing communication-related processing and can send and receive information with the server device 1, etc., via the network 3. The reading unit 23 can read portable storage media 25 such as CD-ROMs, DVD-ROMs, and USB memory sticks. The control unit 21 can read programs and / or data from the portable storage media 25 via the reading unit 23 and save them to the storage unit 24. The control unit 21 can also download programs from other computers via the network 3, etc., and save them to the storage unit 24.
[0031] The storage unit 24 includes volatile storage devices such as RAM, and non-volatile storage devices such as ROM, HDD, and flash memory. The display unit 26 can be a liquid crystal display or an organic EL (Electro-Luminescence) display, etc. The input unit 27 can be an input device such as a keyboard, mouse, touch panel, and camera.
[0032] Figure 5 is an explanatory diagram for illustrating the layout. In Figure 5, tabular data is displayed, and the layout is displayed on top of the tabular data. Tabular data can be stored in or stored in a tabular file. Tabular data consists of columns and rows, and data elements, which are cells, are located at the intersection of rows and columns. Cells are identified by sequentially specifying the column, which is identified by an alphabet, and the row, which is identified by a number (for example, "cell A1"). In Figure 5, for example, the string "experimental equipment" is stored as the value of cell B3 and the string "Tammann tube" is stored as the value of cell D3.
[0033] The layout is primarily depicted in Figure 5 using thick lines and arrows. In this embodiment, the elements that constitute the layout are called parsing objects. In this embodiment, the parsing objects are the header parser 92, the sequence parser 93, and the table parser 95. However, other parsing objects may also be present. Furthermore, the layout may not include any or all of these parsing objects.
[0034] The heading parser 92 is an arrow extending from the cell indicating the heading to the cell or table parser 95 that contains the content of the heading. The heading parser 92 connects two cells, or a cell and a table parser 95. In Figure 5, the heading parser 92 is represented, for example, by an arrow with a triangular tip extending from cell B3 to cell D3. The heading parser 92 may also indicate an inclusion relationship.
[0035] The table parser 95 is a parsing object that specifies a table in which the data content is structured in rows and columns. The table parser 95 consists of a whole table section 951 that shows the entire table and a table data section 952 that shows the data portion. In this embodiment, the whole table section 951 that is not included in the table data section 952 is referred to as the header or header area.
[0036] In Figure 5, the entire table portion 951 of the table parser 95 is represented by a rectangle with cells B9 and D13 as its diagonal vertices, and the table data portion 952 is represented by a rectangle with cells C10 through D13 as its diagonal vertices. Here, the upper left and lower right corners of the table data portion 952 are shown as black-filled triangular sections to distinguish the entire table portion 951 from the table data portion 952.
[0037] The sequence parser 93 is a parsing object that connects cells and represents the order in the direction indicated by the arrows. In Figure 5, for example, the sequence parser 93 is shown for cells C16, C18, and C20 by arrows extending from cell C16 to cell C18 and from cell C18 to cell C20. In this embodiment, the sequence parser 93 has V-shaped arrows at its tips to distinguish it from the header parser 92.
[0038] These parsing objects are included in the layout corresponding to the tabular data and are stored as a layout file in the layout file storage unit 63. The management file 61 can also store the file path of the corresponding layout file in the record of the corresponding tabular file. The layout file may store the layout structure information by converting each parsing object placed in the tabular data into a string or the like. For example, the layout structure information can be stored in the layout file by describing the header parser 92 extending from cell B3 to cell D3 using a predetermined syntax such as "Header:B3:D3".
[0039] Server device 1 may convert tabular data into semi-structured data based on the parsing objects described above. Semi-structured data can be output by applying a layout to tabular data. For example, it can be data written in JSON (JavaScript® Object Notation) format and XML (eXtensible Markup Language) format. Semi-structured data is data that explicitly defines and describes combinations of data names and the content of data related to those names, and can also describe inclusion relationships in a nested format. Furthermore, semi-structured data cannot be managed as a single relational database or tabular data, but can be defined as data that is structured to a certain extent.
[0040] For example, the header parser 92 extending from cell B3 to cell D3 can be written in JSON format as follows: {"key": "Experimental equipment", "value": [{"key": "Tammann tube"}]} By performing such a conversion to create semi-structured data, it becomes possible to search for necessary information between tabular data with different layouts, and to easily extract it.
[0041] Furthermore, rules for converting parsing objects other than the header parser 92 into semi-structured data can be appropriately defined. The rules for converting to semi-structured data do not have to be rules for converting to JSON format; they may also be rules for converting to XML format or other semi-structured data formats. The parsing objects are not limited to the header parser 92, sequence parser 93, and table parser 95, and can be defined as appropriate, and rules for converting each parsing object into semi-structured data can be appropriately defined. In this embodiment, even when the conversion of semi-structured data is not described, it is permissible to convert to semi-structured data using tabular data and layouts, or to convert to tabular data and layouts based on semi-structured data, as appropriate.
[0042] FIG. 6 is a flowchart showing an example of the processing of the server device 1. As shown in this figure, the server device 1 first accepts the selection of a tabular file in which tabular data is stored (step S11). The selection of the tabular file may be such that the display unit 26 of the user's terminal device 2 displays the folder hierarchy structure and displays the tabular files in the selected folder, and allows the user to select the tabular file displayed. Also, a tabular file related to a keyword may be displayed by search or the like, and the user may select from the tabular files therein. Note that the server device 1 may be configured to accept the selection of one or more tabular files simultaneously.
[0043] Next, the server device 1 extracts the layout-defined data of the selected tabular file (step S12). Here, the layout-defined data means tabular data in which the above-described heading parser 92, table parser 95, and order parser 93 are arranged by applying a layout file associated with the tabular file to the tabular file. Subsequently, the server device 1 outputs a list of header candidates for the integrated table from the layout-defined data (step S13). The output list of header candidates is displayed on the display unit 26 of the terminal device 2. The list of header candidates for the integrated table to be displayed will be described later.
[0044] Next, the server device 1 accepts the editing and selection of the displayed list of header candidates via the terminal device 2 (step S14). The server device 1 generates an integrated table using the selected header and displays the integrated table in the preview area 813 (FIG. 8) (step S15). Note that the server device 1 may directly display the integrated table after extracting the layout-defined data without displaying the list of header candidates.
[0045] Next, the server device 1 determines whether the saving of the integrated table preview-displayed is instructed (step S17). If it is determined that the saving is instructed (YES in step S17), the server device 1 performs a saving process and ends the process (step S18). In the saving process, it is also possible to save a tabular file and a layout file, and save the respective file paths in a new record of the management file 61. If it is determined that the saving is not instructed (NO in step S17), the server device 1 returns to step S14 and repeats the process.
[0046] As described above, the server device 1 generates an integrated table based on the header selected from the list of header candidates created from the plurality of layout-defined data that have been extracted. Thereby, regarding the header of the displayed integrated table, considerations such as display / non-display can be performed by list display.
[0047] [1. Example when the number of tabular files is 1]FIG. 7 is a diagram showing an example of the configuration of the tabular file 71. The tabular file 71 can be the tabular file stored in the tabular-linked data 60 selected in step S11 of FIG. 6. The tabular file 71 has sheets 711, 712, and 713 including tabular data.
[0048] Sheets 711, 712, and 713 have sheet names "Experiment Information", "Experiment Result 1", and "Experiment Result 2", respectively. Sheet 711 has layout-defined data 7111 defined by a header parser 92 with "Person in Charge" as the header and "Tanaka" as the content, and a header parser 92 with "Sample Name" as the header and "LaFeAs" as the content. Sheets 712 and 713 respectively have layout-defined data 7121 and 7131 defined by a table parser 95 with "Sample ID", "Electrical Resistivity (300K)", and "Transition Point" as headers.
[0049] [1.1. Splitting Unit: File] Figure 8 shows an example of a screen 81 that includes a list of header candidates. Here, screen 81 is the screen displayed on the display unit 26 of the terminal device 2 as a result of the output of step S13 in Figure 6, and is the screen for the tabular file 71 in Figure 7. As shown in this figure, screen 81 has a data splitting unit selection area 811, a header candidate list display area 812, a preview area 813, a save button 814, and a preview button 815.
[0050] Server device 1 accepts one of the following as the data division unit via the data division unit selection area 811: file, sheet, or table. Server device 1 arranges the layout-defined data 7111, 7121, and 7131 vertically or horizontally in the selected division unit (Figures 9-12). In the example in Figure 8, "file" is selected as the division unit. The header candidate list display area 812 has a header name field 8121, a count field 8122, a type field 8123, and an edit link 8124.
[0051] Server device 1 extracts the headings from the heading parser 92 as header candidates. Server device 1 also extracts the contents of each table header from the table parser 95 as header candidates. The header name column 8121 displays the header names of the extracted header candidates. Server device 1 also displays a checkbox adjacent to the header name to select whether to use the header candidate as the header of the integrated table.
[0052] In Figure 7, the table parser 95 of the tabular file 71 does not have a header parser 92 connected to it. Therefore, in the header candidate list display area 812 of Figure 8, the table name is displayed as "(blank)". However, if the header parser 92 is connected to the table parser 95, the header of the header parser 92 will be displayed as the table name in the header name column 8121.
[0053] As shown in Figure 8, when displaying headers included in the table (for example, "Sample ID", "Electrical Resistivity (300K)", "Transition Point") in the header name field 8121, the server device 1 displays them as header candidates included in the table heading by listing them with indentation immediately after the header candidate that will become the table heading (for example, "Experimental Results 1. Table: (blank)").
[0054] Here, the server device 1 displays the columns (or rows) of the integrated table in the order they are displayed in the header candidate list display area 812. Based on operations performed by the user of the terminal device 2, such as drag-and-drop using the input unit 27 of the terminal device 2 (e.g., a mouse), the server device 1 changes the order of the header candidates in the header candidate list display area 812. In this embodiment, changing the display order of the header candidates in the header candidate list display area 812 is called "header editing". In this way, the server device 1 accepts editing of the position in which the header candidates are displayed on the integrated table from the list of header candidates, accepts the selection of header candidates to display, and generates the integrated table based on the selected headers.
[0055] The count column 8122 displays the number of times the header name of the header candidate appears in the layout-defined data extracted from the selected tabular file. The type column 8123 mainly displays the type of layout from which the header candidate of the layout-defined data was extracted. Specifically, "Value" is displayed if the header candidate is based on a header from the header parser 92, and "Table" is displayed if the header candidate is based on a header from the table parser 95. The strings "Value" and "Table" are not limited to these, and any string can be defined.
[0056] The metadata header candidate type field displays "metadata". The metadata header candidate has the header name "metadata" and is a header candidate for remembering one of the following: the folder path of the folder where the selected tabular file is saved, the file name of the tabular file, the sheet name of the sheet, or the table path which is a combination of the file name and sheet name.
[0057] In Figure 8, when "file" is used as the splitting unit, the server device 1 displays header candidates for "Book," which displays the file name, and header candidates for "Folder Path," which displays the file path of the folder where the file is stored. The server device 1 lists the header candidates for "Book" and "Folder Path" with an indent immediately after the header candidate for "Metadata" in the header name column 8121. The edit link 8124 accepts edits such as whether to display the integrated table vertically or horizontally.
[0058] The preview area 813 displays the table generated by the header selected in the header candidate list display area 812. The save button 814 is a button for sending a save command to the server device 1. When the user clicks the save button 814 or performs other actions, it sends a save command to the server device 1. Upon receiving the save command, the server device 1 saves the contents displayed in the preview area 813 as a tabular file or similar.
[0059] The preview button 815 is a button that sends an instruction to the server device 1 to output an integrated table using the header selected in the header candidate list display area 812 to the preview area 813. When the terminal device 2 receives an operation such as clicking the preview button 815 from the user, it sends a preview instruction to the server device 1. Upon receiving the preview instruction, the server device 1 creates an integrated table using the header selected in the header candidate list display area 812 and outputs it to the preview area 813.
[0060] In Figure 8, the server device 1 accepts a selection of "file" as the splitting unit. When a file (tabular file) is selected as the splitting unit, the server device 1 includes the sheet name in the header name of the header candidate displayed in the header candidate list display area 812. Specifically, the server device 1 displays a string in the header name of the header candidate that connects the sheet name and the header of the header parser 92 or the header of the table parser 95 ("(blank)" in Figure 14) via a "." (period).
[0061] For example, in the display of the header name field 8121, the sheet name "Experiment Information" and the header name "Person in Charge" generated by the header parser 92 are connected by a "." (period), resulting in "Experiment Information.Person in Charge". By creating a header that combines the sheet name and the header from the header parser 92 in this way, even if there are header candidates with the same name on different sheets when "files" are used as the unit of division, the server device 1 can treat them as different headers and display them in the header candidate list display area 812.
[0062] Figure 9 shows an example of an integrated table displayed in the preview area 813. The integrated table displayed in the preview area 813 of Figure 9 is the integrated table displayed by the server device 1 when the preview button 815 is operated, based on the contents displayed in the header candidate list display area 812 of Figure 8, and when all of the displayed header candidates are selected (checked in the checkboxes).
[0063] As shown in the integrated table in Figure 9, the server device 1 adopts the sheet name displayed before the "." (period) in the header candidate list display area 812 in Figure 8 as the upper-level header that encompasses the header candidates within the sheet, among the multiple levels of headers in the integrated table. The server device 1 also adopts the string displayed after the "." (period) in the header candidate list display area 812 as the lower-level header that is encompassed by the sheet name header.
[0064] The lower-level header will be a header where the Type field 8123 is set to "Value" or "Table". Furthermore, the server device 1 adopts the header candidate (table header) displayed in the header name field 8121 of Figure 8, indented immediately after the header candidate where the Type field 8123 is set to "Table", as the header of the integrated table, as a header below the header where the Type field 8123 is set to "Table". In Figure 9, the integrated table is shown as a horizontal table with the header at the top, but it may also be a vertical integrated table with the header on the left.
[0065] As shown in this table, the division unit is "file," and the selected tabular file is a single tabular file 71. Therefore, the server device 1 does not use a common header and outputs the data in a single row. Note that the integrated table may extend in the column direction by transposing rows and columns. In this way, the server device 1 arranges multiple tabular data with different headers sequentially in either the vertical or horizontal direction.
[0066] [1.2. Splitting Unit: Sheet] Figure 10 is an explanatory diagram showing an example of a header candidate list and integrated table when the splitting unit is set to "sheet". In Figure 10, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the splitting unit is set to "sheet", the sheet name is not appended to the header name, and header names with the same string on different sheets are treated as common header candidates across sheets.
[0067] In Figure 7, the layout-defined data 7121 for sheet 712 and the layout-defined data 7131 for sheet 713, related to the table parser 95, have the same string header. Therefore, in the example of the header candidate list display area 812 in Figure 10, where the division unit is set to "sheet," the server device 1 uses the common header names for the layout-defined data 7121 and the layout-defined data 7131 as common header candidates. As a result, the header candidates "Sample ID," "Electrical Resistivity (300K)," and "Transition Point" extracted by the table parser 95 appear in both the layout-defined data 7121 and 7131, becoming common header candidates, and the display in the count column 8122 for these header candidates is 2.
[0068] Furthermore, regarding the metadata header candidates when "sheets" are used as the splitting unit, the server device 1 displays header candidates with the same header names "Book" and "Folder Path" as when "files" are used as the splitting unit, as well as a header candidate with the header name "Sheet" that displays the sheet name, in the header candidate list display area 812.
[0069] Here, the target tabular file 71 has layout-defined data 7111, 7121, and 7131 in three sheets, respectively (Figure 7). Since the division unit is "sheet," as shown in the integrated table in the preview area 813 of Figure 10, the server device 1 generates a three-row integrated table in the preview area 813, in which the layout-defined data 7111, 7121, and 7131 placed in each sheet are arranged vertically in order. Note that the integrated table may extend in the column direction by transposing the rows and columns.
[0070] Here, regarding the metadata of the integrated table, the contents of the "Book" column, which displays the file name for each row, are all the same, but the contents of the "Sheet" column, which displays the sheet name, are different from each other. This indicates that the contents of the cells in each row are data extracted from different sheets in the same file. In this way, the server device 1 generates the integrated table by arranging the layout-defined data vertically (or horizontally) in the selected division unit.
[0071] Furthermore, as described above, the server device 1 arranges multiple tabular data sets having common headers ("Sample ID," "Electrical Resistivity (300K)," and "Transition Point") between division units in a first direction (vertical in this embodiment), which is either vertical or horizontal. The server device 1 also arranges multiple tabular data sets having different headers ("Person in Charge" and "Sample Name") between division units in a second direction (horizontal in this embodiment), which is either vertical or horizontal and different from the first direction. In the example of Figure 10, tabular data sets having different headers between division units are arranged horizontally while also moving vertically. This allows for the creation of an easy-to-read and comprehensive integrated table by arranging the contents of common headers in one direction for easy comparison, and describing non-common headers as separate information.
[0072] Figure 11 shows another example of an integrated table displayed when the division unit is set to "sheet". The server device 1 may determine that sheets 712 and 713 are sheets with the same attributes because the sheet names "Experimental Results 1" and "Experimental Results 2" are strings consisting of the same term and the numbers associated with that term. Alternatively, the server device 1 may determine that sheet 711, "Experimental Information," is a sheet with different attributes from sheets 712 and 713.
[0073] In this case, as shown in the integrated table in Figure 11, sheets 712 and 713, which have common attributes, can be arranged vertically (or horizontally), and sheet 711, which has different attributes, can be arranged horizontally (or vertically). In this way, tabular data with common attributes can be arranged sequentially in a first direction, which is either vertical or horizontal, in units of division, and tabular data with different attributes can be arranged sequentially in a second direction, which is either vertical or horizontal, but different from the first direction, in units of division.
[0074] This allows for the creation of a user-friendly and comprehensive integrated table by arranging the division units of common attributes in one direction for easy comparison, and displaying the division units of different attributes separately in a different direction. In the example in Figure 11, metadata is not selected in the header candidate list display area 812, and therefore metadata is not displayed in the integrated table.
[0075] Furthermore, even when multiple tabular data sets having a common header are arranged sequentially in a first direction, either vertically or horizontally, and tabular data sets having different headers are arranged in a second direction, either vertically or horizontally, that is different from the first direction, the server device 1 can output an integrated table like the one shown in Figure 11. For example, if metadata is not selected in the header candidate list display area 812 and metadata is not displayed in the integrated table, the server device 1 can output an integrated table like the one shown in Figure 11 by arranging tabular data sets having different headers (e.g., sheet name "Experiment Information") in the second direction (horizontal) without moving them in the first direction (vertical) relative to other tabular data sets (sheet name "Experiment Results 1").
[0076] [1.3. Division Unit: Table] Figure 12 is an explanatory diagram showing an example of a header candidate list and an integrated table when the division unit is set to "table". In Figure 12, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the division unit is set to "table", the headings of the heading parser 92 are not extracted as header candidates, and header names with the same string in different tables are treated as common header candidates among the layout-defined data.
[0077] The target tabular file 71 has layout-defined data 7111, 7121, and 7131 in three sheets, respectively (Figure 7). However, since the division unit is a "table", the server device 1 targets only the layout-defined data 7121 and 7131, including the table parser 95, as header candidates.
[0078] Similar to the case in Figure 10 where the division unit is "sheet," in the example of the header candidate list display area 812 in Figure 12, the server device 1 adopts the same string header names in the layout-defined data 7121 and 7131 in Figure 7 as common header candidates. Specifically, the header candidates "Sample ID," "Electrical Resistivity (300K)," and "Transition Point" extracted by the table parser 95 appear in both the layout-defined data 7121 and 7131, and therefore become common header candidates, and the display in the count column 8122 for these header candidates becomes 2.
[0079] Furthermore, when a "table" is used as the partitioning unit, the server device 1 displays header candidates such as "Book," "Folder Path," and "Sheet" as metadata, similar to when a "sheet" is used as the partitioning unit, and also displays header candidates such as "Key" for identifying tables within a sheet.
[0080] As described above, the integrated table created by the server device 1 targets the layout-defined data 7121 and 7131, which have a table parser 95. As shown in the integrated table in the preview area 813 of Figure 12, the division unit is a "table," so the server device 1 arranges the layout-defined data 7121 and 7131 based on the table parser 95 in order vertically to generate a two-row integrated table. The integrated table may also have two columns in the column direction by transposing the rows and columns.
[0081] Here, regarding the metadata of the integrated table, the contents of the "Book" column, which displays the file name for each row, are all the same, but the contents of the "Sheet" column, which displays the sheet name, are different from each other. This indicates that the contents of the cells in each row are data extracted from different sheets in the same file. In addition, Server Device 1 displays a combination of the file name and sheet name connected by a "." (period) in the "Key" column.
[0082] If a header parser 92 is further connected to the extracted table parser 95, the "Key" column may display the table header after the sheet name, separated by a period ("."). This allows the "Key" column to be displayed as a table path, which is a string that identifies the table. Alternatively, the "Key" column may display only the table header, without displaying the file name or sheet name. Furthermore, if one or more header parsers 92 are hierarchically connected to the header parser 92 connected to the table parser 95, the "Key" column may display the headers of each header parser, separated by periods ("." in hierarchical order. In this way, the server device 1 generates an integrated table by arranging the layout-defined data vertically (or horizontally) in the selected division units.
[0083] As described above, the server device 1 acquires a tabular file containing tabular data associated with layouts that define the relationships between multiple cells, extracts layout-defined data that is included in the tabular data and is defined as being subject to a layout, and combines the extracted layout-defined data to generate an integrated table. This allows multiple different tabular data associated with layouts to be viewed together as an integrated table. Therefore, the convenience of processing using tabular data and layouts that define the relationships between each cell in that tabular data can be further enhanced.
[0084] Furthermore, the server device 1 accepts one of the following as a partitioning unit: a tabular file, one or more sheets contained within a tabular file that contain tabular data, or a table which is layout-defined data defined as a table within the tabular data. By arranging the layout-defined data vertically or horizontally within the selected partitioning unit, it generates an integrated table. This makes it possible to create an integrated table that meets the user's requirements.
[0085] [2. Example when there are 2 tabular files] Figure 13 shows an example of the configuration of tabular files 72 and 73. Tabular files 72 and 73 can be tabular files stored in the tabular linked data 60 selected in step S11 of Figure 6. Tabular file 72 has the file name "Super Z Inspection_1" and has sheets 721, 722 and 723 containing tabular data. Tabular file 73 has the file name "Super Z Inspection_2" and has sheets 731, 732 and 733 containing tabular data.
[0086] Sheets 721, 722, and 723 of the tabular file 72 are named "Experimental Information," "Process 1," and "Process 2," respectively. Sheet 721 has predefined layout data 7211 defined by the heading parser 92, with headings "Person in Charge," "Sample Name," "Type," and "Overview," respectively. Sheet 722 has predefined layout data 7221 defined by the heading parser 92, with headings "Process Name," "Contact Drying Time," and "Glass Transition Temperature," respectively.
[0087] Sheet 723 contains layout-defined data 7231A defined by a header parser 92 with "Process Name" as the header, and layout-defined data 7231B defined by a table parser 95 with "Shear Load Stress (MPa)" and "Fracture Time (hr)" as headers. Layout-defined data 7231A and 7231B are referenced together as layout-defined data 7231.
[0088] Sheets 731, 732, and 733 of tabular file 73 are named "Experimental Information," "Process 1," and "Process 2," respectively, similar to sheets 721, 722, and 723 of tabular file 72. Sheet 731 contains layout-defined data 7311, which has the same headings as layout-defined data 7211 of sheet 721. Sheet 732 contains layout-defined data 7321, which has the same headings as layout-defined data 7221 of sheet 722. Sheet 733 contains layout-defined data 7331A, which has the same headings as layout-defined data 7231 of sheet 723, and layout-defined data 7331B, which has the same headers as layout-defined data 7231B. Layout-defined data 7331A and 7331B are collectively referred to as layout-defined data 7331.
[0089] [2.1. Splitting Unit: File] Figure 14 is an explanatory diagram showing an example of a header candidate list and integrated table when the splitting unit is set to "file". In Figure 14, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. Below, an example will be described in which tabular files 72 and 73 in Figure 13 are selected in step S11 of Figure 6 and the splitting unit is set to "file". As shown in the header candidate list display area 812 of Figure 14, when the splitting unit is set to "file (tabular file)", the server device 1 includes the sheet name of the sheet in the header name of the header candidate, similar to Figure 8.
[0090] Specifically, the server device 1 displays a string in the header name of a header candidate that connects the sheet name and the heading of the heading parser 92 or the heading of the table parser 95 (in Figure 14, "(blank)") via a "." (period). For example, in the display of the header name field 8121, the sheet name "Experiment Information" and the header name "Person in Charge" from the heading parser 92 are connected by a "." (period), resulting in "Experiment Information.Person in Charge". By creating a header that combines the sheet name and the heading of the heading parser 92 in this way, even if there are header candidates with the same name on different sheets when "files" are used as the unit of division, the server device 1 can treat them as different headers and display them in the header candidate list display area 812.
[0091] Furthermore, since tabular files 72 and 73 have the same sheet name, the same heading parser 92, and the same table parser 95 with the same header, the count of each header candidate, excluding metadata, is 1 per sheet, for a total of 2. The "metadata" in the header name column 8121 has header candidates with the header names "Book" and "folder path," similar to Figure 8.
[0092] As shown in the integrated table in the preview area 813 of Figure 14, the server device 1, similar to Figure 8, adopts the sheet name before the "." (period) in the header candidate list display area 812 as the upper-level header that encompasses the header candidates within the sheet, among the multiple levels of headers in the integrated table. The server device 1 also adopts the string displayed after the "." (period) in the header candidate list display area 812 as the lower-level header that is contained within the sheet name header.
[0093] The lower-level header will be a header where the Type field 8123 is set to "Value" or "Table". Furthermore, the server device 1 adopts the header candidate (table header) displayed in the header name field 8121 of Figure 14, indented immediately after the header candidate where the Type field 8123 is set to "Table", as the header of the integrated table, as a header below the header where the Type field 8123 is set to "Table". In Figure 14, the integrated table is shown as a horizontal table with the header at the top, but it may also be a vertical integrated table with the header on the left.
[0094] As shown in the integrated table in the preview area 813 of Figure 14, the server device 1 arranges the data of tabular files 72 and 73 vertically on a file-by-file basis, since the unit of division is "file". On the other hand, the headers within each tabular file 72 and 73 are arranged horizontally. Specifically, the server device 1 arranges the header candidates included in the sheet names "Experiment Information", "Process 1", and "Process 2" horizontally. Meanwhile, headers with the same header name between each tabular file 72 and 73 are common, and the values are displayed in the same header column. In the integrated table of Figure 14, since all headers except metadata are common, the data from the header parser 92 and the data from the table parser 95 are displayed in the common header column, respectively.
[0095] Here, the layout-defined data 7231 and 7331 extracted by the table parser 95 each have three data entries per header. Therefore, the server device 1 displays the data using three rows for each of the tabular files 72 and 73. Also, since the selected tabular files are two files, tabular files 72 and 73, the contents of tabular files 72 and 73 are arranged vertically. In other words, it becomes a combined table with a total of six rows.
[0096] As described above, the server device 1 arranges multiple tabular data sets having a common header in a first direction (vertical direction), which is either vertical or horizontal. The server device 1 also arranges multiple tabular data sets having different headers in a second direction (horizontal direction), which is either vertical or horizontal and different from the first direction. In the example in Figure 14, the data with different headers are arranged horizontally while also being moved vertically. This allows for the creation of an easy-to-read and comprehensive integrated table by arranging the contents of common headers in one direction for easy comparison, and describing non-common headers as separate information. The integrated table may also be created by transposing rows and columns and extending it in the column direction.
[0097] In the metadata, server device 1 displays the file name in the "Book" column and the folder path where the tabular file is saved in the "Folder Path" column.
[0098] [2.2. Splitting Unit: Sheet] Figure 15 is an explanatory diagram showing an example of a header candidate list and integrated table when the splitting unit is set to "sheet". In Figure 15, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the splitting unit is set to "sheet", the sheet name is not appended to the header name, and headers with the same string in different sheets are treated as common header candidates across sheets.
[0099] Aside from the absence of sheet names and metadata, the only difference between the header candidate list display area 812 in Figure 15 and the header candidate list display area 812 in Figure 14 is that the count for "Process Name" in the header name column 8121 is 4. In the header candidate list display area 812 in Figure 14, the sheet name was included in the header name column 8121, so "Process Name" in the header name column 8121 was treated as different headers for the sheet names "Process 1" and "Process 2". However, when the division unit is set to "Sheet" in Figure 15, the server device 1 treats "Process Name," which has the same header name, as a common header candidate and displays it as a common header in the integrated table.
[0100] The explanation of the metadata in Figure 15 is the same as the explanation for Figure 10, so redundant explanations will be omitted.
[0101] Here, the tabular file 72 in question has layout-defined data 7211, 7221, and 7231 in three sheets, respectively (Figure 13). Similarly, the tabular file 73 has layout-defined data 7311, 7321, and 7331 in three sheets, respectively. Because the division unit is "sheet," as shown in the integrated table in the preview area 813 of Figure 15, the server device 1 arranges the layout-defined data 7211, 7221, 7231, 7311, 7321, and 7331 vertically in order to form an integrated table of 10 rows.
[0102] Here, the header name "Process Name" is used as a common header, so the number of headers (columns) is one less compared to the integrated table in preview area 813 of Figure 14. In this way, the server device 1 generates the integrated table by arranging the layout-defined data vertically in the selected division unit. Note that the integrated table may also be one in which the rows and columns have been transposed and extended in the column direction.
[0103] Furthermore, as described above, the server device 1 arranges multiple tabular data sets having a common header in a first direction (vertical direction), which is either vertical or horizontal. The server device 1 also arranges multiple tabular data sets having different headers in a second direction (horizontal direction), which is either vertical or horizontal and different from the first direction. Here, the second direction may involve moving in the first direction while arranging in the second direction. This allows for the creation of an easy-to-read and comprehensive integrated table by arranging the contents of common headers in one direction for easy comparison, and describing non-common headers as separate information.
[0104] [2.3. Splitting Unit: Table] Figure 16 is an explanatory diagram showing an example of a header candidate list and an integrated table when the splitting unit is set to "table". In Figure 16, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the splitting unit is set to "table", the headers of the header parser 92 are not extracted as header names, and headers with the same string on different sheets are treated as common header candidates among the layout-defined data.
[0105] Of the target tabular files 72 and 73, the layout-defined data 7231 contained in sheet 723 and the layout-defined data 7331 contained in sheet 733 are considered as header candidates. Excluding metadata, the header candidate list display area 812 in Figure 16 is the same as the list in the header candidate list display area 812 in Figure 15, excluding the header names with type "Value" in the type column 8123, and redundant explanations are omitted.
[0106] The explanation of the metadata in Figure 16 is the same as the explanation in Figure 12, so redundant explanations will be omitted.
[0107] Since the division unit is a "table" and the target tables are the layout-defined data 7231B and 7331B in Figure 13, the integrated table will be a table in which the layout-defined data 7231B and 7331B are arranged vertically, as shown in the preview area 813 of Figure 16. Since the layout-defined data 7231B and 7331B have a common header, the values will be displayed in the corresponding common headers. In this way, the server device 1 generates an integrated table by arranging the layout-defined data vertically in the selected division unit. The integrated table may also extend in the column direction by transposing the rows and columns.
[0108] As described above, the server device 1 can acquire a tabular file containing tabular data associated with layouts that define the relationships between multiple cells, extract layout-defined data that is included in the tabular data and is defined as being subject to a layout, and combine the extracted layout-defined data to generate an integrated table. This allows multiple different tabular data associated with layouts to be viewed together as an integrated table. Therefore, the convenience of processing using tabular data and layouts that define the relationships between each cell in that tabular data can be further enhanced.
[0109] Furthermore, the server device 1 accepts one of the following as a partitioning unit: a tabular file, one or more sheets contained within a tabular file that contain tabular data, or a table which is layout-defined data defined as a table within the tabular data. By arranging the layout-defined data vertically or horizontally within the selected partitioning unit, it generates an integrated table. This makes it possible to create an integrated table that meets the user's requirements.
[0110] [3. Example when there are 6 tabular files] Figure 17 shows an example of the configuration of tabular files 74 to 79. Tabular files 74 to 79 can be tabular files stored in the tabular linked data 60 selected in step S11 of Figure 6. Tabular file 74 has the file name "Super Z Inspection_1 Experiment Information" and has a sheet 741. Sheet 741 has layout-defined data 7411 defined by a heading parser 92 with headings "Person in Charge", "Sample Name", "Type", and "Overview".
[0111] Tabular file 75 has the filename "Super Z Inspection_1 Process 1" and contains sheet 751. Sheet 751 contains layout-defined data 7511 defined by a header parser 92 with the headers "Process Name", "Contact Drying Time", and "Glass Transition Temperature". Tabular file 76 has the filename "Super Z Inspection_1 Process 2" and contains sheet 761. Sheet 761 contains layout-defined data 7611A defined by a header parser 92 with the header "Process Name". It also contains layout-defined data 7611B defined by a table parser 95 with the header names "Shear Load Stress (MPa)" and "Fracture Time (hr)". Layout-defined data 7611A and 7611B are referenced together with layout-defined data 7611.
[0112] Tabular file 77 has the filename "Super Z Inspection_2 Experiment Information" and contains sheet 771. Sheet 771, like sheet 741, contains predefined layout data 7711 defined by a heading parser 92 with headings "Person in Charge", "Sample Name", "Type", and "Overview". Tabular file 78 has the filename "Super Z Inspection_2 Process 1" and contains sheet 781. Sheet 781, like sheet 751, contains predefined layout data 7811 defined by a heading parser 92 with headings "Process Name", "Contact Drying Time", and "Glass Transition Temperature".
[0113] The tabular file 79 has the filename "Super Z Inspection_2nd Process 2" and contains sheet 791. Sheet 791, like sheet 761, contains layout-defined data 7911A defined by the header parser 92, with the header name "Process Name". It also contains layout-defined data 7911B defined by the table parser 95, with the header names "Shear Load Stress (MPa)" and "Fracture Time (hr)". Layout-defined data 7911A and 7911B are referenced together with layout-defined data 7911.
[0114] [3.1. Splitting Unit: File] Figure 18 is an explanatory diagram showing an example of a list of header candidates and an integrated table when the splitting unit is set to "file". In Figure 18, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. The following describes an example in step S11 of Figure 6 where tabular files 74 to 79 are selected and the splitting unit is set to "file". As shown in the header candidate list display area 812 of Figure 18, when the splitting unit is set to "file (tabular file)", the server device 1 includes the sheet name of the sheet in the header name of the header candidate, as in the case of Figure 8.
[0115] Specifically, the server device 1 displays a string in the header name of the header candidate that is formed by concatenating the sheet name "Sheet1" with the header of the header parser 92 or the header of the table parser 95 (represented as "(blank)" in Figure 14) via a period (".). This allows the server device 1 to treat them as different headers and display them in the header candidate list display area 812, even if there are header candidates with the same name on different sheets when "files" are used as the unit of division.
[0116] Furthermore, tabular files 74-76 have the same sheet names, the same header parser 92, and the same header parser 95 as tabular files 77-79, respectively. Therefore, the total count for each header candidate, excluding metadata, is 2. However, the header name field "Sheet1.Process Name" appears a total of 4 times in tabular files 75-76 and 78-79, so the count for header name field 8121 for "Sheet1.Process Name" is 4.
[0117] The explanation of the metadata in Figure 18 is the same as that for Figures 8 and 9, so redundant explanations will be omitted.
[0118] As shown in the integrated table in the preview area 813 of Figure 18, the server device 1, similar to Figure 8, adopts the sheet name before the "." (period) in the header candidate list display area 812 as the higher-level header that encompasses the header candidates within the sheet, among the multiple levels of headers in the integrated table. In the case of Figure 18, since all sheet names are the same, "Sheet1", the header for Sheet1 is used across all headers except for the metadata.
[0119] Furthermore, the server device 1 adopts the string displayed after the "." (period) in the header candidate list display area 812 as the header for the next row below the sheet name header. The next row header will be a header where the type field 8123 is "Value" or "Table". In addition, the server device 1 adopts the header candidate (table header) displayed with an indent immediately after the header candidate where the type field 8123 is "Table" in the header name field 8121 of Figure 18 as the header for the integrated table, as a further lower-level header for the header where the type field 8123 is "Table". In Figure 18, a horizontally long integrated table with the header at the top is shown, but a vertically long integrated table with the header on the left side may also be used.
[0120] As shown in the integrated table in the preview area 813 of Figure 18, the division unit is "file," so the server device 1 arranges the tabular data of tabular files 74 to 79 vertically on a file-by-file basis. On the other hand, as shown in the header candidate list display area 812, tabular files 74 to 76 and tabular files 77 to 79 have a common header, so the server device 1 arranges the headers horizontally in the order shown in the header candidate list display area 812. The server device 1 arranges a total of six tabular files 74 to 79 vertically, but two of the six tabular files, tabular files 76 and 79, are 3-row tables, and the remaining one is a header parser 92 that is displayed on one row, resulting in an integrated table of 10 rows in total.
[0121] As described above, the server device 1 arranges multiple tabular data sets having a common header in a first direction (vertical direction), which is either vertical or horizontal. The server device 1 also arranges multiple tabular data sets having different headers in a second direction (horizontal direction), which is either vertical or horizontal and different from the first direction. Here, the second direction may involve moving in the first direction while arranging in the second direction. This allows for the creation of an easy-to-read and comprehensive integrated table by arranging the contents of common headers in one direction for easy comparison, and describing non-common headers as separate information. The integrated table may also be created by transposing rows and columns and extending it in the column direction.
[0122] [3.2. Splitting Unit: Sheet] Figure 19 is an explanatory diagram showing an example of a header candidate list and integrated table when the splitting unit is set to "sheet". In Figure 19, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the splitting unit is set to "sheet", the sheet name is not appended to the header name, and headers with the same string in different sheets are treated as common header candidates across sheets.
[0123] The header candidate list display area 812 and preview area 813 in Figure 19 are the same as the header candidate list display area 812 and preview area 813 in Figure 18, except that the sheet name is not displayed and metadata is not included; therefore, redundant explanations are omitted. Also, the explanation regarding the metadata in Figure 19 is the same as the explanation in Figure 10; therefore, redundant explanations are omitted.
[0124] In this way, the server device 1 generates an integrated table by arranging the layout-defined data vertically in the selected division unit. The integrated table may also be one in which the rows and columns have been transposed and extended in the column direction.
[0125] Furthermore, as described above, the server device 1 arranges multiple tabular data sets having a common header in a first direction (vertical direction), which is either vertical or horizontal. The server device 1 also arranges multiple tabular data sets having different headers in a second direction (horizontal direction), which is either vertical or horizontal and different from the first direction. Here, the second direction may involve moving in the first direction while arranging in the second direction. This allows for the creation of an easy-to-read and comprehensive integrated table by arranging the contents of common headers in one direction for easy comparison, and describing non-common headers as separate information.
[0126] [3.3. Splitting Unit: Table] Figure 20 is an explanatory diagram showing an example of a header candidate list and an integrated table when the splitting unit is set to "table". In Figure 20, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the splitting unit is set to "table", the headers of the header parser 92 are not extracted as header names, and headers with the same string on different sheets are treated as common header candidates among the layout-defined data.
[0127] Of the target tabular files 74 to 79, the layout-defined data 7611 contained in sheet 761 of tabular file 76, and the layout-defined data 7911 contained in sheet 791 of tabular file 79, are considered as header candidates. Excluding metadata, the header candidate list display area 812 in Figure 20 is the same as the header candidate list display area 812 in Figure 16, and redundant explanations are omitted.
[0128] The explanation of the metadata in Figure 20 is the same as the explanation in Figure 12, so redundant explanations will be omitted.
[0129] The preview area 813 in Figure 20 is the same as the preview area 813 in Figure 16, except for the metadata, so redundant explanations are omitted. The metadata differs in that, in the example of preview area 813 in Figure 16, the same sheet name is used in two files, while in the example of preview area 813 in Figure 20, the same sheet name is used in six files.
[0130] In this way, the server device 1 generates an integrated table by arranging the layout-defined data vertically in the selected division unit. The integrated table may also extend in the column direction by transposing the rows and columns.
[0131] As described above, the server device 1 can acquire a tabular file containing tabular data associated with layouts that define the relationships between multiple cells, extract layout-defined data that is included in the tabular data and is defined as being subject to a layout, and combine the extracted layout-defined data to generate an integrated table. This allows multiple different tabular data associated with layouts to be viewed together as an integrated table. Therefore, the convenience of processing using tabular data and layouts that define the relationships between each cell in that tabular data can be further enhanced.
[0132] Furthermore, the server device 1 accepts one of the following as a partitioning unit: a tabular file, one or more sheets contained within a tabular file that contain tabular data, or a table which is layout-defined data defined as a table within the tabular data. By arranging the layout-defined data vertically or horizontally within the selected partitioning unit, it generates an integrated table. This makes it possible to create an integrated table that meets the user's requirements.
[0133] In the above configuration, program 1P and tabular linked data 60 are stored in the storage unit 14 of the server device 1, and the control unit 11 of the server device 1 executes the processing of program 1P. However, for example, program 1P and tabular linked data 60 may be stored in the storage unit 24 of the terminal device 2, and the control unit 21 of the terminal device 2 may execute the processing of program 1P in a standalone manner without using the network 3. Alternatively, part of program 1P may be executed by the terminal device 2, and the other part of program 1P may be executed by the server device 1, so that the terminal device 2 and the server device 1 work together.
[0134] According to the program 1P, the information processing method related to program 1P, and the information processing device (server device) 1 in the form of this disclosure, the convenience of processing that uses tabular data and a layout that defines the relationships between each cell of that tabular data can be further enhanced.
[0135] The program in Program 1P may be referred to as a program product, software, or software product, which may be provided on a recording medium or distributed via a communication network.
[0136] The forms of this disclosure are illustrative in all respects and not restrictive. The scope of the invention is not limited to those shown in the above disclosure but is shown by the claims, and all modifications within the meaning and scope of the equivalents of the claims are intended.
[0137] Furthermore, the sequences shown in each embodiment described above are not limited, and within a reasonable scope, the order of each processing step may be changed, and multiple processes may be executed in parallel. The processing entity for each process is not limited, and within a reasonable scope, the processing of each device may be executed by other devices.
[0138] The matters described in each embodiment can be combined with each other. Furthermore, the independent and dependent claims described in the claims can be combined with each other in any combination, regardless of the form of reference. In addition, although the claims do not use the form of a multi-claim that further references a multi-claim (multi-multi-claim), it may be a combination that uses the form of a multi-multi-claim that references all higher-level claims.
[0139] 1 Information Processing Device (Server Device) 11 Control Unit 12 Communication Unit 13 Reading Unit 14 Storage Unit 15 Portable Storage Medium 19 Bus 1P Program (Program Product) 2 Information Processing Terminal (Terminal Device) 21 Control Unit 22 Communication Unit 23 Reading Unit 24 Storage Unit 25 Portable Storage Medium 26 Display Unit 27 Input Unit 29 Bus 3 Network 60 Tabular Linked Data 61 Management File 62 Tabular File Storage Unit 63 Layout File Storage Unit 81 Screen 811 Data Splitting Unit Selection Area 812 Header Candidate List Display Area 8121 Header Name Column 8122 Count Column 8123 Type Column 8124 Edit Link 813 Preview Area 814 Save Button 92 Heading Parser 93 Sequence Parser 95 Table Parser 951 Entire Table 952 Table Data Section
Claims
1. A program that causes a computer to perform the following processes: obtain a tabular file containing tabular data associated with a layout that defines the relationships between multiple cells; extract layout-defined data included in the tabular data that is defined as being subject to the layout; and combine the extracted multiple layout-defined data to generate an integrated table.
2. The program according to claim 1, which accepts one of the following as a division unit: the tabular file, a sheet contained in the tabular file and containing the tabular data, or a table which is the layout-defined data defined as a table within the tabular data, and generates the integrated table by arranging the layout-defined data vertically or horizontally in the selected division unit.
3. The program according to claim 2, wherein a plurality of tabular data having a common header are arranged sequentially in a first direction which is either the vertical or horizontal direction.
4. The program according to claim 3, wherein a plurality of tabular data having different headers are arranged sequentially in a second direction different from the first direction, either in the vertical or horizontal direction.
5. The program according to any one of claims 2 to 4, wherein tabular data having common attributes are arranged sequentially in a first direction which is either the vertical or horizontal direction for each division unit, and tabular data having different attributes are arranged sequentially in a second direction which is different from the first direction, either the vertical or horizontal direction for each division unit.
6. The program according to any one of claims 1 to 5, which generates the integrated table based on a header selected from a list of header candidates created from the extracted multiple layout-defined data.
7. The program according to claim 6, wherein the program edits the position in which the header candidates are displayed on the integrated table from the list of header candidates and generates the integrated table based on the selected header.
8. An information processing method that obtains a tabular file containing tabular data associated with a layout that defines the relationships between multiple cells, extracts layout-defined data that is included in the tabular data and is defined as being subject to the layout, and combines the extracted multiple layout-defined data to generate an integrated table.
9. An information processing device having a control unit, the control unit acquires a tabular file containing tabular data associated with a layout that defines the relationships between multiple cells, extracts layout-defined data that is included in the tabular data and is defined as being subject to the layout, and combines the extracted multiple layout-defined data to generate an integrated table.