Information processing systems and programs

JP7914376B1Active Publication Date: 2026-09-01SCSK CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2026054791
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2026-03-27
Publication Date
2026-09-01
Estimated Expiration
2046-03-27

AI Technical Summary

Benefits of technology

【0013】 本発明によれば、スプレッドシートファイルの業務アプリケーションへの移行において、熟練したシステム設計者が行うような総合的な分析·設計判断をベースにしたスプレッドシート業務分析に基づく段階的パターン推定アーキテクチャが提供される。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007914376000001_ABST
    Figure 0007914376000001_ABST
Patent Text Reader

Abstract

To facilitate the smooth migration of spreadsheet files to business applications. [Solution] An information processing system that performs the process of migrating a spreadsheet file to a business application, comprising, as a processing unit for determining the application configuration, a first processing unit that determines the format pattern of the spreadsheet by analyzing the structure of the spreadsheet; a second processing unit that estimates the management pattern for the operation of the spreadsheet based on the format pattern and the business purpose of the spreadsheet obtained through interviews with users; and a third processing unit that determines the necessary additional functions based on the management pattern and the characteristics of the spreadsheet.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing system and program . [Background Art]

[0002] A spreadsheet is software that allows users to input, organize, and calculate data in a tabular format, and is widely used in business. Decision-making through data utilization is indispensable for business growth, but there are many problems, such as complicated and high-load communication involving spreadsheets in the work of requesting and aggregating data. Accordingly, efforts have been made to replace operations performed with spreadsheets with dedicated business applications (see, for example, Patent Document 1). [Prior Art Literature] [Patent Literature]

[0003] [Patent Document 1] Japanese National Publication of International Patent Application No. 2020-504889 [Summary of the Invention] [Problem to be Solved by the Invention]

[0004] Migrating spreadsheet files used in business operations to a dedicated business application provides effects such as reduced manual work, prevention of data scattering and damage, and simultaneous use by multiple users. However, in the current situation, there is a problem that organizations face the following issues and cannot proceed with migration.

[0005] • Failure to recognize the need for migration: Users are not aware of the inefficiencies in current operations using spreadsheets.

[0006] • Failure to grasp the effects of migration in advance: It is not possible to specifically grasp what problems of current spreadsheet operation will be solved by migration, and what level of effect can be expected.

[0007] In addition, when users without technical knowledge attempt to migrate to business applications, the following challenges also exist:

[0008] - Inability to organize current work rules: It is not possible to systematically understand and document work rules embedded in formulas and conditional formatting within spreadsheet files, as well as implicit rules that are followed verbally by the person in charge.

[0009] • Inability to design application configuration: Unable to determine the screen layout, necessary functions, and table structure for managing the current spreadsheet file. [Means for solving the problem]

[0010] An information processing system according to one embodiment of the present invention is an information processing system that performs the process of transferring a spreadsheet file to a business application, and comprises, as a processing unit for determining the application configuration, a first processing unit that determines the format pattern of the spreadsheet by analyzing the structure of the spreadsheet; a second processing unit that estimates the operation management pattern of the spreadsheet based on the format pattern and the business purpose of the spreadsheet obtained through interviews with users; and a third processing unit that determines the necessary additional functions based on the management pattern and the characteristics of the spreadsheet.

[0011] In an information processing system according to one embodiment of the present invention, a fourth processing unit is provided that automatically extracts business rules embedded in a spreadsheet by analyzing the structure of the spreadsheet, and supplements the business rules by interviewing the user about any unclear points detected in the structure analysis, and the business rules may be used in the estimation of management patterns in the second processing unit.

[0012] In an information processing system according to one embodiment of the present invention, a fifth processing unit may be provided to systematize, for each management pattern, the inefficiency points in the spreadsheet and the improvement points through application development. [Effects of the Invention]

[0013] According to the present invention, a stepwise pattern estimation architecture based on spreadsheet business analysis, which is based on comprehensive analysis and design judgment similar to that performed by a skilled system designer, is provided for migrating spreadsheet files to business applications. [Brief explanation of the drawing]

[0014] [Figure 1] This figure shows the system configuration according to one embodiment of the present invention. [Figure 2] This figure shows the hardware configuration of one embodiment of the present invention. [Figure 3] This figure shows a functional block configuration according to one embodiment of the present invention. [Figure 4] This diagram illustrates a functional block relating to one embodiment of the present invention. [Figure 5] This diagram illustrates a functional block relating to one embodiment of the present invention. [Figure 6] This diagram illustrates a functional block relating to one embodiment of the present invention. [Figure 7] This diagram illustrates additional functionality used in one embodiment of the present invention. [Figure 8] This diagram illustrates the report output in one embodiment of the present invention. [Figure 9] This figure shows the processing flow related to one embodiment of the present invention. [Modes for carrying out the invention]

[0015] 1.Basic concept The system disclosed in the present specification provides a stepwise pattern estimation architecture based on spreadsheet business analysis based on comprehensive analysis and design judgments as performed by skilled system designers when migrating spreadsheet files to business applications, and has the following features.

[0016] [Hierarchical and stepwise pattern estimation architecture] The process of determining an application configuration is separated into the following layers.

[0017] (1) A layer that determines format patterns (list table / list table with header / single-form table / cross-tabulation table) from ruled line information and the like of a spreadsheet file (2) A layer that estimates management patterns (collection / accumulation / sharing / personal use) from the format pattern and the business purpose (3) A layer that determines necessary additional functions (workflow, numbering, form output, etc.) from the management pattern and the characteristics of the spreadsheet This enables application design adapted to the business purpose, instead of mechanically converting the structure of a spreadsheet.

[0018] [Extraction of business rules through a combination of structural analysis and interviews] Business rules (e.g., "Issue a warning if the difference is 10% or more", "Generally achieved if the achievement rate is 90% or more") are automatically extracted from formulas and conditional formatting in a spreadsheet file, and exploratory questions based on templates or AI are generated for unclear points detected by structural analysis, thereby complementing the tacit knowledge of business rules through interviews with users.

[0019] As a result, not only rules embedded in formulas and the like, but also rules verbally operated by persons in charge can be incorporated as targets for systemization, thereby preventing the dissipation of business rules during migration.

[0020] [Systematization of inefficient points / improvement points by management pattern] For each spreadsheet management pattern (e.g., "Collection" = collecting and summarizing spreadsheet files from multiple people, "Storage" = saving spreadsheet files as proof, "Sharing" = multiple people editing a single spreadsheet file), we will systematize the typical inefficiencies (e.g., "workload of transcription and summarization" and "effort in checking submission status and sending reminders" in the "Collection" pattern) and the improvement points through application development (e.g., "real-time reporting possible through automated summarization" and "automation of reminder emails").

[0021] This allows us to specifically explain what problems will be solved by the transition, thus providing a basis for the decision to transition.

[0022] Conventional methods for converting spreadsheet files into business applications are mechanical methods (mechanical structure conversion approach) that convert the "sheets" of a spreadsheet file into "tables" and "columns" into "fields," without considering business objectives or selecting functions that were implicitly performed in spreadsheet operation (such as reminders, approvals, and numbering). In contrast, the method of the present invention is characterized by determining a configuration that is adapted to business objectives by estimating management patterns, and further selecting necessary functions from multiple types of additional function patterns.

[0023] Furthermore, conventional database design support approaches assume that organized data definitions are used as input and provide support for creating ER diagrams (Entity Relationship Diagrams) and normalization. In contrast, the method of the present invention uses unorganized spreadsheet files as input, automatically extracts business rules from formulas and conditional formatting, and supplements them with tacit knowledge of business rules through interviews, thus differing in the level of abstraction of the input and the extraction method.

[0024] Furthermore, while conventional approaches to business process visualization support the visualization and improvement of business flows, they lack the functionality to analyze the structure of spreadsheet files. In contrast, the present invention differs in its method of presenting improvement effects from its input source for analysis in that it estimates management patterns by analyzing the structure of spreadsheet files and systematically presents inefficiency points / improvement points corresponding to those patterns.

[0025] 2. System Configuration First, with reference to Figure 1, the overall configuration of the information processing system according to one embodiment will be described.

[0026] The information processing system 1 comprises one or more user terminals 11, an information processing device 12 that communicates with the user terminals 11, and a database 13 connected to the information processing device 12.

[0027] The user uses the user terminal 11 to create and edit a spreadsheet file and send it to the information processing device 12. The user terminal 11 is a dedicated system or a general-purpose information processing device such as a general-purpose computer.

[0028] The information processing device 12 performs processing to transfer a spreadsheet file received from the user terminal 11 to a business application. The information processing device 12 is a general-purpose information processing device that can be used in a dedicated system, a general-purpose computer, a server, or multiple computers distributed on a network (cloud computer), and can implement the function of transferring a spreadsheet file to a business application by installing a program.

[0029] Users can use business applications generated by the information processing device 12 and stored on the information processing device 12 or other information processing devices located on the network via the user terminal 11. While spreadsheet files become difficult to handle as the amount of data increases, business applications use the database 13, allowing for fast and secure handling of large amounts of data. Users may also download business applications to the user terminal 11 and use them by directly accessing the database 13.

[0030] 3. Hardware Configuration Next, with reference to Figure 2, the hardware configuration of the information processing device 12 according to one embodiment will be described. Figure 2 is a configuration diagram showing an example of the hardware configuration of the information processing device in an application example of one embodiment.

[0031] As shown in Figure 2, the information processing device includes, for example, a communication device 27 to which a processor 22, memory 23, auxiliary storage device 24, input device 25, output device 26, and antenna 28 are connected, all interconnected via a bus 21.

[0032] The processor 22 is configured to control the operation of each part of the information processing device. The processor 22 is, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or an APU (Accelerated Processing Unit).

[0033] The memory 23 and auxiliary storage device 24 are configured to store programs, data, etc. The memory 23 consists of, for example, ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. The auxiliary storage device 24 consists of, for example, storage such as HDD (Hard Disk Drive) or SSD (Solid State Drive).

[0034] The input device 25 is configured to allow information to be input by user operation. The input device 25 includes, for example, a touch panel, buttons, a keypad (keyboard), a touchpad, a pointing stick, a mouse, a track pole, and / or a microphone.

[0035] The output device 26 outputs various types of data that have been created.

[0036] The communication device 27 is configured to communicate via a wired and / or wireless access network. The communication device 27 includes, for example, a network card, a communication module, and the like.

[0037] The antenna 28 is configured to radiate and receive radio waves (electromagnetic waves) in one or more predetermined frequency bands. The antenna 28 may be directional or omnidirectional.

[0038] The antenna 28 is not limited to being a single antenna, but may consist of multiple antennas. If the information processing device has multiple antennas, for example, they may be divided into transmitting antennas and receiving antennas. Also, if multiple antennas are divided into transmitting antennas and receiving antennas, at least one of them may include multiple antennas. Furthermore, if the information processing device has multiple transmitting and receiving antennas or a transmitting antenna, beamforming technology can be utilized.

[0039] 4. Functional Blocks Figure 3 shows an example of the functional block configuration of an information processing device 12 according to one embodiment of the present invention. Note that this does not preclude the inclusion of functional blocks other than those shown in the figure.

[0040] The information processing device 12 includes, as a core analysis layer 40, a structure analysis unit 41, a relationship analysis unit 42, a gap detection unit 43, a know-how detection unit 44, an insight integration unit 45, and a hearing control unit 46. Furthermore, as an application configuration estimation layer 50, it includes a format determination unit 51 and a management pattern estimation unit 52 for determining the base configuration, an additional function selection unit 53 and a proprietary logic generation unit 54 for selecting additional functions, and an application configuration generation unit 55 for determining the application. A knowledge base 60 is connected to the application configuration estimation layer 50.

[0041] Figure 4 shows an overview of the roles of each functional block in the core analysis layer 40 and how they are implemented. The structural analysis unit 41 analyzes the physical structure of the spreadsheet file and generates basic data for subsequent processing. The relationship analysis unit 42 detects the connections between data between sheets and files in the spreadsheet file. The gap detection unit 43 detects unclear points and areas requiring confirmation in the spreadsheet and generates interview items. The know-how detection unit 44 extracts business rules and know-how embedded in the spreadsheet. The insight integration unit 45 integrates the analysis results of each functional block, assigns priorities, and also performs a preliminary determination of the format pattern.

[0042] The hearing control unit 46 controls the generation of questions for the user, the reception of answers, and the structuring of those answers. The hearing control unit 46 is the only unit in the system that is responsible for "human interaction," and it requires complex flow control that includes a loop of "presenting questions → receiving answers → structuring → verification (→ returning to presenting questions if additional questions are asked)."

[0043] Therefore, the hearing control unit 46 includes subcomponents (question selection, question generation, answer reception, and answer structuring) as shown in Figure 5. "Question selection" determines the priority of hearing items. "Question generation" generates question text from a template. "Answer reception" receives questions from the user. "Answer structuring" converts the user's free-form answers into structured data.

[0044] The core analysis layer 40 receives the spreadsheet file 31 itself and the interview responses 32, which are answers to questions presented to the user by the interview control unit 46.

[0045] Figure 6 shows an overview of the role of each functional block in the application configuration estimation layer 50 and how they are implemented. The format determination unit 51 determines the format pattern of the spreadsheet (list table / list table with header / single sheet / cross-tabulation). The management pattern estimation unit 52 estimates the operation form of the spreadsheet (collection / storage / sharing / personal use) and identifies inefficient points in the spreadsheet. The additional function selection unit 53 selects additional functions necessary for the business application. The custom logic generation unit 54 organizes and finalizes the custom logic necessary for the business application in addition to the additional functions. The application configuration generation unit 55 finalizes the application configuration (screens, processing flow, tables).

[0046] The additional function selection unit 53 selects the necessary additional functions from, for example, 15 types of functional patterns, as shown in Figure 7, based on the type (purpose) of work performed in the spreadsheet. However, the types and number of functional patterns are not limited to these.

[0047] The analysis results from the core analysis layer 40 and the application configuration estimation layer 50 are output as a user-facing report 71 and system-facing design data 72. The contents of the report 71 include the detected issues and their solutions, a list of business rules, improvement effects, and a post-migration image. An example of the detected issues and their solutions is shown in Figure 8. The contents of the design data 72 include tables, processing logic, screen configurations, and additional functions.

[0048] The following provides a detailed explanation of each functional block. [Structural analysis department] (1) Role The structural analysis unit 41 is a functional block that receives a spreadsheet file as input and generates structural data that forms the basis for subsequent processing (table design, application configuration estimation).

[0049] In spreadsheets, data hierarchies and groupings are often represented by visual means such as line thickness, cell merging, indentation, and blank rows. These are based on the premise that humans will understand them visually and cannot be processed mechanically as they are. The structural analysis unit 41 analyzes such visual structural representations and converts them into machine-readable structural data such as table boundaries, column definitions, and row hierarchical relationships. The detection results are passed to the subsequent relationship analysis unit 42, gap detection unit 43, know-how detection unit 44, and format determination unit 51.

[0050] (2) Extraction of physical structure Physical structural information is extracted from the spreadsheet file. Formulas are classified into six types based on the functions used: "reference-based / aggregation-based / conditional-based / date-based / string-based / error-handling-based". This classification result is used in the subsequent additional function selection unit 53 to select additional functions. Formatting information is extracted, including "borders (thickness, type, color)", "merged cells", "indentation", "background color", "conditional formatting", "data validation", and "cell protection". The "borders" and "merged cells" information is used in subsequent table area detection and hierarchical structure detection, "conditional formatting" is used in business rule extraction, and "data validation" is used in master selection function detection.

[0051] (3) Detection of table areas To handle cases where multiple independent tables are placed within a single sheet, the system detects table boundaries within the sheet. Independent table regions are identified and separated using the following as table start positions: "areas enclosed by consecutive borders," "areas separated by two or more consecutive blank rows or two or more consecutive blank columns," and "header rows starting with corner brackets or ■●." Subsequent processing (hierarchical structure detection, column definition extraction) is performed for each separated table.

[0052] (4) Detection of hierarchical structure This software detects hierarchical structures visually represented in spreadsheets and outputs them as machine-readable data that can be used for table design (dividing tables with parent-child relationships) and screen design (tree view, drill-down). There are four detection methods: "Hierarchical headers by cell merging (generating hierarchical paths from the row position and column range of merged cells)", "Grouping by formatting information (detecting boundaries based on changes in border patterns and background colors)", "Hierarchy by indentation (calculating hierarchical levels from cell indentation values ​​and leading spaces)", and "Grouping by blank rows (identifying blocks separated by blank rows)". Since the use of borders and colors varies depending on the creator, it detects relative changes within the same sheet rather than absolute criteria. If multiple detection methods are applicable, they are integrated in the following order of priority: "cell merging", "formatting information", "indentation", and "blank rows".

[0053] (5) Sheet type classification and output The detected sheets are classified into six types: "MASTER / TRANSACTION / SUMMARY / INPUT / OUTPUT / HELP". The classification uses AI (LLM) by combining "sheet name pattern", "column structure", "reference relationships with other sheets", and "type of formula". This classification is used in subsequent processing to determine whether "MASTER" sheets are excluded from normalization, or whether "TRANSACTION" sheets are designed as transaction tables.

[0054] The structure analysis unit 41 outputs "file information (number of sheets, presence or absence of VBA)", "range, column definition, hierarchical structure, formulas, conditional formatting, and data validation for each table", and "layout features (number of header rows, presence or absence of hierarchy, number of tables)". These are used for relationship detection in the relationship analysis unit 42, detection of unknown points in the gap detection unit 43, extraction of business rules in the know-how detection unit 44, and determination of format patterns in the format determination unit 51.

[0055] [Relationship Analysis Department] (1) Role The relation analysis unit 42 is a functional block that receives structural data output by the structural analysis unit 41 as input and detects data connections between sheets and tables.

[0056] In spreadsheet files, there are reference relationships such as the "Sales Details Sheet" referencing the "Product Master Sheet" using "VLOOKUP," and the "Monthly Summary Sheet" summarizing the "Input Sheets for Each Person in Charge" using "SUM." Furthermore, there may be multiple sheets with the same structure, such as monthly sheets for "January," "February," and "March." These can be integrated into a single table during migration, and a "Month" dimension column can be added to enable centralized data management. The relationship analysis unit 42 automatically detects these relationships by analyzing the references in formulas and comparing structural fingerprints. The detection results are passed to the subsequent gap detection unit 43, insight integration unit 45, and management pattern estimation unit 52, and used to estimate the application configuration.

[0057] (2) Extraction and classification of reference relationships The structural analysis unit 41 detects reference relationships between tables from the formula information it extracts. The detection targets include reference functions such as "VLOOKUP," "INDEX," and "MATCH," conditional aggregation functions such as "SUMIF" and "COUNTIF," direct cell references, and external file references. The table to which the referenced item belongs is identified using the table range information detected by the structural analysis unit 41. Even for references within the same sheet when there are multiple tables on a single sheet, the target table is identified from the cell range of the referenced item. For the detected reference relationships, the business meaning of the relationship is determined from the combination of the sheet types of the source and referenced items (MASTER / TRANSACTION / SUMMARY, etc.). If "TRANSACTION" refers to "MASTER," it is classified as a "master reference relationship"; if "SUMMARY" refers to "TRANSACTION," it is classified as an "aggregation relationship"; and if "OUTPUT" refers to "INPUT," it is classified as a "report generation relationship."

[0058] (3) Detection of identical structural groups The structural analysis unit 41 compares the structural fingerprints (hash values ​​of the column configuration) it generates and groups tables with the same structure. Matching the "column configuration hash" is a mandatory condition, and an identity score is calculated by also considering the "hierarchical structure hash," "hierarchical depth," and "degree of matching of table type." By considering the hierarchical structure, it prevents the erroneous grouping of tables that look similar but have different structures. From the patterns of sheet names belonging to the same structural group, the dimensions that should be added during integration are estimated. The "month" dimension is estimated from "January" and "February," and the "store" dimension is estimated from "Store A" and "Store B," using regular expression rules such as year / month, department, and region. Based on the success or failure of the dimension estimation and the commonality of the hierarchical structure, migration recommendations such as "integrate into one table," "normalization is required during integration," and "confirm dimension names through interviews" are determined.

[0059] (4) Detection of table relationships within the same sheet If the structural analysis unit 41 detects multiple tables within a single sheet, it detects their relationships. Based on the presence or absence of reference relationships between tables and the structural identity, it determines relationship patterns such as "master-detail relationship," "aggregation source-aggregation destination relationship," "parallel tables (different dimensions)," and "independent tables." From the detected relationship patterns, it outputs migration recommendations such as "normalize and separate into a separate table," "integrate and add a dimension column," or "maintain as a separate table."

[0060] (5) File structure pattern determination and output All detected relationships are integrated to determine the overall file structure pattern. The presence or absence of master reference relationships, aggregation relationships, and report generation relationships, the presence or absence of identical structure groups, and the number of sheets and tables are aggregated and classified into patterns such as simple list type, master-transaction type, multi-stage aggregation type, input-output type, multiple table coexistence type, and complex type. The relationship analysis unit 42 outputs inter-table reference relationships (reference source, reference destination, relationship pattern), identical structure groups (members, estimated dimensions, migration recommendations), table relationships within the same sheet (relationship pattern, migration recommendations), and file structure patterns. These are used in the gap detection unit 43 to extract irrelevant sheets and dimension estimation failure targets, the insight integration unit 45 to calculate migration difficulty and improvement effects, and the management pattern estimation unit 52 to estimate management patterns.

[0061] [Gap detection unit] (1) Role The gap detection unit 43 is a functional block that receives structural data and relationship data output by the structural analysis unit 41 and the relationship analysis unit 42 as input, and detects confirmation items (gaps) necessary for migration design. The spreadsheet file contains information that cannot be determined from the file structure alone, such as the meaning of the threshold "10%" in the formula, the purpose of the column named "Old Code", and the business meaning of the groups separated by grid lines. Also, if there are multiple tables in one sheet, it is necessary to confirm whether they are used for the same business or should be managed separately. The gap detection unit 43 detects gaps from the perspectives of "formula", "column", "hierarchical structure", and "relationship", and automatically generates questions for interviews for each. The detection results are passed to the insight integration unit 45 (integration of findings) and the interview control unit 46 (execution of interviews), and are used to determine the feasibility of migration and improve the accuracy of the design.

[0062] (2) Gap detection between formulas and columns The system detects unclear points in formulas and column definitions at the table level. For formulas, it detects magic numbers such as thresholds embedded within the conditions of IF functions (e.g., "10" in "IF(A1>10,...)") and coefficients used in calculations (e.g., "1.1" in "A1*1.1"). These are important as business rules, but their meaning is unclear from the formula alone, so they become the subject of interviews. It also detects complex formulas with deeply nested IF functions, formulas that return errors, and reference relationships that the relationship analysis unit 42 has determined to be low probability. For columns, it detects columns with mechanical names such as "empty" or "column 1", legacy columns containing strings such as "old" or "backup", columns with all rows being "empty", and columns with mixed data types. In tables with hierarchical headers, it also detects columns with duplicate labels at the lowest level (e.g., "Sales" is duplicated in "First Half_Sales" and "Second Half_Sales"), and confirms the column naming policy after migration.

[0063] (3) Detection of gaps in the hierarchical structure The structural analysis unit 41 detects items that require verification regarding the hierarchical structure (hierarchical headers created by cell merging, row hierarchy created by borders, indents, and spaces) detected by the structural analysis unit 41. For hierarchical headers, it detects "deep hierarchies of 3 levels or more," "labels containing date patterns (1Q, first half, etc.) or organizational patterns (sales department, etc.)," ​​"aggregation columns containing 'total'," and "irregular structures where only some parts have hierarchy." These are used to confirm the business meaning of the hierarchy and whether the same structure should be maintained after migration. For row hierarchy, it generates gaps to confirm the meaning of "border grouping," "indent hierarchy," and "space-separated groups." It also detects "deep row hierarchy of 4 levels or more," "the presence of subtotals and aggregation rows," and "hierarchical nodes with 'empty' group names." In particular, cases where the group name is "empty" are checked with high priority because they affect the data structure after migration.

[0064] (4) Detection of relationship gaps Based on the relationship information output by the Relationship Analysis Unit 42, items requiring confirmation are detected. For sheets and tables determined to be unrelated, gaps are generated to confirm their purpose. In particular, if a sheet type is "MASTER" but is not referenced, it is given high priority as it is necessary to confirm whether it is truly being used as a master. Even if only some of the multiple tables within a single sheet are unrelated, this is also detected with high priority to confirm the intent of the sheet's structure. For groups with the same structure, if the accuracy of the dimension estimation is low or the dimension type is unknown, gaps are generated to confirm what criteria are used to separate the sheets. If the number of data rows differs significantly within a group, it is confirmed whether they are used for the same business. Also, if the hierarchical structure differs within the same group, the unified policy for migration is confirmed. For table relationships within the same sheet, gaps are generated to confirm the relationship in the case of "independent tables (no reference relationship, different structure)" and to confirm whether integration is possible in the case of "parallel tables (same structure, no reference relationship)". If a "master-detail relationship" or "aggregation source-aggregation destination relationship" is estimated, it is confirmed whether that relationship is correct.

[0065] (5) Confirmation of business rules and generation of questions This tool identifies items that require confirmation regarding business rules detected from conditional formatting and IF functions. It detects thresholds used in conditional formatting (e.g., "10%" in "Red if difference is 10% or more"), conditions for multiple branches using IF functions, and conditional branches based on dates or specific strings, and generates gaps to confirm their rationale and business meaning. For each detected gap, it applies a question template corresponding to the gap type and automatically generates questions for interviews. In addition to general templates for formulas and columns, there are also question templates specifically for hierarchical structures (e.g., "What does this grouping by border mean?") and tables (e.g., "Is it possible to merge these tables into one?").

[0066] (6) Priority calculation and output Priorities are assigned to the detected gaps. The basic priority is calculated from the importance level (HIGH / MEDIUM / LOW), with points added for gaps directly related to business rules (magic numbers, threshold checks, etc.) and gaps related to master data, and points deducted for gaps related to help sheets. Gaps related to hierarchical structures are slightly increased in points considering their impact on migration design, and gaps related to multiple table relationships are increased in points because they are necessary for determining the sheet configuration. The final score is classified into four levels: "CRITICAL / HIGH / MEDIUM / LOW". The gap detection unit 43 outputs a "gap list (type, importance, priority, detection location, reason for detection, question text)", "gap summary (number of cases by importance / priority / category)", and "recommended order of interviews". These are used for integrating the confirmation items necessary for migration decisions in the insight integration unit 45 and for executing interviews in priority order in the interview control unit 46.

[0067] [Knowledge Detection Unit] (1) Role The know-how detection unit 44 is a functional block that receives structural data output by the structural analysis unit 41 as input and detects and extracts business rules and know-how embedded in the spreadsheet. In the spreadsheet file, business rules are embedded in various forms, such as conditional formatting that "display in red if the difference is 10% or more," judgments using the IF function that "check if the achievement rate is 100% or more," and input rules that allow the status to be selected from "pending approval / approved / rejected." These are the tacit knowledge of the creator and are often not documented. The know-how detection unit 44 analyzes "conditional formatting," "formulas," "input rules," and "hierarchical structure" and extracts this tacit knowledge as structured business rules. The extraction results are passed to the subsequent insight integration unit 45, hearing control unit 46, and application configuration generation unit 55, and are used for designing the processing logic of the post-migration system.

[0068] (2) Extracting business rules from conditional formatting, IF functions, and data validation The structural analysis unit 41 extracts business rules such as alert conditions and status displays from the conditional formatting information it extracts. It obtains thresholds and comparison operators from the condition part and converts the formatting results (background color, text color, etc.) into business meanings. Since red colors often indicate "warning," yellow colors indicate "caution," and green colors indicate "normal," the intent of the formatting is estimated by determining the RGB range and a business rule such as "warning if the difference is 10% or more" is generated. Business judgment rules are extracted from the IF function included in the formula. Nested IF functions are analyzed recursively and the conditions and results of each stage are listed. From "IF(B5>=100, "Achieved",IF(B5>=90, "Generally Achieved", "Not Achieved"))", a three-stage judgment rule is extracted: "100 or more → Achieved," "90 or more → Generally Achieved," and "Otherwise → Not Achieved," and the numerical values ​​within the conditions are recorded as thresholds. From "Input Validation," data input constraints are extracted as business rules. From the "Fixed Option List," the definition of the options is extracted; from the "Range Reference List," the master reference relationships are extracted; and from the "Numerical Range," constraint conditions such as "Quantity must be between 1 and 100" are extracted.

[0069] (3) Extraction of business rules from hierarchical structure The structural analysis unit 41 extracts structural business rules from the hierarchical headers (multi-level headers created by cell merging) detected by the structural analysis unit 41. From the label patterns of the hierarchical headers, it determines the hierarchical type, such as "period hierarchy (year, quarter, month)", "organizational hierarchy (headquarters, department, section)", and "plan vs. actual comparison (budget, actual, variance)". If "period hierarchy" or "organizational hierarchy" is detected, it estimates the aggregation rule that "the sum of lower levels matches that of higher levels". If "plan vs. actual comparison" is detected, it estimates the rules for variance calculation and achievement rate calculation. From the hierarchical structure of rows (border grouping, indentation hierarchy, space delimiter), it extracts "aggregation rules" and "group processing rules". If "subtotal rows" are detected, it analyzes their formula patterns and extracts aggregation rules such as "each group has a subtotal row, which is calculated using the SUM of the detail rows". If a "row structure with parent-child relationships" is detected, it extracts the hierarchical aggregation rule that "the parent row is the aggregated value of the child rows".

[0070] (4) AI interpretation of complex mathematical formulas and estimation of the meaning of magic numbers For complex mathematical formulas that are difficult to analyze using rule-based methods (such as nested IF statements of four or more levels, conditions containing three or more functions, etc.), and for meaningless constants (magic numbers) within formulas, AI will be used for interpretation and estimation. The use of AI will be limited to clear tasks such as "converting formulas into business rules" and "estimating the meaning of numerical values," and the verifiability of the results will be ensured by fixing the input and output schemas. In interpreting complex formulas, the formula and surrounding context will be input to the AI, and it will output a business rule description and the accuracy of the interpretation. In estimating the meaning of magic numbers, the numerical value and the context of its use will be input to the AI, and it will output candidate meanings (threshold, percentage, number of days, etc.) with an accuracy. If the accuracy is low, it will be marked as an item that should be confirmed through interviews, and confirmation questions will be generated.

[0071] (5) Integration, classification, and output of business rules All extracted "business rules" will be unified to correct inconsistencies in notation and merged to eliminate duplicates. Rules with the same conditions within the same table will be merged into one, and rules with the same pattern across different tables will be extracted as common rules. The merged rules will be classified into categories such as "alert conditions," "status determination," "calculation rules," "aggregation rules," and "hierarchical structure rules" to facilitate their use in migration design. The know-how detection unit 44 will output "business rule list (rule type, category, condition, threshold, source table, probability, flag requiring confirmation)," "input constraint list (constraint type, target column, choice or range)," "magic number estimation result (numerical value, estimated meaning, probability, confirmation question)," and "hierarchical structure rules (hierarchical type, aggregation rule)." These will be used in the explanation of the migration policy by the insight integration unit 45, in the execution of interviews for items requiring confirmation by the interview control unit 46, and in the generation of processing logic proposals by the application configuration generation unit 55.

[0072] [Insight Integration Department] (1) Role The insight integration unit 45 is a functional block that receives analysis results output by four functional blocks—the structural analysis unit 41, the relationship analysis unit 42, the gap detection unit 43, and the know-how detection unit 44—as input, and integrates them to extract issues, assign priorities, and perform an overall evaluation.

[0073] Each functional block is analyzed from an individual perspective, but a comprehensive evaluation is necessary to make a migration decision. For example, the existence of complex mathematical formulas (structural analysis), the magic numbers within those formulas (gap detection), and the business rules expressed by those formulas (know-how detection) cannot be recognized as a "personalization risk" issue on their own. The Insight Integration Unit 45 integrates dispersed information to extract essential issues in spreadsheet operation and quantitatively evaluates the improvement effect and difficulty of migration. The evaluation results are passed to the Hearing Control Unit 46 and the Format Judgment Unit 51. They are also used to generate the Report 71.

[0074] (2) Gathering insights and identifying challenges The system collects migration-related insights from the output of four functional blocks. The structural analysis unit 41 collects "number of tables," "presence or absence of VBA," and "presence or absence of hierarchical structure," the relationship analysis unit 42 collects "reference patterns," "number of identical structural groups," and "file configuration patterns," the gap detection unit 43 collects "number of gaps" and "breakdown by type," and the know-how detection unit 44 collects "number of business rules," "number of hierarchical rules," and "number of magic numbers." The collected insights are classified and managed into four categories: "structure," "relationships," "gaps," and "know-how."

[0075] The collected insights are then subjected to predefined detection rules to extract issues related to spreadsheet operation. The detection rules define the correspondence between conditions and issues, such as "the presence of five or more complex formulas indicates a risk of reliance on specific individuals," "the presence of ten or more magic numbers indicates the existence of implicit business rules," and "the presence of three or more hierarchical headers indicates difficulty in maintaining the hierarchical structure." The extracted issues are classified into seven categories: "reliance on specific individuals," "concurrent editing constraints," "complexity of file management," "manual workload," "data risk," "scalability constraints," and "complexity of hierarchical structure." Each issue is linked to the insights that supported it and a list of affected sheets and tables.

[0076] (3) Calculation of priority For the identified issues, a priority score is calculated based on severity and impact. The base score is determined by severity, and issues involving data inconsistencies or business disruption risks are given the highest priority, while minor issues receive the lowest priority, resulting in a four-level evaluation.

[0077] The base score is adjusted based on the scope of impact. Issues affecting all sheets, issues related to master sheets and master tables, and issues related to functions frequently used in daily operations are given higher priority. Issues related to supplementary help sheets are given lower priority. Issues related to the hierarchical structure have a significant impact on the migration design, so their priority is slightly increased. The final priority (most important / high / medium / low) is determined from the adjusted score.

[0078] (4) Preliminary determination of format pattern The layout pattern of each table is tentatively determined from the "rule information," "data arrangement," and "hierarchical structure" output by the structural analysis unit 41. This process is executed as the first stage (Phase 1) of the two-stage processing of the format determination unit 51 and is a pre-processing step for the final determination (Phase 2) that takes business objectives into account.

[0079] The patterns to be evaluated are: "Simple List (single-row header, vertical data, no hierarchy)", "List with Header (multiple-row header or title area)", "Single Record (label-value pair structure)", "Crosstabulation (headers on both rows and columns, summary rows and columns)", "Hierarchical List (hierarchical header or row hierarchy)", and "Multiple Tables (multiple tables on the same sheet)". For each table, the corresponding pattern candidates and their probability are calculated, and the one with the highest probability is output as the primary candidate. For tables with a hierarchical structure, the hierarchy type such as "period, organization, region, category, comparison" is estimated from the hierarchical label pattern, and the normalization policy for migration ("normalize by time axis", "normalize by organization master", etc.) is also output.

[0080] (5) Calculation of overall evaluation and integration of interview items The "Migration Effectiveness Score" and "Migration Difficulty Score" are calculated from the "Severity, Number, and Scope of Impact of Issues." The "Migration Effectiveness Score" is calculated by multiplying the priority score of each issue by a category-specific weight (e.g., "High Data Risk," "Low File Management") and summing them up. The "Migration Difficulty Score" is calculated by adding complexity indicators such as "Number of Sheets," "Number of Tables," "Number of Complex Formulas," "Presence or Absence of VBA," "Presence or Absence of External References," "Number of Groups with the Same Structure," "Hierarchy Depth," and "Number of Multiple Table Sheets." Both scores are evaluated on a three-level scale ("High / Medium / Low") for both "Migration Effectiveness" and "Migration Difficulty," and a "Comprehensive Summary" and "Recommendations" are generated.

[0081] Furthermore, the interview questions generated by the gap detection unit 43 and the know-how detection unit 44 are integrated, and priorities are determined. Questions directly related to business rules, questions related to master data, and questions related to hierarchical structures are given higher priority. Multiple questions on the same topic are consolidated into one representative question, and questions on the same table are grouped together.

[0082] The Insight Integration Unit 45 outputs the following: "Integrated Insight List," "Issues List (with priority, rationale, and scope of impact)," "Format Pattern Preliminary Judgment Results (table unit, with hierarchical information)," "Overall Evaluation (migration effect, migration difficulty, summary)," and "Recommended Interview Items (with priority)." These are used for question selection and order determination in the Interview Control Unit 46, and for final judgment (Phase 2) in the Format Judgment Unit 51. They are also used for generating Report 71 (visualization of evaluation results).

[0083] [Hearing Control Section] (1) Role The hearing control unit 46 is a functional block that receives confirmation items output by the insight integration unit 45, gap detection unit 43, and know-how detection unit 44 as input, resolves any unclear points through questions to the user, and collects business context.

[0084] Automatic analysis of spreadsheet files cannot determine business-specific information, such as the meaning of the number "0.1" in a formula, or whether the aggregation from lower to higher levels in a hierarchical header represents a sum or an average. Furthermore, operational information such as who uses the spreadsheet, how often, and what challenges it currently faces cannot be automatically acquired. However, this information is essential for determining the application configuration after migration.

[0085] The hearing control unit 46 asks questions in a business context-appropriate order to confirm the items to be confirmed, and converts the free-response answers into structured data using AI. The verified answers are then passed to the subsequent format determination unit 51, management pattern estimation unit 52, additional function selection unit 53, and application configuration generation unit 55, and are used to finalize the application configuration.

[0086] (2) Structure of the hearing session and selection of questions The entered information will be categorized into five topics: "Business Overview," "Data Structure," "Hierarchical Structure," "Business Rules," and "Operational Challenges." The interview will proceed in this order. Starting with the business overview allows for a natural flow, where the respondent (user) explains the overall structure of the spreadsheet before moving on to more detailed questions. In the hierarchical structure topic, the meaning of hierarchical headers and row groupings, as well as aggregation rules, will be reviewed to gather information necessary for subsequent normalization design.

[0087] Within each topic, the order of questions is determined based on priority scores. In addition to the basic priority calculated by the Insight Integration Unit 45, questions related to hierarchical rules are given higher priority due to their significant impact on subsequent processing, and the order is adjusted so that questions related to the same table are presented consecutively. This minimizes context switching for respondents and enables efficient interviews.

[0088] (3) Question generation and response collection The system generates questions from templates tailored to the type of item being checked. For example, a template for checking a magic number might ask, "What does this number mean?", and a template for checking a hierarchical header might ask, "What hierarchy does this column represent?". Contextual information such as the sheet name, table location, formula, and hierarchical path is embedded within these templates. To help respondents identify the relevant location, the question may also include specific location information, such as "the column '2024 > First Half > 1Q' in the sales management sheet."

[0089] The response type will be set according to the nature of the question. Multiple-choice questions will be used for standardized questions such as frequency of use, free-text responses for questions requiring details such as explanations of business rules, and numerical input for quantitative information such as the number of users. Respondents are allowed to skip questions they cannot answer immediately, and the reason for skipping will be recorded for follow-up.

[0090] (4) Structuring the answers and generating additional questions Free-response answers are converted into structured data using an AI service (response structuring AI). The main meaning of the answers is extracted and classified into one of the following categories relative to the original estimate: "confirmation," "correction," "new information," or "rejection." For example, from the answer "It means that confirmation is needed if there is a 10% difference," the meaning of the magic number "0.1" is extracted as confirmation information, which is "the threshold for a difference alert."

[0091] Information not explicitly asked about is also extracted from the respondents' answers. From the supplementary information, "Recently, there has been talk that it's better to check even if it's only 5%", new discovery information, "Consideration of changing the threshold," is extracted, and additional questions for further confirmation are generated as needed. From the answers regarding hierarchical structure, the meaning of the hierarchy (period, organization, region, etc.) and aggregation rules (cumulative, average, etc.) are extracted and structured as "hierarchical rules."

[0092] (5) Verification and integration of responses The validity of the collected responses will be verified. In addition to basic checks such as missing answers to mandatory questions, deviations from numerical ranges, and insufficient accuracy of AI interpretation, the consistency of the hierarchical definitions and the completeness of the aggregation rules will be verified. For the hierarchical structure, check whether the definition of "year → half-year → quarter" and the aggregation rule "quarterly sum equals year" are contradictory, and whether aggregation methods are defined for all hierarchical levels. If there are any deficiencies, additional questions will be generated.

[0093] The verified responses are integrated and structured as "Verified Business Rules," "Verified Magic Numbers," "Verified Hierarchical Rules," "Resolved Gaps," and "Business Context (Purpose, Frequency, Number of Users, Issues, Requests)." These outputs are used for format pattern determination in the format determination unit 51, operation mode estimation in the management pattern estimation unit 52, function selection in the additional function selection unit 53, and final configuration determination in the application configuration generation unit 55.

[0094] [Format determination unit] (1) Role The format determination unit 51 is a functional block that receives the output from the structural analysis unit 41 and the insight integration unit 45, classifies the layout of sheets and tables, and determines the format pattern (four types: list table, list table with header, single sheet, and cross-tabulation).

[0095] The layouts of spreadsheet files vary widely, from simple tabular formats to hierarchical summary tables, forms composed of label-value pairs, and budget-actual comparison tables with headers in rows and columns. The format determination unit employs a two-tiered structure that internally classifies these into nine layout patterns and then maps them to four format patterns. This design improves the accuracy of the internal classification while stabilizing the input to the subsequent management pattern estimation unit 52.

[0096] (2) Detailed layout analysis The structural analysis unit 41 analyzes the structural information at the table level in detail, including grid lines, cell merges, and data placement.

[0097] In analyzing the header structure, header rows are identified by combining features such as background color, bold formatting, bottom borders, and the presence or absence of merged cells, and the number of rows and the presence or absence of hierarchy are extracted. In the case of hierarchical headers, parent-child relationships are determined from the hierarchical path information of each column. In analyzing the data area, rows from immediately after the header row to blank rows or total rows are detected, and the direction of the data is determined from the ratio of the number of rows to the number of columns.

[0098] In "label-value pair" detection, pairs of label cells with characteristics such as "ending with a colon," "right-aligned," and "having a background color" are detected, along with adjacent value cells. Horizontal and vertical adjacency patterns are detected and used to determine single-sheet format. In row hierarchy structure analysis, the hierarchical structure represented by methods such as line thickness, indentation, and blank line separators is analyzed.

[0099] (3) Confirmation of layout pattern The preliminary judgment result and detailed analysis result from the Insight Integration Unit 45 are integrated to determine one of nine layout patterns (simple list / list with header / single record / cross-tabulation / hierarchical list / multiple tables / dashboard / complex / undeterminable).

[0100] "Simple List" is a table format with one header row and no hierarchy; "List with Header" is a table format with two or more header rows or a title area; "Single Record" is a form format with five or more label-value pairs and fewer than 10 data rows; "Crosstabulation" is a matrix format with headers in both the row and column. "Hierarchical List" is a table format with hierarchical headers or row hierarchy; "Multiple Tables" is a format with multiple tables on the same sheet; "Dashboard" is a composite format including visualization elements; "Composite" is a format with a mixture of features from multiple patterns; and "Undeterminable" is a format that does not fall into any of the above categories.

[0101] The degree of relevance to each pattern is calculated as a probability, and the pattern with the highest probability is selected. After applying corrections based on the business context, if the probability is less than 0.6, or if it is "multiple tables," "composite," or "undecidable," the AI ​​service will supplement the decision.

[0102] (4) Mapping to format patterns and screen configuration estimation The confirmed layout pattern is mapped to one of four format patterns. "Simple List" is mapped to "List Table," "List with Header / Hierarchical List / Dashboard" is mapped to "List with Header," "Single Record" is mapped to "Single Record," and "Cross Table" is mapped to "Cross Table." For "Multiple Tables" and "Combined," the format pattern is determined based on the primary pattern, and for "Undetermined," the user is prompted to manually set the format pattern.

[0103] The screen type is also estimated from the layout pattern. "List screen" and "Detail form screen" are estimated from "Simple list" and "List with header," "Form screen" from "Single record," "Crosstab screen" from "Crosstab," and "Hierarchical list screen" from "Hierarchical list." In the case of "Multiple tables," "Split screen," "Tab switching screen," and "Vertical parallel display" are estimated according to the relationship between the tables.

[0104] The format determination unit 51 outputs a "format pattern," "layout pattern," "recommended screen type," and "screen configuration hint." The "format pattern" is passed to the management pattern estimation unit 52, and the "layout pattern" and "screen configuration hint" are passed to the application configuration generation unit 55.

[0105] [Details of the management pattern estimation unit] (1) Role The management pattern estimation unit 52 is a functional block that receives the "format pattern" output by the format determination unit 51 and the "business information" acquired by the hearing control unit 46 as input, and estimates the operating pattern of the spreadsheet.

[0106] Spreadsheet files can be classified into distinct patterns based on how they are used. These include the "collection" pattern, where spreadsheets are collected and aggregated from multiple users; the "storage" pattern, where they are saved as documents like quotations and invoices; and the "sharing" pattern, where multiple people write into a single file, such as a project management sheet. Each of these patterns presents different inefficiencies and improvements through database integration.

[0107] The management pattern estimation unit 52 estimates a "management pattern" by scoring a combination of interview information such as "number of users, storage location, and sharing requirements" and analytical indicators such as "presence or absence of aggregate functions and print layout." The estimation results are passed to the additional function selection unit 53 and the application configuration generation unit 55 and used to determine the configuration of the business application. Note that the determination of "personal use" patterns that are not subject to migration has already been performed by the interview control unit 46, so only spreadsheet files that are subject to migration are input to the management pattern estimation unit 52.

[0108] (2) Scoring of management patterns For each of the three patterns, "collection / storage / sharing," scoring is performed based on interview information and analytical indicators. In the scoring process, weights are assigned to each indicator, and the weights of the corresponding indicators are added together to calculate the score for each pattern.

[0109] In the scoring for the "Collection" pattern, the presence of submissions from multiple people, the existence of aggregation functions such as "SUM" and "Average," and the existence of multiple similar files are given high weight. In the "Storage" pattern, the presence of a document intended for archiving, a printable layout, and sequential numbering columns are evaluated. In the "Sharing" pattern, the presence of simultaneous access by multiple people, a large number of data rows, and the lack of a printable layout are evaluated.

[0110] Furthermore, the format determination unit 51 performs corrections based on the "format pattern" it has determined. If it is in "cross-tabulation" format, the score of the collected pattern is added; if it is in "single-record" format, the score of the accumulated pattern is added. After scoring is complete, the pattern with the highest score is confirmed as the "management pattern." At the time of confirmation, the accuracy is calculated from the difference between the highest score and the second-highest score, and if the difference is small, it becomes a subject for confirmation through interviews.

[0111] (3) Identification of inefficient points and calculation of improvement effects Based on the established "management pattern," the "inefficiency points" that typically occur in that pattern are identified. These "inefficiency points" are predefined for each pattern, and the relevant ones are further narrowed down using analytical indicators.

[0112] The "collection" pattern is prone to inefficiencies such as "the effort required to check submission status and send reminders," "the workload of transcription and aggregation," and "format corruption." The "storage" pattern typically involves "difficulty searching due to scattered files," "data loss due to accidental deletion," and "confusion in version control." The "sharing" pattern can lead to "degraded file performance due to large amounts of data," "the risk of data corruption due to simultaneous editing," and "the workload of transcription and aggregation."

[0113] For the identified "inefficiency points," the "improvement effect" achieved through database creation is calculated. The "improvement effect" has a predefined correspondence with the "inefficiency points." For example, for the "workload of transcription and aggregation" in the "collection" pattern, the corresponding improvement effect is "eliminating the need for transcription and aggregation work" and "enabling real-time reporting." For "the effort of reminders," the corresponding improvement effect is "automation of reminder emails."

[0114] (4) Output and linkage to subsequent functional blocks The management pattern estimation unit 52 outputs "management pattern determination results (pattern type, accuracy, score details)", "list of inefficiency points (issue details, importance, reason for detection)", "list of improvement effects (effect details, corresponding inefficiency points)", and reference information of "additional functions" that are typically used in that pattern.

[0115] These outputs are used in the additional function selection unit 53 to select additional functions suitable for the management pattern, in the application configuration generation unit 55 to determine the base configuration, and in the insight integration unit 45 to integrate inefficiency and improvement information for reporting.

[0116] [Additional Function Selection Section] (1) Role The additional function selection unit 53 is a function block that automatically selects functions to be added to the business application by receiving "business context" collected by the hearing control unit 46, "business rules" extracted by the know-how detection unit 44, "issues" detected by the insight integration unit 45, "management patterns" determined by the management pattern estimation unit 52, and "spreadsheet file characteristics" detected by the structural analysis unit 41 as input.

[0117] The additional function selection unit 53 holds more than 50 function candidates categorized into seven categories: "Notifications / Alerts," "Approval Workflow," "Automated Processing," "Integration Functions," "Reports," "Usability," and "Security." It evaluates the requirements using 44 matching rules to select the appropriate function. The selection results are passed to the application configuration generation unit 55 and used to determine the final application configuration.

[0118] (2) Candidate functions based on management patterns and spreadsheet file characteristics As the first step in selecting features, we will initially consider typical features associated with the "management pattern." For the "collection" pattern, we will add "data import function" and "approval flow" as candidates; for the "storage" pattern, we will add "periodic aggregation" and "reporting function"; and for the "sharing" pattern, we will add "history management" and "commenting function."

[0119] In the second stage, the structural analysis unit 41 detects additional functions from the "characteristics of the spreadsheet file" it has identified. For example, if an approver column exists, the "approval workflow" function is added as a recommended candidate; if a sequential number column exists, the "automatic numbering" function is added; if print settings exist, the "report output" function is added; if sheet protection exists, the "access permission" function is added; and if an email address column exists, the "email notification" function is added (see Figure 7).

[0120] (3) Function selection based on matching rules In the third stage, the "hearing results," "detected issues," and "business rules" are evaluated using 44 types of matching rules. From the "business context," the "access permission" function is recommended when the number of users exceeds 5, and the "API integration" function is recommended when there is external integration. From the improvement requests, functions corresponding to keywords such as "approval," "notification," and "backup" are recommended. From the "business rules," the "notification" function is recommended for alert condition rules, the "automatic calculation" function for calculation rules, and the "pivot aggregation" function for hierarchical aggregation rules. From the "issue category," "automatic calculation / periodic aggregation" is recommended for manual issues, and "history management / audit logs" is recommended for data risk issues.

[0121] (4) Dependency resolution, packaging, and output If the same function is recommended by multiple rules, the reasons for the recommendations are integrated to determine priority. Dependencies between recommended functions are resolved, and prerequisite functions are automatically added, for example, the "Notification" function for deadline reminders and the "Basic Permissions" function for item-specific permissions.

[0122] Related functions are packaged, and recommended combinations such as "approval workflow package," "reporting package," and "security package" are generated. For each function, configuration proposals are generated from business rules, and "trigger conditions" are extracted for notification functions, and "approval steps" for approval flows.

[0123] The additional function selection unit 53 outputs a "list of recommended functions (including priority, reason for recommendation, and proposed settings)," a "function package," and "category-based summary information." These are passed to the application configuration generation unit 55, where they are combined with the base configuration to determine the final business application configuration.

[0124] [Custom Logic Generation Unit] (1) Role The proprietary logic generation unit 54 is a functional block that receives the output of the know-how detection unit 44 and the hearing control unit 46, organizes and confirms the proprietary logic to be implemented in the business application, and generates it in an implementable format.

[0125] The spreadsheet file contains business-specific logic embedded as formulas and conditional formatting, such as price calculation (unit price x quantity), status determination (color coding according to progress rate), threshold alerts (warning when inventory is less than 10), and hierarchical aggregation (subtotals and totals by department). These are important business rules that must be reproduced in the target business application. The custom logic generation unit 54 classifies the extracted "business rules" by logic type, determines the final status based on the interview results, detects and supplements any missing logic, and then converts it into an implementable format. The generation results are integrated with the output of the additional function selection unit 53 and passed to the application configuration generation unit 55. While the additional function selection unit 53 selects general application functions such as "notifications, approval flows, and CSV output," the custom logic generation unit 54 is responsible for migrating business logic such as "calculation formulas, judgment conditions, and aggregation rules" that are specific to the spreadsheet file.

[0126] (2) Classification and confirmation of the logic type of business rules The know-how detection unit 44 classifies the extracted business rules into 11 logic types (input validation / automatic calculation / derived items / status determination / status transition / alert conditions / aggregation / referential integrity check / date calculation / conditional default value / hierarchical aggregation) based on their implementation characteristics. The classification is determined from the original rule type and the associated context information.

[0127] After classifying the logic types, the confirmed status of each logic is determined by reflecting the output of the hearing control unit 46. Rules confirmed in the hearing are adopted as is, and rules that have been modified are updated to reflect the modifications. Rules that are rejected are recorded as excluded. For rules not confirmed in the hearing, a decision is made based on the accuracy calculated by the know-how detection unit 44. Rules with a high accuracy are adopted with a "review required" flag, and those with a low accuracy are attempted to be supplemented in the next phase. The meaning of the "magic number" confirmed in the hearing is also reflected in the threshold information of each logic.

[0128] (3) Detection and supplementation of missing logic The management pattern estimation unit 52 compares the outputted "table definition" with the "confirmed logic" to estimate logic that should exist but has not been detected. The detection patterns defined are: when there is an amount column and a unit price / quantity column but no amount calculation rule; when there is a status column but no transition rule; when there is an expiration date column but no expiration check; when there is a foreign key but no referential integrity check; and when there are start date / end date columns but no period integrity check. Furthermore, the detection targets are also when there is a hierarchical structure in the table but no hierarchical aggregation rule, and when there is a parent-child relationship table but no parent-child total integrity check.

[0129] Among the missing logic candidates that match the detection pattern, those with high accuracy are automatically generated from the pattern and added with a "requires review" flag. For those with low accuracy, and rules deemed to have insufficient accuracy in the previous phase, an attempt is made to supplement them using AI. The input to the AI ​​is "table definition," "existing confirmed rules," and "business context," and the output is "logic implementation proposal" and "alternative proposal." AI-generated logic is given a flag indicating its source and a "requires review" flag.

[0130] (4) Checking the consistency between logics After integrating the "confirmed logic" and the "completed logic," the consistency between the logics is checked. The check items include "detection of circular references," "detection of contradictory conditions," "detection of duplicate logic," "detection of unreferenced columns," and "detection of non-existent references." Regarding hierarchy, it is checked whether the hierarchy level specified by the logic exceeds the maximum hierarchy in the table definition and whether there are inconsistencies in the aggregation direction.

[0131] "Circular reference detection" constructs the dependencies between logics as a graph structure and checks for the existence of cycles. "Inconsistent condition detection" checks whether conflicting conditions are set for the same column. "Duplicate logic detection" checks whether multiple logics with the same conditions and results exist, and if so, presents them as candidates for integration.

[0132] The check results are recorded along with their severity level. If errors such as "circular references" or "referenced target not existing" are detected, the affected logic and suggested corrections are output.

[0133] (5) Conversion to implementation format and output The logic that has passed the consistency check is converted into an implementation format that can be processed by the application configuration generation unit 55. For each logic, the "trigger (on creation / update / deletion / periodic execution / manual execution)", "conditional expression", "action content", "calculation formula", and "parameters" are structured. The formulas in the original spreadsheet are converted into a format that can be executed by the application.

[0134] The custom logic generation unit 54 outputs the following: "List of confirmed logic (logic type, target table, hierarchical context, implementation details, source, probability, review requirement)", "List of logic requiring review (review reason, verification points)", "Consistency check results (detected problems, severity, suggested corrections)", "List of excluded logic (reason for exclusion)", and "Generation statistics (number of items by source / type, number of hierarchical related logics)".

[0135] These are passed to the application configuration generation unit 55, where they are combined with the "additional functions (general-purpose functions)" selected by the additional function selection unit 53 to determine the final application configuration. "Logic requiring review" is presented to the user as a matter for confirmation when the report is output.

[0136] [Application Configuration Generation Unit] (1) Role The application configuration generation unit 55 is a functional block that receives the analysis results output by all functional blocks of the core analysis layer 40 and the application configuration estimation layer 50 as input and generates the final application settings (in JSON format).

[0137] Generating a business application from a spreadsheet file requires a wide range of settings, including "table structure," "screen configuration," "additional functions," "custom logic," and "permission settings." The application configuration generation unit 55 integrates distributed information output by multiple functional blocks, such as the structure analysis unit 41, format determination unit 51, additional function selection unit 53, and custom logic generation unit 54, and outputs it as a single configuration file that the application platform can interpret.

[0138] (2) Generating table settings The management pattern estimation unit 52 generates the application's data layer settings from the "table definition" output. For each table, the "table name," "column definition," "primary key," "foreign key," and "index" are set.

[0139] In "Column Definition," the data types of the original spreadsheet are mapped to the data types of the application. For columns where a "Foreign Key" reference is detected, the association settings with the referenced table and the chain of actions during deletion and update are defined. As a table option, settings according to the management pattern (versioning, logical deletion, audit log, etc.) are automatically added.

[0140] (3) Generating screen settings The format determination unit 51 generates the application's "screen settings" from the "layout classification result" and "screen configuration hint" output by the format determination unit 51. Depending on the layout pattern, one of the following is generated: "list screen," "form screen," "cross-tabulation screen," "dashboard screen," or "composite screen."

[0141] The "Screen Configuration Hints" include information such as the display width for each column, sortability, filterability, and input type, which are then reflected in the "Screen Settings." For columns with "Foreign Key" references, lookup input is set, and for dimensional columns, select box input is set, with the system automatically selecting the input method according to the data characteristics.

[0142] (4) Integration of additional functions and proprietary logic The "general-purpose functions (notifications, workflows, integrations, reports, etc.)" recommended by the additional function selection unit 53 and the "business logic (validation, automatic calculations, threshold alerts, status transitions, etc.)" generated by the custom logic generation unit 54 are integrated into the application settings.

[0143] The configuration proposals output by each functional block are adopted as the basic configuration and converted into a format that conforms to the application platform's specifications. For "custom logic," the target tables / columns, execution timing, and dependencies are reflected in the configuration.

[0144] (5) Generation of navigation and permission settings and final output From the generated "screen settings," the transition relationships between screens are defined, and the "menu structure" and "routing settings" are output. From the "business context (user roles, etc.)" collected by the hearing control unit 46, "role definitions" and "access permission settings" are generated.

[0145] Finally, the generated settings (tables, screens, additional functions, custom logic, navigation, and permissions) are integrated, metadata (generation date and time, original file information, and function block version) is added, and an application configuration file (JSON format) is output. In addition, a human-readable configuration file, documentation of table definitions, screen specifications, and logic specifications, and a migration summary are output as a report.

[0146] [Knowledge Base] This invention is based on a hierarchical estimation flow consisting of "format pattern determination → management pattern estimation → additional function selection → application configuration determination," and at the core of this flow are the following set of definitions stored in the knowledge base.

[0147] • Pattern definitions: Format patterns (4 types), management patterns (4 types), additional function patterns (e.g., 15 types as shown in Figure 7) • Fit scoring rules: Characteristic conditions for each pattern, and points awarded when the conditions are met. • Inefficiency / Improvement Point Correspondence Table: Typical Issues and Solutions for Each Management Pattern Based on these definitions, the system provides adaptive design suggestions tailored to business objectives for various spreadsheet files.

[0148] To summarize the above explanation, the information processing device according to one embodiment of the present invention is a system that takes a spreadsheet file 31 and interview responses 32 regarding business objectives, etc., as input and outputs design data (application design proposal) 72 and a report 71.

[0149] Based on the "sheet structure, formulas, and border information" extracted from the spreadsheet file, and the "business purpose and user information" obtained through interviews, the following processes will be performed.

[0150] First, the structural analysis unit 41 extracts grid line information and layout features from the spreadsheet file. Next, the format determination unit 51 determines the format pattern (four types) based on the extracted grid line information. In parallel with this, the interview control unit 46 obtains business objectives and user information through interviews.

[0151] Next, the management pattern estimation unit 52 estimates management patterns (4 types) from the determined format pattern and acquired business objectives. Furthermore, the additional function selection unit 53 selects necessary additional functions (for example, 15 types shown in Figure 7) from the estimated management patterns and spreadsheet characteristics. In addition, if necessary, the custom logic generation unit 54 generates custom logic that is not included in the additional functions.

[0152] Based on these results, the application configuration generation unit 55 refers to the knowledge base and determines the application configuration by combining the base configuration with the selected additional functions. In addition, the know-how detection unit 44 extracts business rules from formulas and conditional formatting, and the hearing control unit 46 complements this to document tacit knowledge.

[0153] Finally, the insight integration unit 45 extracts inefficiency points / improvement points corresponding to the estimated management patterns, integrates all analysis results, and generates report 71 and design data 72.

[0154] 5. Processing Flow Figure 9 is a diagram showing the processing flow of an information processing device according to one embodiment of the present invention.

[0155] Once the process begins, the spreadsheet file to be migrated is loaded first (S10).

[0156] Next, the structure of the spreadsheet is analyzed based on information such as gridlines, formulas, and formatting (S11), business rules are extracted from the spreadsheet (S12), and inefficiencies / points for improvement in the spreadsheet are identified (S13).

[0157] Next, the format pattern of the business application is determined (S14) based on the business rules extracted in the structural analysis in step S12. Note that the determination of the format pattern in step S14 is a preliminary determination based on information such as grid lines, as Phase 1.

[0158] Next, regarding the unclear points in the business rules (business objectives, etc.) detected in the structural analysis in step S12, interviews are conducted with the users (S15), and in Phase 2, the format pattern is determined by taking into account the results (responses) of these interviews (S16).

[0159] Next, based on the format pattern determined in step S16 and the business rules (business objectives, etc.) supplemented by the interview in step S15, the management pattern of the business application is estimated (S17). If there is insufficient information to estimate the management pattern, the process returns to step S15 and the user is interviewed again.

[0160] Next, based on the management patterns estimated in step S17 and other characteristics of the spreadsheet, additional functions required for the business application (for example, the 15 functional patterns shown in Figure 7) are selected (S18), and, if necessary, any unique logic that cannot be handled by existing additional functions is organized and finalized (S19).

[0161] Then, all the information gathered so far is integrated to finalize the configuration of the business application (S20), output it as a report and design data (S21), and the process is terminated.

[0162] The present invention provides the following effects.

[0163] Support for migration decisions: By identifying inefficiencies and areas for improvement based on management patterns, the system clearly shows what problems will be solved by the migration. This allows even users without technical knowledge to objectively determine whether or not they should migrate.

[0164] Business rule inheritance: Business rules are automatically extracted from formulas and conditional formatting, and tacit knowledge is further supplemented and documented through interviews. This reduces the risk of business rule loss during migration and makes previously individualized business knowledge visible.

[0165] Reduced design effort: Hierarchical pattern estimation automatically proposes the optimal application configuration based on the structure of the spreadsheet file and its business objectives. This automates the design process, which previously required expert judgment, significantly reducing the barrier to migration.

[0166] Although embodiments of the present invention have been described above with specific examples, the disclosed technology is not limited to the embodiments described above and can be implemented in various other forms without departing from the gist of the disclosure. [Explanation of Symbols]

[0167] 1...Information processing system, 11...User terminal, 12...Information processing device, 13...Database, 21...Bus, 22...Processor, 23...Memory, 24...Auxiliary storage device, 25...Input device, 26...Output device, 27...Communication device, 28...Antenna, 31...Spreadsheet file, 32...Hearing response, 40...Core analysis layer, 41...Structural analysis unit, 42...Relationship analysis unit, 43...Gap detection unit, 44...Knowledge detection unit, 45...Insight integration unit, 46...Hearing control unit, 50...Application configuration estimation layer, 51...Format determination unit, 52...Management pattern estimation unit, 53...Additional function selection unit, 54...Proprietary logic generation unit, 55...Application configuration generation unit, 71...Report, 72...Design data

Claims

1. An information processing system that performs the process of transferring spreadsheet files to a business application, As a processing unit that determines the application configuration, A first processing unit that determines the format pattern of the spreadsheet by analyzing the structure of the spreadsheet, A second processing unit estimates the operation management pattern of the spreadsheet based on the format pattern and the business purpose of the spreadsheet obtained through interviews with users, An information processing system comprising: a third processing unit that determines necessary additional functions based on the management pattern and the characteristics of the spreadsheet.

2. The system includes a fourth processing unit that automatically extracts business rules embedded in the spreadsheet by analyzing the structure of the spreadsheet, and supplements the business rules by interviewing the user about any unclear points detected in the structural analysis. The information processing system according to claim 1, wherein the aforementioned business rules are used to estimate the management pattern in the second processing unit.

3. The information processing system according to claim 1 or 2, further comprising a fifth processing unit that associates and systematizes, for each management pattern, the inefficiency points in the spreadsheet with the points that can be improved by application development.

4. A program that causes an information processing device to perform information processing to transfer a spreadsheet file to a business application, As a step in determining the application configuration, The first step is to determine the format pattern of the spreadsheet by analyzing the structure of the spreadsheet, A second step involves estimating the management pattern for the operation of the spreadsheet based on the aforementioned format pattern and the business purpose of the spreadsheet obtained through interviews with users. A program that performs a third step of determining necessary additional functions based on the management pattern and the characteristics of the spreadsheet.

5. Furthermore, a fourth step is performed in which the business rules embedded in the spreadsheet are automatically extracted by structural analysis of the spreadsheet, and the business rules are supplemented by interviewing the user about any unclear points detected in the structural analysis. The program according to claim 4, which causes the aforementioned business rules to be used in estimating the management pattern in the second step.

6. The program according to claim 4 or 5, further comprising a fifth step of systematizing the inefficiency points in the spreadsheet and the improvement points through application development for each management pattern.

Citation Information

Patent Citations

  • Program generation system and program generation method

    JP2014074947A

  • Spreadsheet-based software application development

    JP2020504889A

  • Development of spreadsheet-based software applications

    JP2022177302A