# US 12,007,970 B2 · Automatic rewriting of subtotal calculations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,007,970 B2
- Document ID: US12007970B2
- Status: Granted
- Kind: B2
- Application number: 17/824,255
- Filed: 2022-05-25
- Published: 2023-12-21
- Granted: 2024-06-11
- Earliest claimed: 2022-05-25
- Assignees: Sigma Computing, Inc.
- Applicants: Sigma Computing, Inc.
- Inventors: Jason D. Frantz; Robert C. Woollen; Joseph M. Hain
- Web page: https://patentgrep.com/patent/US12007970B2

## CPC

- G06F 16/221: {Column-oriented storage; Management thereof}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Automatic rewriting of subtotal calculations including presenting, by a table manager, a spreadsheet structure on a GUI of a client computing system, wherein the spreadsheet structure presents a data set from a cloud-based data warehouse; receiving, at a first column of the spreadsheet structure by the table manager, a formula that includes a reference to a second column of the spreadsheet structure, wherein the formula is received from the client computing system; detecting, by the table manager, that the second column includes a subtotal calculation of a third column of the spreadsheet structure; and rewriting, by the table manager, the formula by replacing the reference to the second column with the subtotal calculation of the third column.

## Claims

### Claim 1

A method for automatic rewriting of subtotal calculations, the method comprising:
presenting, by a table manager, a spreadsheet structure on a GUI of a client computing system, wherein the spreadsheet structure presents a data set from a cloud-based data warehouse;
receiving, at a first column of the spreadsheet structure by the table manager, a formula that includes a reference to a second column of the spreadsheet structure, wherein the formula is received from the client computing system, wherein receiving the formula that includes the reference to the second column of the spreadsheet structure comprises receiving a request to create the first column;
detecting, by the table manager, that the second column includes a subtotal calculation of a third column of the spreadsheet structure; and
rewriting, by the table manager, the formula by replacing the reference to the second column with the subtotal calculation of the third column.

### Claim 2 (depends on 1)

The method of claim 1, wherein the subtotal calculation is an arbitrary expression received from the client computing system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the formula in the first column calculates a value at a different granularity than a value calculated for the second column.

### Claim 4 (depends on 1)

The method of claim 1, wherein the subtotal calculation of the second column changes depending on a level of granularity selected for the second column.

### Claim 5 (depends on 1)

The method of claim 1, wherein each subtotal calculation of the second column uses a portion of existing rows in the third column as input.

### Claim 6 (depends on 1)

The method of claim 1, wherein presenting the spreadsheet structure on the GUI of the client computing system comprises issuing a database statement to the cloud-based data warehouse and receiving the data set as query results from the cloud-based data warehouse.

### Claim 7 (depends on 1)

The method of claim 1, wherein detecting that the second column includes a subtotal calculation of the third column comprises evaluating the received formula for the reference to any column comprising a subtotal calculation.

### Claim 8 (depends on 1)

The method of claim 1, wherein the spreadsheet structure is within a workbook, and wherein rewriting the formula comprises storing the workbook with the rewritten formula on an intermediary computing system between the client computing system and the cloud-based data warehouse.

### Claim 9 (depends on 1)

The method of claim 1, wherein the table manager is on an intermediary computing system between the client computing system and the cloud-based data warehouse.

### Claim 10 (depends on 1)

The method of claim 1, wherein the spreadsheet structure is within a workbook, and wherein rewriting the formula comprises storing the workbook with the rewritten formula on an intermediary computing system between the client computing system and the cloud-based data warehouse.

### Claim 11

An apparatus for automatic rewriting of subtotal calculations, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
presenting a spreadsheet structure on a GUI of a client computing system, wherein the spreadsheet structure presents a data set from a cloud-based data warehouse;
receiving, at a first column of the spreadsheet structure, a formula that includes a reference to a second column of the spreadsheet structure, wherein the formula is received from the client computing system, wherein receiving the formula that includes the reference to the second column of the spreadsheet structure comprises receiving a request to create the first column;
detecting that the second column includes a subtotal calculation of a third column of the spreadsheet structure; and
rewriting the formula by replacing the reference to the second column with the subtotal calculation of the third column.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the subtotal calculation is an arbitrary expression received from the client computing system.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein the formula in the first column calculates a value at a different granularity than a value calculated for the second column.

### Claim 14 (depends on 11)

The apparatus of claim 11, wherein the subtotal calculation of the second column changes depending on a level of granularity selected for the second column.

### Claim 15 (depends on 11)

The apparatus of claim 11, wherein each subtotal calculation of the second column uses a portion of existing rows in the third column as input.

### Claim 16 (depends on 11)

The apparatus of claim 11, wherein presenting the spreadsheet structure on the GUI of the client computing system comprises issuing a database statement to the cloud-based data warehouse and receiving the data set as query results from the cloud-based data warehouse.

### Claim 17 (depends on 11)

The apparatus of claim 11, wherein detecting that the second column includes a subtotal calculation of the third column comprises evaluating the received formula for the reference to any column comprising a subtotal calculation.

### Claim 18

A computer program product for automatic rewriting of subtotal calculations, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
presenting a spreadsheet structure on a GUI of a client computing system, wherein the spreadsheet structure presents a data set from a cloud-based data warehouse;
receiving, at a first column of the spreadsheet structure, a formula that includes a reference to a second column of the spreadsheet structure, wherein the formula is received from the client computing system, wherein receiving the formula that includes the reference to the second column of the spreadsheet structure comprises receiving a request to create the first column;
detecting that the second column includes a subtotal calculation of a third column of the spreadsheet structure; and
rewriting the formula by replacing the reference to the second column with the subtotal calculation of the third column.
