IP Library Granted Patent US 10,545,978
Granted Patent B1
US 10,545,978 · App. 15/195,059 · Granted Jan 28, 2020

Transforming datasets with nested data structures

Inventors: Edward Eli Marschner (San Francisco, CA); Sean Philip Kandel (San Francisco, CA); Chris Beavers (San Francisco, CA); Adam Silberstein (Sunnyvale, CA); Alon Bartur (San Francisco, CA)
Assignee: Trifacta Inc.
G06F16/254G06F16/252
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,545,978
App. No.
15/195,059
Granted
Jan 28, 2020
Kind
B1
Abstract

A data preprocessing system builds transformation scripts for preprocessing datasets for processing by a data analysis system. The data preprocessing system presents various representations of data of a dataset including visual representations, textual representations, or structural representations. The data preprocessing system receives selections of attributes or values based on these representations. The data preprocessing system generates recommendations of transformations based on the attributes or values selected. The data preprocessing system builds a transformation script based on the recommendations of the transformations. The transformation script can be used for preprocessing the dataset for analysis by a data analysis system.

Claims (71)

1. A method for preprocessing data for analysis, the method comprising:

receiving, at a data preprocessing system, a dataset comprising a plurality of records, each record comprising values of a plurality of attributes, the dataset including one or more composite attributes, each composite attribute comprising a plurality of attributes;

configuring for display, attributes of the dataset as columns, the display of an attribute presenting a visual representation comprising shapes representing statistical information describing the attribute indicating a distribution of values of the attribute within the plurality of records, and wherein the visual representation of a composite attribute comprises shapes representing statistical information indicating a distribution of top level attributes of the composite attribute within the plurality of records; and

building a transformation script comprising a sequence of transformations, the building comprising, iteratively:

receiving a selection of a composite attribute of the dataset;

receiving a selection of one or more attributes of the selected composite attribute, the selection identifying one or more shapes from the visual representation of the selected composite attribute;

for each selected attribute of the composite attribute, determining a recommended transformation for extracting values of the selected attribute from values of the selected composite attribute;

adding at least a subset of the determined recommended transformations to the sequence of transformations of the transformation script;

preprocessing the dataset using the transformation script; and

sending the preprocessed dataset to a data analysis system, for analysis by the data analysis system.

2. The method of claim 1 , wherein the composite attribute is a first composite attribute and at least one selected attribute of the composite attribute is a second composite attribute, and wherein responsive to extracting the selected attribute from the first composite attribute:

receiving a selection of one or more attributes of the second composite attribute;

for each of the selected attributes of the second composite attribute, configuring for display one or more new columns, each new column associated with a recommended transformation for extracting the attribute from the composite attribute; and

including one or more recommended transformations for extracting attributes from the second composite attribute in the transformation script.

3. The method of claim 1 , wherein building the transformation script further comprises:

displaying new columns storing results of the recommended transformations based upon values of the selected attributes corresponding to the recommendation transformations;

receiving selections of one or more of the new columns; and

wherein the one or more recommended transformations added to the transformation script correspond to the selected new columns.

4. The method of claim 1 , wherein the display of a column corresponding to an attribute further comprises display of values of the attribute in text form.

5. The method of claim 4 , wherein the selection of an attribute of the composite attribute is received via one of the visual representation or the textual representation, and wherein:

responsive to the selection of the attribute via the visual representation, a first set of recommended transformations is determined for extracting the attribute from the composite attribute, and

responsive to the selection of the attribute via the textual representation, a second set of transformations is determined for extracting the attribute from the composite attribute.

6. The method of claim 1 , wherein a value of the composite attribute is represented as a plurality of name-value pairs.

7. The method of claim 6 , wherein responsive to receiving a selection of a name of an attribute of the composite attribute, generating a transformation for extracting all values corresponding to the name and displaying the values as a new column, wherein each value of the new column includes a value if the corresponding value of the composite attribute includes a name-value pair having the name.

8. The method of claim 6 , wherein responsive to receiving a selection of a value from a name-value pair of the composite attribute, generating a transformation for filtering records including the composite attribute.

9. The method of claim 1 , wherein the visual representation of the composite attribute displays frequency of occurrence of attributes of the composite attribute within the column of the dataset storing the composite attribute.

10. The method of claim 1 , wherein receiving the selection of one or more attributes of a composite attribute comprising receiving a selection of information identifying the attribute in the textual representation of the values of the composite attribute.

11. The method of claim 1 , wherein visualization of a simple attribute displays an indication of frequency of each distinct value of the simple attribute in the column corresponding to the simple attribute.

12. The method of claim 1 , wherein the transformation script comprises instructions for extracting attributes of a first composite attribute, the method further comprising:

receiving mapping one or more attributes of the first composite attribute to attributes of a second composite attribute, and

determining instructions for extracting attributes of the second composite attribute by modifying the instructions for extracting attributes of the first composite attribute based on the mapping.

13. A method for preprocessing data for analysis, the method comprising:

receiving, at a data preprocessing system, a dataset comprising a plurality of records, each record comprising values of a plurality of attributes, the dataset including one or more composite attributes, each composite attribute comprising a plurality of attributes;

configuring for display, attributes of the dataset as columns, the display of an attribute presenting a visual representation comprising shapes representing statistical information describing the attribute indicating a distribution of values of the attribute within the plurality of records, and wherein the visual representation of a composite attribute comprises shapes representing statistical information indicating a distribution of top level attributes of the composite attribute within the plurality of records; and

building a transformation script comprising a sequence of transformations, the building comprising, iteratively:

receiving a selection of a composite attribute of the dataset;

receiving a selection of one or more attributes of the selected composite attribute, the selection identifying one or more shapes from the visual representation of the selected composite attribute;

determining a recommended transformation corresponding to each selected attribute of the composite attribute, the recommended transformation extracting values of the selected attribute from values of the selected composite attribute;

adding at least a subset of the determined recommended transformations to the sequence of transformations of the transformation script.

14. The method of claim 1 , wherein the display of a column corresponding to an attribute further comprises display of values of the attribute in text form and wherein the selection of an attribute of the composite attribute is received via one of the visual representation or the textual representation, and wherein:

responsive to the selection of the attribute via the visual representation, a first set of recommended transformations is determined for extracting the attribute from the composite attribute, and

responsive to the selection of the attribute via the textual representation, a second set of transformations is determined for extracting the attribute from the composite attribute.

15. The method of claim 13 , wherein a value of the composite attribute is represented as a plurality of name-value pairs and wherein responsive to receiving a selection of a value from a name-value pair of the composite attribute, generating a transformation for filtering records including the composite attribute.

16. The method of claim 13 , wherein the display of a column corresponding to an attribute further comprises display of values of the attribute in text form, wherein the selection of an attribute of the composite attribute is received via one of the visual representation or the textual representation, and wherein:

responsive to the selection of the attribute via the visual representation, a first set of recommended transformations is determined for extracting the attribute from the composite attribute, and

responsive to the selection of the attribute via the textual representation, a second set of transformations is determined for extracting the attribute from the composite attribute.

17. A computer readable non-transitory storage medium storing instructions for:

receiving, at a data preprocessing system, a dataset comprising a plurality of records, each record comprising values of a plurality of attributes, the dataset including a composite attribute comprising a plurality of attributes;

configuring for display, attributes of the dataset as columns, the display of an attribute presenting a visual representation comprising shapes representing statistical information describing the attribute indicating a distribution of values of the attribute within the plurality of records, and wherein the visual representation of the composite attribute comprises shapes representing statistical information indicating a distribution of attributes of the composite attribute within the plurality of records; and

building a transformation script comprising a sequence of transformations, the building comprising, iteratively:

receiving a selection of one or more attributes of the composite attribute, the selection identifying one or more shapes from the visual representation of the composite attribute;

determining a recommended transformation corresponding to each selected attribute of the composite attribute, the recommended transformation extracting values of the selected attribute from values of the composite attribute;

adding at least a subset of the determined recommended transformations to the sequence of transformations of the transformation script;

preprocessing the dataset using the transformation script; and

sending the preprocessed dataset to a data analysis system, for analysis by the data analysis system.

18. The computer readable non-transitory storage medium of claim 17 , wherein the display of a column corresponding to an attribute further comprises display of values of the attribute in text form and wherein the selection of an attribute of the composite attribute is received via one of the visual representation or the textual representation, and wherein:

responsive to the selection of the attribute via the visual representation, a first set of recommended transformations is determined for extracting the attribute from the composite attribute, and

responsive to the selection of the attribute via the textual representation, a second set of transformations is determined for extracting the attribute from the composite attribute.

19. The computer readable non-transitory storage medium of claim 17 , wherein a value of the composite attribute is represented as a plurality of name-value pairs and wherein responsive to receiving a selection of a value from a name-value pair of the composite attribute, generating a transformation for filtering records including the composite attribute.

20. A computer system, comprising:

a computer processor; and

a computer readable non-transitory storage medium storing instructions that cause the computer processor to perform steps for:

receiving a dataset comprising a plurality of records, each record comprising values of a plurality of attributes, the dataset including one or more composite attributes, each composite attribute comprising a plurality of attributes;

configuring for display, attributes of the dataset as columns, the display of an attribute presenting a visual representation comprising shapes representing statistical information describing the attribute indicating a distribution of values of the attribute within the plurality of records, and wherein the visual representation of a composite attribute comprises shapes representing statistical information indicating a distribution of top level attributes of the composite attribute within the plurality of records; and

building a transformation script comprising a sequence of transformations, the building comprising, iteratively:

receiving a selection of a composite attribute of the dataset;

receiving a selection of one or more attributes of the selected composite attribute, the selection identifying one or more shapes from the visual representation of the selected composite attribute;

determining a recommended transformation corresponding to each selected attribute of the composite attribute, the recommended transformation extracting values of the selected attribute from values of the selected composite attribute;

adding at least a subset of the determined recommended transformations to the sequence of transformations of the transformation script;

preprocessing the dataset using the transformation script; and

sending the preprocessed dataset to a data analysis system, for analysis by the data analysis system.

Assignments (4)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 25, 2024
From: ALTERYX, INC.; TRIFACTA INC.
To: SSLP LENDING, LLC
Reel/Frame 066879/0585 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVERYANCE TYPE ROM "NAME CHANGE" TO--ASSIGNMENT-- PREVIOUSLY RECORDED AT REEL: 062144 FRAME: 0729. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 11, 2023
From: TRIFACTA INC.
To: ALTERYX, INC.
Reel/Frame 062357/0534 →
CHANGE OF NAME Recorded Dec 19, 2022
From: TRIFACTA INC.
To: ALTERYX, INC.
Reel/Frame 062144/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2017
From: MARSCHNER, EDWARD ELI; KANDEL, SEAN PHILIP; BEAVERS, CHRIS; SILBERSTEIN, ADAM; BARTUR, ALON
To: TRIFACTA INC.
Reel/Frame 043001/0507 →
Continuity (1)
Provisional Application 62186028 · Jun 29, 2015
Cited By (1)
US 12,547,596