# US 12,182,112 B2 · Selection query language methods and systems

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

- Number: US 12,182,112 B2
- Document ID: US12182112B2
- Status: Granted
- Kind: B2
- Application number: 17/704,737
- Filed: 2022-03-25
- Published: 2022-10-06
- Granted: 2024-12-31
- Earliest claimed: 2016-04-29
- Assignees: Qliktech International AB
- Applicants: QlikTech International AB
- Inventors: Charles M. Potter; Jose Diaz Lopez
- Web page: https://patentgrep.com/patent/US12182112B2

## CPC

- G06F 16/2443: {Stored procedures}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/2264: {Multidimensional index structures}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/24: Querying
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A method comprising:
determining, by a computing device, based on one or more operations performed on data associated with a first attribute and a handle for the first attribute, one or more changes to table data associated with the first attribute and stored in a plurality of data tables, wherein the handle comprises a row and at least one column for each data table of the plurality of data tables;
determining, based on the one or more changes, an updated selection state for the handle, wherein the handle indicates, prior to performance of the one or more operations, an initial selection state of the table data via the row and the at least one column for each data table of the plurality of data tables, wherein the initial selection state indicates an association or a lack of an association between the first attribute and the table data stored in the plurality of data tables; and
causing, based on the updated selection state, the handle to be updated by retrieving one or more data values from the table data associated with the one or more changes, wherein the updated handle comprises the updated selection state and indicates, based on the retrieved one or more data values associated with the one or more changes, an association or a lack of an association between the first attribute and the table data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the updated selection state indicates, for each row of each data table of the plurality of data tables, that data stored in the corresponding row is associated or not associated with the first attribute.

### Claim 3 (depends on 1)

The method of claim 1, wherein the updated selection state differs at least partially from the initial selection state based on the one or more changes.

### Claim 4 (depends on 1)

The method of claim 1, wherein the updated selection state comprises an indication of one or more rows of the plurality of data tables that are not indicated by the initial selection state for the first attribute.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the one or more changes to the table data comprises:
receiving an indication of a selection at a user interface of a graphical object associated with the first attribute;
causing, based on the selection at the user interface, the one or more operations to be performed on the table data associated with the first attribute;
modifying, based on a result of the one or more operations, the table data; and
determining, based on the modified table data, the one or more changes.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining the one or more changes comprises at least one of:
receiving one or more modifications to the table data associated with the first attribute; or
receiving new data associated with the first attribute.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first attribute is one of a plurality of attributes, and wherein the method further comprises:
determining, for each attribute of the plurality of attributes, an initial selection state comprising an indication of one or more rows of the plurality of data tables comprising data associated with the corresponding attribute; and
generating, for each attribute of the plurality of attributes, a handle comprising an indication of the initial selection state for the corresponding attribute.

### Claim 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:
determine, based on one or more operations performed on data associated with a first attribute and a handle for the first attribute, one or more changes to table data associated with the first attribute and stored in a plurality of data tables, wherein the handle comprises a row and at least one column for each data table of the plurality of data tables;
determine, based on the one or more changes, an updated selection state for the handle, wherein the handle indicates, prior to performance of the one or more operations, an initial selection state of the table data via the row and the at least one column for each data table of the plurality of data tables, wherein the initial selection state indicates an association or a lack of an association between the first attribute and the table data stored in the plurality of data tables; and
cause, based on the updated selection state, the handle to be updated by retrieving one or more data values from the table data associated with the one or more changes, wherein the updated handle comprises the updated selection state and indicates, based on the retrieved one or more data values associated with the one or more changes, an association or a lack of an association between the first attribute and the table data.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the updated selection state indicates, for each row of each data table of the plurality of data tables, that data stored in the corresponding row is associated or not associated with the first attribute.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the updated selection state differs at least partially from the initial selection state based on the one or more changes.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein the updated selection state comprises an indication of one or more rows of the plurality of data tables that are not indicated by the initial selection state for the first attribute.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein the processor-executable instructions that cause the apparatus to determine the one or more changes to the table data further cause the apparatus to:
receive an indication of a selection at a user interface of a graphical object associated with the first attribute;
cause, based on the selection at the user interface, the one or more operations to be performed on the table data associated with the first attribute;
modify, based on a result of the one or more operations, the table data; and
determine, based on the modified table data, the one or more changes.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the processor-executable instructions that cause the apparatus to determine the one or more changes further cause the apparatus to at least one of:
receive one or more modifications to the table data associated with the first attribute; or
receive new data associated with the first attribute.

### Claim 14 (depends on 8)

The apparatus of claim 8, wherein the first attribute is one of a plurality of attributes, and wherein the processor-executable instructions further cause the apparatus to:
determine, for each attribute of the plurality of attributes, an initial selection state comprising an indication of one or more rows of the plurality of data tables comprising data associated with the corresponding attribute; and
generate, for each attribute of the plurality of attributes, a handle comprising an indication of the initial selection state for the corresponding attribute.

### Claim 15

A non-transitory computer-readable storage medium comprising processor-executable instructions that, when executed by one or more processors of a computing device, cause the computing device to:
determine, based on one or more operations performed on data associated with a first attribute and a handle for the first attribute, one or more changes to table data associated with the first attribute and stored in a plurality of data tables, wherein the handle comprises a row and at least one column for each data table of the plurality of data tables;
determine, based on the one or more changes, an updated selection state for the handle, wherein the handle indicates, prior to performance of the one or more operations, an initial selection state of the table data via the row and the at least one column for each data table of the plurality of data tables, wherein the initial selection state indicates an association or a lack of an association between the first attribute and the table data stored in the plurality of data tables; and
cause, based on the updated selection state, the handle to be updated by retrieving one or more data values from the table data associated with the one or more changes, wherein the updated handle comprises the updated selection state and indicates, based on the retrieved one or more data values associated with the one or more changes, an association or a lack of an association between the first attribute and the table data.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the updated selection state indicates, for each row of each data table of the plurality of data tables, that data stored in the corresponding row is associated or not associated with the first attribute.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the updated selection state differs at least partially from the initial selection state based on the one or more changes.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the updated selection state comprises an indication of one or more rows of the plurality of data tables that are not indicated by the initial selection state for the first attribute.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the processor-executable instructions that cause the computing device to determine the one or more changes to the table data further cause the computing device to:
receive an indication of a selection at a user interface of a graphical object associated with the first attribute;
cause, based on the selection at the user interface, the one or more operations to be performed on the data associated with the first attribute;
modify, based on a result of the one or more operations, the table data; and
determine, based on the modified table data, the one or more changes.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the first attribute is one of a plurality of attributes, and wherein the processor-executable instructions further cause the computing device to:
determine, for each attribute of the plurality of attributes, an initial selection state comprising an indication of one or more rows of the plurality of data tables comprising data associated with the corresponding attribute; and
generate, for each attribute of the plurality of attributes, a handle comprising an indication of the initial selection state for the corresponding attribute.
