IP Library Granted Patent US 11,556,529
Granted Patent B2
US 11,556,529 · App. 16/923,594 · Granted Jan 17, 2023

Top frequency worksheet filtering

Inventors: Carol M. Culver (Bribane, CA); Nipurn Doshi (Redwood City, CA); Diana B. Johnson (San Francisco, CA); Jason D. Frantz (San Francisco, CA)
Assignee: SIGMA COMPUTING, INC.
G06F16/24534G06F16/248
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 11,556,529
App. No.
16/923,594
Granted
Jan 17, 2023
Kind
B2
Abstract

Top frequency worksheet filtering including sending a first request comprising a first search term; receiving, in response to the first request, a first plurality of distinct values having a greatest frequency in a data set and responsive to the first search term, wherein the first plurality of distinct values comprises a number of distinct values less than or equal to a size threshold; presenting the first plurality of distinct values; receiving a selection of a first value from the first plurality of distinct values; and filtering, based on the selected first value, a worksheet comprising a presentation of the data set.

Claims (89)

1. A method comprising:

sending a first request comprising a first search term and an indication of a column of a data set;

receiving, in response to the first request, a first plurality of distinct values having a greatest frequency of occurrence in the data set and responsive to the first search term, wherein the first plurality of distinct values comprises a number of distinct values less than or equal to a size threshold;

presenting, via a graphical user interface, the first plurality of distinct values;

receiving, via the graphical user interface, a selection of a first value from the first plurality of distinct values; and

filtering, based on the selected first value, a worksheet, wherein the worksheet comprises a presentation of the data set.

2. The method of claim 1 , wherein filtering, based on the selected value, the worksheet comprises:

causing a database query based on the selected first value to be issued to a database storing the data set, wherein the database is within a cloud-based data warehouse; and

receiving a subset of the data set responsive to the database query.

3. The method of claim 1 , further comprising:

receiving a second search term;

determining that a response to the second search term is stored in memory;

loading the response to the second search term from memory; and

presenting a second plurality of distinct values included in the response to the second search term.

4. The method of claim 1 , further comprising:

receiving a second search term;

determining that a response to a partial match of the second search term is stored in memory, the response to the partial match comprising a second plurality of distinct values;

loading a subset of the second plurality of distinct values responsive to the second search term from memory; and

presenting, based on a number of distinct values in the second plurality of distinct values falling below the size threshold, the subset of the second plurality of distinct values responsive to the second search term.

5. The method of claim 1 , further comprising:

receiving a second search term;

determining that a response to a partial match of the second search term is stored in memory, the response to the partial match of the second search term comprising a second plurality of distinct values;

sending, based on a number of distinct values in the second plurality of distinct values meeting the size threshold, a second request comprising the second search term; and

receiving, in response to the second request, a third plurality of distinct values having a greatest frequency in the data set and responsive to the second search term.

6. The method of claim 1 , further comprising:

receiving a selection of a second value from the first plurality of distinct values; and

wherein filtering, based on the first selected value, the worksheet comprises filtering, based on the selected first value and the selected second value, the worksheet.

7. The method of claim 1 , further comprising:

identifying, from a stored subset of the data set, a second plurality of distinct values responsive to the first search term;

presenting the second plurality of distinct values; and

wherein presenting the first plurality of distinct values comprises presenting, in response to receiving the response to the response to the first request, the first plurality of distinct values instead of the second plurality of distinct values.

8. An 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:

sending a first request comprising a first search term and an indication of a column of a data set;

receiving, in response to the first request, a first plurality of distinct values having a greatest frequency of occurrence in the data set and responsive to the first search term, wherein the first plurality of distinct values comprises a number of distinct values less than or equal to a size threshold;

presenting, via a graphical user interface, the first plurality of distinct values;

receiving, via the graphical user interface, a selection of a first value from the first plurality of distinct values; and

filtering, based on the selected first value, a worksheet, wherein the worksheet comprises a presentation of the data set.

9. The apparatus of claim 8 , wherein filtering, based on the selected value, the worksheet comprises:

causing a database query based on the selected first value to be issued to a database storing the data set, wherein the database is within a cloud-based data warehouse; and

receiving a subset of the data set responsive to the database query.

10. The apparatus of claim 8 , wherein the steps further comprise:

receiving a second search term;

determining that a response to the second search term is stored in memory;

loading the response to the second search term from memory; and

presenting a second plurality of distinct values included in the response to the second search term.

11. The apparatus of claim 8 , wherein the steps further comprise:

receiving a second search term;

determining that a response to a partial match of the second search term is stored in memory, the response to the partial match comprising a second plurality of distinct values;

loading a subset of the second plurality of distinct values responsive to the second search term from memory; and

presenting, based on a number of distinct values in the second plurality of distinct values falling below the size threshold, the subset of the second plurality of distinct values responsive to the second search term.

12. The apparatus of claim 8 , wherein the steps further comprise:

receiving a second search term;

determining that a response to a partial match of the second search term is stored in memory, the response to the partial match of the second search term comprising a second plurality of distinct values;

sending, based on a number of distinct values in the second plurality of distinct values meeting the size threshold, a second request comprising the second search term; and

receiving, in response to the second request, a third plurality of distinct values having a greatest frequency in the data set and responsive to the second search term.

13. The apparatus of claim 8 , wherein the steps further comprise:

receiving a selection of a second value from the first plurality of distinct values; and

wherein filtering, based on the first selected value, the worksheet comprises filtering, based on the selected first value and the selected second value, the worksheet.

14. The apparatus of claim 8 , wherein the steps further comprise:

identifying, from a stored subset of the data set, a second plurality of distinct values responsive to the first search term;

presenting the second plurality of distinct values; and

wherein presenting the first plurality of distinct values comprises presenting, in response to receiving the response to the response to the first request, the first plurality of distinct values instead of the second plurality of distinct values.

15. A computer program product comprising a non-transitory computer readable medium and computer program instructions stored therein that, when executed, cause a computer to carry out the steps of:

sending a first request comprising a first search term and an indication of a column of a data set;

receiving, in response to the first request, a first plurality of distinct values having a greatest frequency of occurrence in the data set and responsive to the first search term, wherein the first plurality of distinct values comprises a number of distinct values less than or equal to a size threshold;

presenting, via a graphical user interface, the first plurality of distinct values;

receiving, via the graphical user interface, a selection of a first value from the first plurality of distinct values; and

filtering, based on the selected first value, a worksheet, wherein the worksheet comprises a presentation of the data set.

16. The computer program product of claim 15 , wherein filtering, based on the selected value, the worksheet comprises:

causing a database query based on the selected first value to be issued to a database storing the data set, wherein the database is within a cloud-based data warehouse; and

receiving a subset of the data set responsive to the database query.

17. The computer program product of claim 15 , wherein the steps further comprise:

receiving a second search term;

determining that a response to the second search term is stored in memory;

loading the response to the second search term from memory; and

presenting a second plurality of distinct values included in the response to the second search term.

18. The computer program product of claim 15 , wherein the steps further comprise:

receiving a second search term;

determining that a response to a partial match of the second search term is stored in memory, the response to the partial match comprising a second plurality of distinct values;

loading a subset of the second plurality of distinct values responsive to the second search term from memory; and

presenting, based on a number of distinct values in the second plurality of distinct values falling below the size threshold, the subset of the second plurality of distinct values responsive to the second search term.

19. The computer program product of claim 15 , wherein the steps further comprise:

receiving a second search term;

determining that a response to a partial match of the second search term is stored in memory, the response to the partial match of the second search term comprising a second plurality of distinct values;

sending, based on a number of distinct values in the second plurality of distinct values meeting the size threshold, a second request comprising the second search term; and

receiving, in response to the second request, a third plurality of distinct values having a greatest frequency in the data set and responsive to the second search term.

20. The computer program product of claim 15 , wherein the steps further comprise:

receiving a selection of a second value from the first plurality of distinct values; and

wherein filtering, based on the first selected value, the worksheet comprises filtering, based on the selected first value and the selected second value, the worksheet.

Assignments (2)
SECURITY INTEREST Recorded Aug 1, 2025
From: SIGMA COMPUTING, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072316/0724 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2020
From: CULVER, CAROL M.; DOSHI, NIPURN; JOHNSON, DIANA B.; FRANTZ, JASON D.
To: SIGMA COMPUTING, INC.
Reel/Frame 053151/0936 →
Continuity (2)
Provisional Application 62885844 · Aug 13, 2019
Related Publication 20210049170A1 · Feb 18, 2021