IP Library › Granted Patent US 12,141,169
Granted Patent B1
US 12,141,169 · App. 17/576,205 · Granted Nov 12, 2024

System and method for converting spreadsheets into data models

Inventors: Andrew Thomas Nelmes (London, GB); Alexandros Komninos (York, GB); Robin Ward Stafford (York, GB); Jonathan Co (York, GB)
Assignee: Anaplan, Inc.
G06F16/283G06F16/258G06F40/18G06F40/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,141,169
App. No.
17/576,205
Granted
Nov 12, 2024
Kind
B1
Abstract

A method for converting a spreadsheet into a data model includes: obtaining the spreadsheet including a plurality of cells containing data; identifying local structures within the spreadsheet using attributes of the data in the spreadsheet; 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; and displaying, on a display and to a user, the data model. The dimensions and the data cubes are the elements of the generic multi-dimensional model.

Claims (98)

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.

2. 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 extracting the label sets from the data blocks comprises, for each of the data blocks:

identifying levels in a data block of the data blocks using a structure of the data block and the cell type of each of the plurality of cells making up the data block; and

combining the levels into the label sets using the semantic and structural analysis,

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.

3. The method of claim 2 , wherein

each of the levels is associated with at least one of the label sets, and

combining the levels into the label sets using the semantic and structural analysis comprises:

assigning a semantic type or a semantic subtype to each of the levels based on the at least one of the label cells associated with each of the levels;

grouping the levels into level pairs and determining an association score for each of the level pairs; and

for each of the level pairs and in response to the association score exceeding a predetermined association threshold, combining the levels making up a level pair of the level pairs into a label set of the label sets.

4. The method of claim 3 , wherein, for each of the level pairs, the association score is based on at least one selected from a group consisting of:

a semantic compatibility of the levels making up the level pair;

a relation between the levels being 1:N or 1:1;

a distance between the levels within the data block containing the levels;

a string similarity of the levels; and

an aggregation formula association based on the levels.

5. The method of claim 3 , wherein the method further comprises:

determining whether the levels making up the label set include a hierarchical relationship and arranging the levels within the label sets based on the hierarchical relationship,

wherein the hierarchical relationship between the levels is determined using at least the semantic type or the semantic subtype assigned to each of the levels.

6. The method of claim 3 , wherein combining the local structures of the spreadsheet into a generic multi-dimensional model comprising dimensions and data cubes comprises:

generating the dimensions by identifying common ones of the label sets and combining the common ones of the label sets into the dimensions;

generating the data cubes using data blocks among the data blocks that include identical line items and identical ones of the dimensions; and

associating the line items of each of the data blocks with a set of rules converted from formulas included in the spreadsheet.

7. The method of claim 6 , wherein the line items of each of the data blocks are identified by:

selecting one label set from the label sets of each of the data blocks as the line items of each of the data blocks, wherein

the one label set is selected as the line items based on the semantic type or the semantic subtype associated with the levels making up the one label set.

8. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform 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 one 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.

9. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform 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 extracting the label sets from the data blocks comprises, for each of the data blocks:

identifying levels in a data block of the data blocks using a structure of the data block and the cell type of each of the plurality of cells making up the data block; and

combining the levels into the label sets using the semantic and structural analysis,

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.

10. A computing device comprising:

a memory storing a spreadsheet; and

a processor coupled to the memory, wherein the processor is configured to convert the spreadsheet into a data model by:

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.

11. A computing device comprising:

a memory storing a spreadsheet; and

a processor coupled to the memory, wherein the processor is configured to convert the spreadsheet into a data model by:

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 extracting the label sets from the data blocks comprises, for each of the data blocks:

identifying levels in a data block of the data blocks using a structure of the data block and the cell type of each of the plurality of cells making up the data block; and

combining the levels into the label sets using the semantic and structural analysis,

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.

Assignments (2)
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 22, 2022
From: ANAPLAN, INC.
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 060408/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2022
From: NELMES, ANDREW THOMAS; KOMNINOS, ALEXANDROS; STAFFORD, ROBIN WARD; CO, JONATHAN
To: ANAPLAN, INC.
Reel/Frame 058761/0560 →
Cited By (1)
US 12,393,775