CPC G06F 16/283 (2019.01) [G06F 16/258 (2019.01); G06F 40/18 (2020.01); G06F 40/30 (2020.01)] | 11 Claims |
1. A method for converting a spreadsheet into a data model, the method comprising:
obtaining the spreadsheet, wherein the spreadsheet comprises a plurality of cells containing data;
identifying local structures within the spreadsheet using attributes of the data in the spreadsheet, wherein the local structures comprise data blocks and label sets, wherein identifying comprises:
grouping the plurality of cells into the data blocks based on a cell layout of the plurality of cells and a cell type of each of the plurality of cells, wherein the cell type of each of the plurality of cells comprises label cells and data cells, each of the label cells labels on or more of the data cells, wherein the method further comprises grouping one or more of the label cells that label a data cell of the data cells into a label tuple associated with the data cell, and
extracting label sets from the data blocks by applying semantic and structural analysis on the data contained in the plurality of cells making up each of the data blocks,
wherein the local structures further comprises a set of rules converted from formulas included in the spreadsheet, wherein generating a first rule of the set of rules using the formulas comprises:
identifying a first cell comprising a first formula of the formulas included in the spreadsheet, wherein the first cell is one of the plurality of cells and is one of the data cells,
identifying cells among the plurality of cells referenced by the first formula,
identifying the label tuple associated with each of the cells referenced by the first formula,
arranging the identified label tuples to make a structure of the first formula, and
generating, after the arrangement of the label tuples, the first rule by removing identical labels within the label tuples associated with each of the cells referenced by the first formula;
combining the local structures of the spreadsheet into a generic multi-dimensional model comprising dimensions and data cubes;
generating the data model using the generic multi-dimensional model by mapping elements of the generic multi-dimensional model to elements of the data model, wherein the dimensions and the data cubes are the elements of the generic multi-dimensional model; and
displaying, on a display and to a user, the data model.
|