Skip to main content

Replace Groups of Values

Whether data is missing, mismatched, or simply wrong, you can use a variety of methods in the Cloud Portal to replace values in one or more columns with literal values or pattern-based replacements.

Replacement methods

In the Transformer page, you can use the following methods to replace values:

Method

Description

By selection

Select a value in the data grid to prompt a series of suggestions on what to do with the data. Typically, replacement options are near the top of the suggestions.

Tip

You can replace specific values in a column with a preferred value. For more information, see Replace Cell Values.

By column menu

From the column menu, select Replace and a sub-menu item to begin configuring a replacement transformation.

By Transformer toolbar

At the top of the data grid, click the Replace icon in the Transformer toolbar to begin configuring replacements.

By Search panel

In the Search panel, enter replace to build a replacement transformation from scratch.

Replace by selection

When you select data in the data grid, the replacement suggestions are pre-specified for you, including a number of variants available in the suggestion card.

Notes:

  • Suggestions are typically conservative in the scope of their changes. Case-sensitive searches and matching of the first occurrence only are the default settings.

  • Order of listing of suggestions in a suggestion card:

    • Pattern-based replacements are listed first. These replacements use Wrangle , instead of regular expressions. Regular expressions can be more difficult to control.

    • Literal value replacements are listed below the pattern-based ones.

For more information, seeOverview of Predictive Transformation.

Mask data

For privacy reasons or for sensitivity reasons, you may wish to mask sensitive data in one or more columns with fixed strings.

Delete whole column(s)

If you need to remove the data in an entire column, the easiest method is to delete a column. Select one or more columns and then select Delete from the column drop-down. See Remove Data.

Masking all values

You can use a transformation like the following to replace all values in a column with a simple string. In this case, the value #REDACTED# has been inserted in place of all values in the column.

Note

This replacement changes the data type of the column to String. If you must retain the original data type, the replacement value should be valid for the data type.

Transformation Name

Edit column with formula

Parameter: Columns

transactionValue

Parameter: Formula

'#REDACTED#'

Partial masking of values

Suppose you wish to partially mask data in a column. In the following example, data for the AcctNum column is masked, except for the last four characters (digits):

Transformation Name

Edit column with formula

Parameter: Columns

AcctNum

Parameter: Formula

value: merge(['XXXX',right(AcctNum, 4)], '')

Mask multiple columns based on data type

You can use the following type of transformation to hide data based on data type. In this example, the values in all columns with Social Security Number (SSN) are replaced with a masking value: XXX-XX-XXXX:

Warning

This method performs a simple text replacement of the data in the columns(s). After this transformation has been applied to the data, the source data is no longer available, unless you step back to a step before this one. For these kinds of operations, you may find it more secure to apply these kinds of masking operations to the source data in a single recipe and then make that output available to other users to use as an imported dataset.

Transformation Name

Edit column with formula

Parameter: Columns

All

Parameter: Formula

if(isvalid($col, ['SSN']), 'XXX-XX-XXXX', $col)

Replace with values from another column

Replace whole column

You can do simple replacements of data from one column into another with transformations like the following. In this example, the values of colB are replaced with the values of colA with 0.15 added to them:

Transformation Name

Edit with formula

Parameter: Columns

colB

Parameter: Formula

colA + 0.15

Replace partial values from another column

You can use the MERGE function to blend full or partial sets of columns into a new column. In the following example, the newBrandId value is concatenated with the product code in the ProdId column to create a new product identifier:

Transformation Name

Edit with formula

Parameter: Columns

ProdId

Parameter: Formula

merge([newBrandId, right(prodId, 5)], '-')

Replace between positions

You can perform replacements based on character positions that you specify as part of the transformation.

  • The beginning character value is specified as a number from 0, which starts on the left.

  • The ending character value must be equal to or greater than the beginning character value.

In the following example, the Whse_Name column values are prepended with the value old-.

Transformation Name

Replace by position

Parameter: Column

Whse_name

Parameter: Start position

0

Parameter: End position

0

Parameter: Replace with

old-

Search and replace text or pattern

You can search and replace content in your dataset based on literals or patterns. In the following example, the value ##CLT_NAME## is replaced with Our Customer, Inc. across all columns in the dataset:

Transformation Name

Replace text or patterns

Parameter: Column

All

Parameter: Find

'##CLT_NAME##'

Parameter: Replace with

'Our Customer, Inc.'

Parameter: Match all occurrences

true

Replace missing values

Replace missing with zeroes

For numeric data, you may choose to replace values that are missing in a column with zeros. The following transformation sets missing values in the Qty and DiscountPct columns of Decimal data type to 0:

Transformation Name

Edit column with formula

Parameter: Columns

Qty,DiscountPct

Parameter: Formula

if(ismissing([$col]), '0', $col)

Replace missing with average values

One of the problems with the above method is that any statistical computations applied to the column are now affected by the zeroing of the missing values. For example, the computation for the AVERAGE function does not factor in missing values into the count of rows, which result in skewing of values for your purposes.

The following example creates a new column from the DiscountPct column in which empty values are inserted as the average of the values in the source column:

Transformation Name

New formula

Parameter: Formula type

Single row formula

Parameter: Formula

if(ismissing([DiscountPct]), average(DiscountPct), DiscountPct)

Parameter: New column name

DiscountPct-0toAVG

In this manner, the new column can be used for some statistical modeling, while preserving the original values in the original column.

Replace mismatched values

You can perform replacements based on the values in a column that are mismatched against a specified type.

In the following example, Datetime values that do not match the yyyy*mm*dd, where the asterisk (*) is a wildcard value.

Transformation Name

Replace mismatched values

Parameter: Columns

Multiple

Parameter: Column 1

myDate

Parameter: Data type to evaluate

Date/Time

Parameter: Date/Time type

yyyy*mm*dd

Parameter: Replace with

Custom value

Parameter: New value

'##BAD_DATE##'

Note

In the above example, the Date/Time type parameter applies only to replacements that are mismatched against the Date/Time data type. This parameter is used to specify the Datetime format against which the source values are validated. The parameter does not appear in Replace mismatched values transformations for other data types.