# US 12,008,010 B2 · Systems and methods for visualizing one or more datasets

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

- Number: US 12,008,010 B2
- Document ID: US12008010B2
- Status: Granted
- Kind: B2
- Application number: 18/085,204
- Filed: 2022-12-20
- Published: 2023-06-15
- Granted: 2024-06-11
- Earliest claimed: 2019-10-21
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Ethan Bond; Michael Nazario
- Web page: https://patentgrep.com/patent/US12008010B2

## CPC

- G06F 16/248: Presentation of query results
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 16/2456: {Join operations}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In some embodiments, systems and methods for visualizing one or more datasets include importing a plurality of root objects, each root object including linked data attributes and obtaining a joined dataset based on the plurality of root objects, that includes for each or the plurality of root objects, a plurality of rows of related attribute data linked to each root object as a result of a join operation. The systems and methods perform an aggregation computation on the plurality of rows of related attribute data corresponding to each of the plurality of root objects to produce a corresponding single aggregation row of consolidated data for each root object and present a user interface that shows each of the plurality of root objects with their corresponding single aggregation row of consolidated data resulting from the aggregation computation, in a one-to-one manner.

## Claims

### Claim 1

A method for visualizing one or more datasets, the method comprising:
obtaining a joined dataset based on a plurality of root objects that comprises, for each of the plurality of root objects, a plurality of rows of related attribute data linked to each root object as a result of a join operation, each root object of the plurality of root objects comprising a join cardinality;
providing a user interface to present aggregation type selection data that allows a user to select one or more aggregation types from a plurality of different types of aggregation operations to apply to the plurality of rows of related attribute data;
performing an aggregation computation of the one or more selected aggregation types on the plurality of rows of related attribute data corresponding to each root object of the plurality of root objects to produce a corresponding single aggregation row of consolidated data for each root object, the consolidated data comprising an average of the plurality of rows of related attribute data corresponding to each root object or a first attribute data from the plurality of rows of related attribute data appended next to a second attribute data from the plurality of rows of related attribute data; and
causing presentation of the user interface that presents each root object of the plurality of root objects with the corresponding single aggregation row of consolidated data resulting from the aggregation computation, the plurality of root objects being ordered on the user interface based on the join cardinality of each root object of the plurality of root objects;
wherein the method is carried out by one or more processors, and
wherein at least one of the one or more selected aggregation types comprise a concatenation operation, the concatenation operation comprising appending the first attribute data to the second attribute data, and the consolidated data comprising the first attribute data from the plurality of rows of related attribute data appended next to the second attribute data from the plurality of rows of related attribute data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the join cardinality for each root object of the plurality of roots objects corresponds to a number of rows of the plurality of rows of related attribute data linked to a respective root object of the plurality of root objects.

### Claim 3 (depends on 1)

The method of claim 1, wherein a plurality of single aggregation rows with join cardinalities of one are grouped together, and wherein the causing presentation of the user interface comprises collapsing the plurality of single aggregation rows that are grouped together into a single collapsed row.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
exporting of a dataset that comprises the plurality of root objects ordered based on the join cardinality of each root object, and the corresponding single aggregation row of consolidated data after the aggregation computation has been performed.

### Claim 5 (depends on 1)

The method of claim 1, wherein the corresponding single aggregation row of consolidated data further comprises concatenation data generated by applying the concatenation operation to the plurality of rows of related attribute data corresponding to each root object.

### Claim 6 (depends on 1)

The method of claim 1, wherein the one or more aggregation types comprise a maximum value operation, wherein the aggregation row comprise a maximum value generated by applying the maximum value operation to the plurality of rows of related attribute data corresponding to each root object, and wherein the maximum value is a single numeric value.

### Claim 7

A system comprising:
a processor; and
memory storing instructions that, when executed by the processor, causes the system to perform a set of operations, the set of operations comprising:
obtaining a joined dataset based on a plurality of root objects, that comprises, for each of the plurality of root objects, a plurality of rows of related attribute data linked to each root object as a result of a join operation, each root object of the plurality of root objects comprising a join cardinality;
providing a user interface to present aggregation type selection data that allows a user to select one or more aggregation types from a plurality of different types of aggregation operations to apply to the plurality of rows of related attribute data;
performing an aggregation computation of the one or more selected aggregation types on the plurality of rows of related attribute data corresponding to each root object of the plurality of root objects to produce a corresponding single aggregation row of consolidated data for each root object, the consolidated data comprising an average of the plurality of rows of related attribute data corresponding to each root object or a first attribute data from the plurality of rows of related attribute data appended next to a second attribute data from the plurality of rows of related attribute data; and
causing presentation of the user interface that presents each root object of the plurality of root objects with the corresponding single aggregation row of consolidated data resulting from the aggregation computation, the plurality of root objects being ordered on the user interface based on the join cardinality of each root object of the plurality of root objects,
wherein at least one of the one or more selected aggregation types comprise a concatenation operation, the concatenation operation comprising appending the first attribute data to the second attribute data, and the consolidated data comprising the first attribute data from the plurality of rows of related attribute data appended next to the second attribute data from the plurality of rows of related attribute data.

### Claim 8 (depends on 7)

The system of claim 7, wherein the join cardinality for each root object of the plurality of roots objects corresponds to a number of rows of the plurality of rows of related attribute data linked to a respective root object of the plurality of root objects.

### Claim 9 (depends on 7)

The system of claim 7, wherein a plurality of single aggregation rows with join cardinalities of one are grouped together, and wherein the causing presentation of the user interface comprises collapsing the plurality of single aggregation rows that are grouped together into a single collapsed row.

### Claim 10 (depends on 7)

The system of claim 7, further comprising:
exporting of a dataset that comprises the plurality of root objects ordered based on the join cardinality of each root object, and the corresponding single aggregation row of consolidated data after the aggregation computation has been performed.

### Claim 11 (depends on 7)

The system of claim 7, wherein the corresponding single aggregation row of consolidated data further comprises concatenation data generated by applying the concatenation operation to the plurality of rows of related attribute data corresponding to each root object.

### Claim 12 (depends on 7)

The system of claim 7, wherein the one or more aggregation types comprise a maximum value operation, wherein the aggregation row comprises a maximum value generated by applying the maximum value operation to the plurality of rows of related attribute data corresponding to each root object, and wherein the maximum value is a single numeric value.

### Claim 13

A non-transitory storage medium comprising executable instructions that when executed by a processor cause the processor to:
obtain a joined dataset based on a plurality of root objects, that comprises, for each of the plurality of root objects, a plurality of rows of related attribute data linked to each root object as a result of a join operation, each root object of the plurality of root objects comprising a join cardinality;
provide a user interface to present aggregation type selection data that allows a user to select one or more aggregation types from a plurality of different types of aggregation operations to apply to the plurality of rows of related attribute data;
perform an aggregation computation of the one or more selected aggregation types on the plurality of rows of related attribute data corresponding to each root object of the plurality of root objects to produce a corresponding single aggregation row of consolidated data for each root object, the consolidated data comprising an average of the plurality of rows of related attribute data corresponding to each root object or a first attribute data from the plurality of rows of related attribute data appended next to a second attribute data from the plurality of rows of related attribute data; and
cause presentation of the user interface that presents each root object of the plurality of root objects with the corresponding single aggregation row of consolidated data resulting from the aggregation computation, the plurality of root objects being ordered on the user interface based on the join cardinality of each root object of the plurality of root objects,
wherein at least one of the one or more selected aggregation types comprise a concatenation operation, the concatenation operation comprising appending the first attribute data to the second attribute data, and the consolidated data comprising the first attribute data from the plurality of rows of related attribute data appended next to the second attribute data from the plurality of rows of related attribute data.

### Claim 14 (depends on 13)

The non-transitory storage medium of claim 13, wherein the join cardinality for each root object of the plurality of roots objects corresponds to a number of rows of the plurality of rows of related attribute data linked to a respective root object of the plurality of root objects.

### Claim 15 (depends on 13)

The non-transitory storage medium of claim 13, wherein a plurality of single aggregation rows with join cardinalities of one are grouped together, and wherein the causing presentation of the user interface comprises collapsing the single aggregation rows that are grouped together into a single collapsed row.

### Claim 16 (depends on 13)

The non-transitory storage medium of claim 13, further comprising:
exporting of a dataset that comprises the plurality of root objects, ordered based on the join cardinality of each root object, and the corresponding single aggregation row of consolidated data after the aggregation computation has been performed.

### Claim 17 (depends on 13)

The non-transitory storage medium of claim 13, wherein the corresponding single aggregation row of consolidated data further comprises concatenation data generated by applying the concatenation operation to the plurality of rows of related attribute data corresponding to each root object.

### Claim 18 (depends on 13)

The non-transitory storage medium of claim 13, wherein the one or more aggregation types comprise a maximum value operation, wherein the aggregation row comprise a maximum value generated by applying the maximum value operation to the plurality of rows of related attribute data corresponding to each root object, and wherein the maximum value is a single numeric value.
