IP Library Granted Patent US 12,572,534
Granted Patent B2
US 12,572,534 · App. 18/953,491 · Granted Mar 10, 2026

Selection query language methods and systems

Inventors: Charles M. Potter (Lund, SE); José Díaz López (Lund, SE)
Assignee: QlikTech International AB
G06F16/2443G06F16/22G06F16/2282G06F16/24
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,572,534
App. No.
18/953,491
Granted
Mar 10, 2026
Kind
B2
Abstract

Provided are methods and systems comprising receiving a plurality of data tables, wherein each data table comprises at least one row, generating a first handle for a first value in a table of the plurality of tables, wherein the first handle comprises an indication of whether a row in each of the plurality of tables is associated or not associated with the first value, and performing one or more operations on the first handle.

Claims (37)

1 . A method comprising:

receiving, by a first computing device, a plurality of data tables, wherein each data table of the plurality of data tables comprises a plurality of rows;

generating, based on a first selection of at least one graphical object at a user interface, a first handle for a first value in a table of the plurality of data tables, wherein the first handle indicates that each row, of the plurality of rows, in each data table of the plurality of data tables is associated or not associated with the first value;

generating, based on the first handle and a further selection of at least one graphical object at the user interface, a second handle for a subset value, wherein the further selection is associated with the subset value, and wherein the subset value is associated with the first value;

retrieving, based on the first handle and the second handle, data associated with the subset value from the plurality of data tables; and

outputting, at the user interface, at least one graphical object based on the retrieved data from the plurality of data tables.

2 . The method of claim 1 , wherein the user interface comprises a plurality of graphical objects, and wherein the plurality of graphical objects comprises at least one chart, table, or graph.

3 . The method of claim 1 , wherein the second handle identifies an association or a lack of an association of each row in each data table, of the plurality of data tables, with the subset value.

4 . The method of claim 1 , wherein an intersection of a column and a row in the first handle comprises an indication of association or a lack of an association with the first value.

5 . The method of claim 1 , wherein retrieving the data associated with the subset value from the plurality of data tables comprises performing one or more operations on the first handle and the second handle, and wherein the one or more operations comprise performing one or more of SET HANDLE H, SELECT, COMPLEMENT, UNION, INTERSECT, STATE (n), UPDATE, AGGR, SORT, SESSION, or PAGE.

6 . The method of claim 1 , wherein retrieving the data associated with the subset value from the plurality of data tables comprises performing a PAGE operation to retrieve one or more data values from the plurality of data tables based on the first handle and the second handle.

7 . The method of claim 1 , wherein generating the second handle for the subset value comprises performing at least one aggregation, wherein the at least one aggregation is associated with the first value and the subset value.

8 . An apparatus comprising:

one or more processors; and

memory storing processor-executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive a plurality of data tables, wherein each data table of the plurality of data tables comprises a plurality of rows;

generate, based on a first selection of at least one graphical object at a user interface, a first handle for a first value in a table of the plurality of data tables, wherein the first handle indicates that each row, of the plurality of rows, in each data table of the plurality of data tables is associated or not associated with the first value;

generate, based on the first handle and a further selection of at least one graphical object at the user interface, a second handle for a subset value, wherein the further selection is associated with the subset value, and wherein the subset value is associated with the first value;

retrieve, based on the first handle and the second handle, data associated with the subset value from the plurality of data tables; and

output, at the user interface, at least one graphical object based on the retrieved data from the plurality of data tables.

9 . The apparatus of claim 8 , wherein the user interface comprises a plurality of graphical objects, and wherein the plurality of graphical objects comprises at least one chart, table, or graph.

10 . The apparatus of claim 8 , wherein the second handle identifies an association or a lack of an association of each row in each data table, of the plurality of data tables, with the subset value.

11 . The apparatus of claim 8 , wherein an intersection of a column and a row in the first handle comprises an indication of association or a lack of an association with the first value.

12 . The apparatus of claim 8 , wherein the processor-executable instructions that cause the apparatus to retrieve the data associated with the subset value from the plurality of data tables further cause the apparatus to perform one or more operations on the first handle and the second handle, wherein the one or more operations comprise performing one or more of SET HANDLE H, SELECT, COMPLEMENT, UNION, INTERSECT, STATE(n), UPDATE, AGGR, SORT, SESSION, or PAGE.

13 . The apparatus of claim 8 , wherein the processor-executable instructions that cause the apparatus to retrieve the data associated with the subset value from the plurality of data tables further cause the apparatus to perform a PAGE operation to retrieve one or more data values from the plurality of data tables based on the first handle and the second handle.

14 . The apparatus of claim 8 , wherein the processor-executable instructions that cause the apparatus to generate the second handle for the subset value further cause the apparatus to perform at least one aggregation, wherein the at least one aggregation is associated with the first value and the subset value.

15 . One or more non-transitory computer-readable media storing processor-executable instructions that, when executed by one or more processors, cause the one or more processors to:

receive a plurality of data tables, wherein each data table of the plurality of data tables comprises a plurality of rows;

generate, based on a first selection of at least one graphical object at a user interface, a first handle for a first value in a table of the plurality of data tables, wherein the first handle indicates that each row, of the plurality of rows, in each data table of the plurality of data tables is associated or not associated with the first value;

generate, based on the first handle and a further selection of at least one graphical object at the user interface, a second handle for a subset value, wherein the further selection is associated with the subset value, and wherein the subset value is associated with the first value;

retrieve, based on the first handle and the second handle, data associated with the subset value from the plurality of data tables; and

output, at the user interface, at least one graphical object based on the retrieved data from the plurality of data tables.

16 . The one or more non-transitory computer-readable media of claim 15 , wherein the user interface comprises a plurality of graphical objects, and wherein the plurality of graphical objects comprises at least one chart, table, or graph.

17 . The one or more non-transitory computer-readable media of claim 15 , wherein the second handle identifies an association or a lack of an association of each row in each data table, of the plurality of data tables, with the subset value.

18 . The one or more non-transitory computer-readable media of claim 15 , wherein an intersection of a column and a row in the first handle comprises an indication of association or a lack of an association with the first value.

19 . The one or more non-transitory computer-readable media of claim 15 , wherein the processor-executable instructions that cause the one or more processors to retrieve the data associated with the subset value from the plurality of data tables further cause the one or more processors to perform one or more operations on the first handle and the second handle, wherein the one or more operations comprise performing one or more of SET HANDLE H, SELECT, COMPLEMENT, UNION, INTERSECT, STATE(n), UPDATE, AGGR, SORT, SESSION, or PAGE.

20 . The one or more non-transitory computer-readable media of claim 15 , wherein the processor-executable instructions that cause the one or more processors to retrieve the data associated with the subset value from the plurality of data tables further cause the one or more processors to perform a PAGE operation to retrieve one or more data values from the plurality of data tables based on the first handle and the second handle, and wherein the processor-executable instructions that cause the one or more processors to generate the second handle for the subset value further cause the one or more processors to perform at least one aggregation, wherein the at least one aggregation is associated with the first value and the subset value.

Assignments (2)
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 8, 2025
From: QLIKTECH INTERNATIONAL AB
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071224/0394 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2024
From: POTTER, CHARLES M.; DÍAZ LÓPEZ, JOSÉ
To: QLIKTECH INTERNATIONAL AB
Reel/Frame 069430/0495 →
Continuity (4)
Continuation 17704737 · Mar 25, 2022
Continuation 15583624 · May 1, 2017
Provisional Application 62329664 · Apr 29, 2016
Related Publication 20250077510A1 · Mar 6, 2025
References Cited (15)
US 7058621B1 · Wolge · 2006 [cited by applicant]
US 7660814B2 · Lee · 2010 [cited by examiner]
US 8244741B2 · Wolge · 2012 [cited by applicant]
US 8745099B2 · Wolge et al. · 2014 [cited by applicant]
US 20020138464A1 · Calascibetta · 2002 [cited by examiner]
US 20090024940A1 · Zeringue · 2009 [cited by examiner]
US 20090313210A1 · Bestgen · 2009 [cited by examiner]
US 20130159901A1 · Wolge et al. · 2013 [cited by applicant]
US 20140054321A1 · Wang · 2014 [cited by applicant]
US 20210103588A1 · Falsafi · 2021 [cited by examiner]
Adams, C., (2012) Qlikview Set Analysis Guide: Result Data. Retrieved from the Internet: https://www.resultdata.com/qlikview-set-analysis-guide/ [retrieved on Aug. 22, 2017] (6 pages). [cited by applicant]
Cronstrom, H. (2015) Qlik Design Blog: A Primer on Set Analysis: Qlik Community. Retrieved from the Internet: https://community.qlik.com/blogs/qlikviewdesignblog/2015/02/16/set-analysis [retrieved on Aug. 22, 2017] (6 p… [cited by applicant]
Ramos, D. Paging a query with SQL Server. Retrieved from the internet: https://social.technet.microsoft.com/wiki/contents/articles/23811.paging-a-query-with-sql-server.aspx [retrieved on Aug. 22, 2017] (11 pages). [cited by applicant]
Zhan, J. et al. (2007) ITREKS: Keyword Search Over Relational Database in Indexing Tuple Relationship. Adv Databases: Concepts, Systems and Applications. Springer-Verlag Berlin Heidelberg, Berlin, Heidelberg, pp. 67-78. [cited by applicant]
Extended European Search Report issued in related application No. EP17168477.2 mailed Sep. 4, 2017. [cited by applicant]