Rename Columns
In the Trifacta Application, you can rename individual columns through the column drop-down. Through transform steps, you can apply renaming to one or more columns.
Note
An imported dataset requires about 15 rows to properly infer column data types and the row, if any, to use for column headers.
Name Requirements
Column names are case-insensitive and cannot begin with whitespace.
Column names cannot contain escaped characters, such as
\n
.
Note
When publishing to Avro,Parquet, or database tables, column names support alphanumeric characters and the underscore (_) character only. Column names cannot begin with a numeral. Other characters cause an error to occur.
Note
Column names with spaces or special characters in a transformation must be wrapped by curly braces. Example:
column1,{Column 2 with space},column3
Tip
To prevent potential issues with downstream systems, you should limit your column lengths to no more than 128 characters.
Reserved keywords
The following keywords should not be used as column names, as they may conflict with underlying requirements of the platform or the running environments with which it integrates:
Note
This list may not be complete. If your job fails with a duplicate column error, please review your column names to identify potential reserved keywords among them.
TRIFACTA__LINEAGE_INFO
TRIFACTA__FILE_LINEAGE_INFO
Note
There are two underscore characters in a row (__) after
TRIFACTA
in each of the above entries.
Rename Individual Columns
Rename a column through suggestions
Steps:
If your column already exists, click the name of the column.
Click the Rename suggestion card.
Click Modify.
Replace the
newColumnName
value with your preferred column name.
Rename a column through transformation
You can use the following transformation to rename a single column through the Transform Builder. In this case, the Rename columns transformation is used to perform a manual rename of MySourceCol
to MyNewCol
.
Transformation Name |
|
---|---|
Parameter: Option | Manual rename |
Parameter: Column | MySourceCol |
Parameter: New name | MyNewCol |
Rename a new column
Columns that are generated through transform steps are given a default name.
For the following types of transforms, however, you can specify the column name as part of the step:
derive
extractkv
merge
nest
When a transform is added to the recipe, an as:
clause is automatically added to the transform step. You can modify your transform to change the value of the as:
column. For example, the following transform generates a new column with the first word from the Name
column. The as:
value renames this generated column as FirstName
:
Transformation Name |
|
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | FIND(Name,`{start} `,false,0) |
Parameter: New name | FirstName |
Auto-Generated Column Names
When your transforms generate new columns, names are automatically assigned to these columns based on the following pattern.
If the transform includes a function reference, the function name is included in the new column. Example:
Transformation Name
New formula
Parameter: Formula type
Single row formula
Parameter: Formula
LEFT(city,3)
New column name:
left_city
If the above step is applied again, a duplicate column is generated with the following name. Example:
Transformation Name
New formula
Parameter: Formula type
Single row formula
Parameter: Formula
LEFT(city,3)
New column name:
left_city1
If the transform does not contain a function reference, the following convention is used:
Transformation Name
New formula
Parameter: Formula type
Single row formula
Parameter: Formula
'A'
New column name:
column1
Transformation Name
New formula
Parameter: Formula type
Single row formula
Parameter: Formula
'B'
New column name:
column2
Rename Multiple Columns
Designer Cloud Powered by Trifacta Enterprise Edition enables to rename multiple columns using a single transformation. You can perform this batch renaming using one of the methods described in this section.
Note
OTE: In macros, Rename Columns transformations do not work. This is a known issue.
Tip
To prevent potential issues with downstream systems, you should limit your column lengths to no more than 128 characters.
Steps:
Open the Transform Builder to add a new step to your recipe.
From the drop-down in the first textbox, select
Rename columns
.Select your method of renaming. See below.
Select the column or columns to which to apply the rename.
Tip
To apply the renaming across all columns in the dataset, select All. This option is useful for pattern-based renames, such as adding a prefix or changing case.
To add the step to your recipe, click Add.
Manual rename multiple columns
For each column that you select, you must add the new name just below the old one.
To add additional columns to the mapping, click Add.
To remove columns from the mapping, click Remove.
Add prefix
For the selected columns, you can apply a specific prefix value to the names.
Old Column Names | Prefix | New Column Names |
---|---|---|
column1 | pre_ | pre_column1 |
column2 | pre_ | pre_column2 |
column3 | pre_ | pre_column3 |
Transformation:
Transformation Name |
|
---|---|
Parameter: Option | Add prefix |
Parameter: Column | column1,column2,column3 |
Parameter: Prefix | pre_ |
Add suffix
For the selected columns, you can apply a specific suffix value to the names. Example:
Old Column Names | Suffix | New Column Names |
---|---|---|
column1 | _new | column1_new |
column2 | _new | column2_new |
column3 | _new | column3_new |
Transformation:
Transformation Name |
|
---|---|
Parameter: Option | Add suffix |
Parameter: Column | column1,column2,column3 |
Parameter: Suffix | _new |
Apply rename to all columns
The following transformation performs the same rename as the previous one. Instead, it uses the All option to apply the rename across all columns of the dataset. If the number of columns changes in the future, then the rename is still applied across all of the columns in the dataset.
Transformation:
Transformation Name |
|
---|---|
Parameter: Option | Add suffix |
Parameter: Columns | All |
Parameter: Suffix | _new |
Convert to lowercase
For the selected columns, you can convert the columns names to lowercase. Example:
Old Column Names | New Column Names |
---|---|
Daily | daily |
POS_Cost | pos_cost |
Sales_Type | sales_type |
Transformation:
Transformation Name |
|
---|---|
Parameter: Option | Convert to lowercase |
Parameter: Column | Daily,POS_Cost,Sales_Type |
For example, if the old column name is Sales_Type
, then the new column name is renamed to sales_type
.
Convert to UPPERCASE
For the selected columns, you can convert the columns names to uppercase. Example:
Old Column Names | New Column Names |
---|---|
Daily |
|
POS_Cost | POS_COST |
Sales_Type | SALES_TYPE |
Transformation:
Transformation Name |
|
---|---|
Parameter: Option | Convert to UPPERCASE |
Parameter: Column | Daily,POS_Cost,Sales_Type |
For example, if the old column name is Sales_Type
, then the new column name is renamed to SALES_TYPE
.
Keep from beginning (left)
For the selected columns, you can specify the number of characters to keep from the beginning (left) of the column names. Based on the number of characters you provide, the column name is updated. Example:
Old Column Names | Number of characters | New Column Names |
---|---|---|
Daily | 3 |
|
POS_Cost | 3 | POS |
Sales_Type | 3 | Sal |
Transformation:
Transformation Name |
|
---|---|
Parameter: Option | Keep from beginning (left) |
Parameter: Column | Daily,POS_Cost,Sales_Type |
Parameter: Number of characters | 3 |
For example, if the old column name is Sales_Type
, then based on the number of characters to keep from the beginning (left) is 3, then new column name is renamed to Sal
.
Keep from end (right)
For the selected columns, you can specify the number of characters to keep from end (right) of the column names. Based on the number of characters you provide, the column name is updated. Example:
Old Column Names | Number of characters | New Column Names |
---|---|---|
Daily | 4 |
|
POS_Cost | 4 | Cost |
Sales_Type | 4 | Type |
Transformation:
Transformation Name |
|
---|---|
Parameter: Option | Keep from beginning (right) |
Parameter: Column | Daily,POS_Cost,Sales_Type |
Parameter: Number of characters | 4 |
For example, if the old column name is Sales_Type
, then based on the number of characters to keep from the end (right) is 4, then new column name is renamed to Type
.
Note
OTE: If the number of characters are more than the length of the column names, then the whole name of the column is retained.
Find and replace
You can apply literals, Wrangle , or regular expressions to match patterns of text in the source column names. These matching values can then be replaced by a fixed value.
Tip
The default behavior is to replace the first instance. Use the Match all occurrences checkbox to apply the pattern matching across all columns in your set.
For the selected columns, you can specify the number of characters to keep from end (right) of the column names. Based on the number of characters you provide, the column name is updated. Example:
Old Column Names | New Column Names |
---|---|
column1 |
|
column2 |
|
column3 |
|
Transformation:
Transformation Name |
|
---|---|
Parameter: Option | Find and replace |
Parameter: Column | column1,column2,column3 |
Parameter: Find | 'column' |
Parameter: Replace with | 'Field' |
The above uses literal values for find and replace. For more information on pattern-based matching, see Text Matching.
Use row(s) as column names
When this method is applied, all of the values in the specified row or rows are used as the new names for each column.
Note
This method applies to all columns in the dataset.
Types:
Type | Description |
---|---|
Use a single row to rename columns | Specify the row number in the sample to use as the source for column names. Note Source row number information must be available. See below. |
Use the first row in the sample to rename columns | Use the first row in the sample as the name for all columns. |
Combine multiple rows to rename columns | Specify two or more rows to combine into column names. Details are below. Note Source row number information must be available. See below. |
Source row number information:
Note
If source row number information is no longer available, this method cannot be used for column rename.
If a value is not applied for the source row number, the next row of data is used.
Source row numbers apply. Current row numbers may not be the same. In the data grid, mouse over the leftmost column to see available row information.
Each value in the row or combination of values across rows must be unique within the set of new column names.
The row is removed from its original position.
If the product is unable to find unique multi-row headers for the column, the first row of the header set is used.
Combine multiple rows
The following transformation renames the columns in the dataset based on the values in rows 3 and 4 of the data:
Transformation Name |
|
---|---|
Parameter: Option | Use row(s) as column names |
Parameter: Type | Combine multiple rows to name columns |
Parameter: Row Numbers - row A | 3 |
Parameter: Row Numbers - row B | 4 |
Parameter: Choose your separator | '_' |
Parameter: Fill across? | Selected |
In the above:
The separator is defined as an underscore character (
_
). This value can be empty.When Fill across is selected, if any row value is empty, the last non-empty value for the row in a previous column is used as part of the column header.