IP Library › Granted Patent US 10,762,289
Granted Patent B2
US 10,762,289 · App. 15/592,991 · Granted Sep 1, 2020

Data analysis expressions

Inventors: Howard J. Dickerman (Bellevue, WA); Marius Dumitru (Sammamish, WA); Akshai Mirchandani (Redmond, WA); Yutong (Jeffrey) Wang (Bellevue, WA); Amir Netz (Bellevue, WA); Paul J. Sanders (Mercer Island, WA)
G06F40/18
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 10,762,289
App. No.
15/592,991
Granted
Sep 1, 2020
Kind
B2
Abstract

Methods and systems are disclosed for receiving and processing data analysis expressions. A particular method includes receiving a data analysis expression at a pivot table of a spreadsheet. The data analysis expression is executed for a particular cell of the pivot table by determining a context associated with the particular cell, calculating a value of the data analysis expression based on the context, and outputting the calculated value at the particular cell.

Claims (37)

1. A method executing on one or more computing devices, the method causing the one or more computing devices to:

receive a data analysis expression associated with a first column of a first table, wherein the data analysis expression creates a relationship between a second column of a second table from a first data structure and a third column of a third table from a second data structure, wherein the second column and the third column are related from the data analysis expression;

determine the relationship between the second table and the third table using the data analysis expression; and

calculating a value of the data analysis expression associated with a cell in a particular row of the first column using both first data retrieved from the particular row of the second table and second data retrieved from the third table based on a filter context associated with the particular row; and

outputting the calculated value at the cell in the first table.

2. The method of claim 1 wherein the first data structure is an online analytical processing (“OLAP”) cube.

3. The method of claim 1 , wherein the method further causes the one or more computers to:

receive a selection of a subset of the particular row of the first table; and

automatically re-execute the data analysis expression for the subset of the particular row of the first table.

4. The method of claim 1 , wherein the data analysis expression includes a formula.

5. The method of claim 4 , wherein the data analysis expression includes a formula associated with at least one aggregation, wherein the at least one aggregation is selected from the group consisting of: a sum pivot table aggregation, an average pivot table aggregation, a minimum pivot table aggregation, a maximum pivot table aggregation, and a count pivot table aggregation.

6. The method of claim 1 , wherein the data analysis expression includes at least one time-based function from dateadd, datesbetween, datesinperiod, or parallelperiod.

7. The method of claim 1 , wherein the data analysis expression includes a related table function, a relatedtable table function, a filter table function, a distinct table function, a values table function, an all table function, an all except table function, an allnoblankrow table function, or any combination thereof.

8. A computer-readable hardware storage medium storing instructions, that when executed by a computing device, cause the computing device to:

receive a data analysis expression associated with a column of a first table, wherein the data analysis expression creates a relationship between a second column of the first table and a third column of a second table;

determine the relationship between the first table and the second table using the data analysis expression;

calculating a value of the data analysis expression associated with a spreadsheet cell in the first column and in a particular row using both first data in the particular row of the second column and second data retrieved from the third column of the second table, wherein the second column and the third column are related from the data analysis expression, wherein the first data and the second data are selected using a filter context associated with the particular row; and

outputting the value at the spreadsheet cell in the first table.

9. The computer-readable hardware storage medium of claim 8 , further storing instructions, that when executed by the processor, cause the processor to:

receive a selection of a subset of rows of the first table; and

automatically re-execute the data analysis expression for the selected subset of rows.

10. The computer-readable hardware storage medium of claim 8 , wherein the data analysis expression includes a user-defined formula.

11. The computer-readable hardware storage medium of claim 8 , wherein the data analysis expression includes a formula to be aggregated over rows of at least one data table.

12. The computer-readable hardware storage medium of claim 11 , wherein the data analysis expression includes at least one aggregation selected from the group consisting of:

a sum pivot table aggregation, an average pivot table aggregation, a minimum pivot table aggregation, a maximum pivot table aggregation, and a count pivot table aggregation, wherein the at least one aggregation may be performed for a plurality of expressions other than the data analysis expression.

13. The computer-readable hardware storage medium of claim 8 , wherein the relationship includes a related column that is an index column of the first table, an index column of the second table, or any combination thereof.

14. A method performed by a computing device comprising:

receive a data analysis expression associated with a first cell in a first column of a first table, wherein the data analysis expression references a second column of the first table and a third column of a second table, wherein the first table and the second table are related by the data analysis expression;

determine the relationship between the first table and the second table using the data analysis expression;

calculating a value of the data analysis expression associated with the first cell and in a particular row using both first data in the particular row of the second column and second data retrieved from the third column of the second table, wherein the second column and the third column are related from the data analysis expression, wherein the first data and the second data are selected using a filter context associated with the particular row; and

outputting the value at the first cell in the first table.

15. The method of claim 14 , wherein the first table is a multi-dimensional cube data structure.

16. The method of claim 15 , wherein the multi-dimensional cube data structure is an online analytical processing (“OLAP”) cube data structure.

17. The method of claim 14 , wherein the data analysis expression includes a user-defined formula.

18. The method of claim 14 , further comprising automatically re-executing the data analysis expression in response to a pivot operation of a pivot table, wherein the first table is a pivot table.

19. The method of claim 14 , wherein the reference to the second column resolves to the second column when the reference is used in a column calculation, and wherein the reference to the second column resolves to a value stored at a particular row of the second column when the reference is used in a scalar calculation.

20. The method of claim 14 , wherein the data analysis expression includes a formula to be aggregated over rows of at least one data table.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2017
From: DICKERMAN, HOWARD J.; DUMITRU, MARIUS; MIRCHANDANI, AKSHAI; WANG, YUTONG (JEFFREY); NETZ, AMIR; SANDERS, PAUL J.
To: MICROSOFT CORPORATION
Reel/Frame 043132/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043133/0033 →
Continuity (3)
Continuation 14997138 · Jan 15, 2016
Continuation 12576254 · Oct 9, 2009
Related Publication 20180032498A1 · Feb 1, 2018