Overview of Standardization
Designer Cloud Powered by Trifacta Enterprise Edition provides multiple mechanisms for reviewing your column values and identifying patterns in the data format or similar values which mean the same thing. This section summarizes the available methods of standardization, as well as their recommended uses.
Standardization Methods
Through simple visual tools, you can select the patterns or clustered value to standardize and, when prompted, the patterns or values to use as their standard. As needed, you can apply formatting or structuring functions to the data for finer grain controls.
You can use any of the following methods for standardizing values in your dataset's columns. Depending on the situation, you may choose to mix-and-match these methods. Details on these methods are below.
Method | Description | Recommended Uses | How to Use |
---|---|---|---|
By clustering | Designer Cloud Powered by Trifacta Enterprise Edition can identify similar values using one of the available algorithms for comparing values. You can compare values based on spelling or language-independent pronunciation. |
| Available through theStandardize Page |
By pattern | Designer Cloud Powered by Trifacta Enterprise Edition can identify common patterns in a set of values and suggest transformations to standardize the values to a common format. |
| Available in the Patterns tab in Column Details Panel |
By function | You can apply one or more specific functions to cleanse your data of minor errors in formatting or structure. |
| Edit column with formula in the Transform Builder. |
Mix-and-match | You can use combinations of the above methods for more complex use cases. |
|
Invalid Values
These standardization techniques assume that your column contains only valid or empty values.
Tip
Standardization may help to cut down the number of invalid values. Before you begin standardizing, however, you should select the red bar in the column histogram to review the values that are invalid for the current type and to fix them via suggestion if possible. For more information, see Find Bad Data.
Standardize Values by Clustering
Using one of the supported matching algorithms, Designer Cloud Powered by Trifacta Enterprise Edition can cluster together similar column values. You can review the clusters of values to determine if they should be mapped to the same value. If so, you can apply the mapping of these values within the application.
For more information, see Overview of Cluster Clean.
Standardize Formatting by Patterns
For individual columns, Designer Cloud Powered by Trifacta Enterprise Edition can analyze column values for patterns and then provide suggestions for how to normalize the patterned values into a consistent format. For example, the same US phone number can be represented in any of the following methods:
555-1212 415-555-1212 4155551212 (415) 555-1212 +1 (415) 555-1212
Tip
Pattern-based standardization is useful for confirming values in a column to a specific format. This method is applicable to data types like phone numbers, dates, social security numbers, and to a lesser extend email addresses and URLs.
You can apply pattern-based standardization through the Patterns tab. See Column Details Panel.
Standardize Using Functions
The following functions can be useful for standardizing values.
Functions for strings
All values can be converted to string, so these string functions can be applied to any column if its data type is converted to String data type.
Tip
The clustering algorithms may apply some of these functions to values in your column for purposes of comparison.
Category | Function | Description |
---|---|---|
String Conversion | Generates the Unicode character corresponding to an inputted Integer value. | |
Generates the Unicode index value for the first character of the input string. | ||
Case Conversion | All alphabetical characters in the input value are converted to uppercase in the output value. | |
All alphabetical characters in the input value are converted to lowercase in the output value. | ||
Converts an input string to propercase. Input can be a column reference or a string literal. | ||
Cleanse Functions | Removes leading and trailing whitespace from a string. Spacing between words is not removed. | |
Removes leading and trailing quotes or double-quotes from a string. Quote marks in the middle of the string are not removed. | ||
Removes all whitespace from a string, including leading and trailing whitespace and all whitespace within the string. | ||
Removes all characters from a string that are not letters, numbers, accented Latin characters, or whitespace. | ||
String Sizing Functions | Matches the leftmost set of characters in a string, as specified by parameter. The string can be specified as a column reference or a string literal. | |
Matches the right set of characters in a string, as specified by parameter. The string can be specified as a column reference or a string literal. | ||
Pads string values to be a specified minimum length by adding a designated character to the left or right end of the string. Returned value is of String type. | ||
String Comparison Functions | See Compare Strings. |
Example:
Designer Cloud Powered by Trifacta Enterprise Edition supports nesting functions within each other. The following transformation performs some basic cleanup on all columns in your dataset that are of String cleanup.
Transformation Name |
|
---|---|
Parameter: Columns | * |
Parameter: Formula | IFVALID($col,'String',LEFT(UPPER(TRIM($col)),32)) |
The Columns value is a wildcard, which in this case applies the transformation across all columns in the dataset (
*
).In the Formula, you see a nested expression. If the value in the column is valid against String data type, then, do the following to the column value:
Note
The IFVALID function tests each row value for validation against the specified data type. It does not test the column against the data type. See IFVALID Function.
The TRIM function removes leading and trailing whitespace, which may register as a difference between values. See TRIM Function.
The UPPER function then converts the output of the TRIM function to all uppercase. So, differences in capitalization are eliminated. See UPPER Function.
The LEFT function truncates the output of the UPPER function to a maximum of 32 characters. See LEFT Function.
The net result of this single step applied to all columns is to eliminate whitespace, convert to uppercase, and then truncate the length of each string to only 32 characters.
For more information, see Cleanse Tasks.
Functions for numbers
You can use the following functions to standardize numeric values.
Function | Description |
---|---|
Computes the absolute value of a given numeric value. The value can be a Decimal or Integer literal or a reference to a column containing numeric values. | |
Rounds input value to the nearest integer. Input can be an Integer, a Decimal, a column reference, or an expression. Optional second argument can be used to specify the number of digits to which to round. | |
Removes all digits to the right of the decimal point for any value. Optionally, you can specify the number of digits to which to round. Input can be an Integer, a Decimal, a column reference, or an expression. | |
Formats a numeric set of values according to the specified number formatting. Source values can be a literal numeric value, a function returning a numeric value, or reference to a column containing an Integer or Decimal values. |
Example:
For the NUMFORMAT function, you can specify the full format to which you want the numeric values in the column to confirm. In the following example, all values that contain a decimal point and match with the Decimal (Float) type are forced to add a value before the decimal. This step converts values like .00
to 0.00
, which standardizes the format of your numbers.
Transformation Name |
|
---|---|
Parameter: Columns | * |
Parameter: Formula | IF(FIND($col, '.')>0, IFVALID($col, 'Float',NUMFORMAT(ROUND($col,2), '0.00')),$col) |
The Columns value is a wildcard, which in this case applies the transformation across all columns in the dataset (
*
).In the Formula, you see a nested expression, which is a bit more complicated than the preceding String example.
The outer IF function tests if the FIND function returns a non-zero value when searching each column value for the period (
.
). Values that match could possibly be decimals and require further evaluation:If the value in the column is valid against the Decimal (Float) data type then do the following:
ROUND the value to two decimal points. For more information, see ROUND Function.
Format the value in the following manner:
0.00
The above format includes the two decimal points to which you rounded, adding any extra zeros if they are not present in the input rounded value.
Additionally, another zero is inserted in front of the decimal if it is missing in the output of the ROUND function.
For more information on number formats, see NUMFORMAT Function.
For more information, see Normalize Numeric Values.
Functions for dates
Since dates are structured patterns of string-based data, the best approach is to begin by using the Patterns tab in the Column Details panel. See below.
For more detailed modifications, you can specify formatting strings that are applied as part of the DATEFORMAT function to the dates in your column.
Function | Description |
---|---|
Formats a specified Datetime set of values according to the specified date format. Source values can be a reference to a column containing Datetime values. |
For more information including examples on the DATEFORMAT function, see Format Dates.
Custom Data Types
You can create custom datatypes to use as a form of standardization. Values in a column that do not conform to the custom type are flagged as invalid and can be triaged accordingly.
Note
A custom data type does not inherently provide a means of standardizing the values. The values flagged as invalid must be converted to valid values or removed.
Custom type using a regular expression
A custom data type can be created based on a user-defined regular expression.
Note
Regular expressions are powerful tools for creating matching patterns. They are considered developer tools.
For more information, seeCreate Custom Data Types Using RegEx.