Dataflow Conversion Mapping

During conversion, dataflow functionality is mapped to similar recipe functionality. Consider the mapping specifications when evaluating the conversion of your dataflows to recipes.

Dataflow Transformations

At a glance dataflow to recipe conversion mapping.

Dataflow Conversion Recipe
append Check mark Append
augment Check mark Join
computeExpression Check mark Transform (Custom formula)
computeRelative

Some coverage mark

see parameters

Transform (Custom formula with multiple rows)
delta    
digest Check mark Input
dim2mea Check mark Transform (Dimension to measure)
edgemart Check mark Input
export

Some coverage mark

see parameters

Output (as .csv)
filter Check mark Filter
flatten Check mark Transform (Flatten)
prediction Check mark Discovery Predict
sfdcDigest

Some coverage mark

see parameters

Input and Transform
sfdcRegister Check mark Output
sliceDataset Check mark Transform (Drop columns)
update Check mark

Update

append
Dataflow Parameter Conversion Supported in Recipe
sources Check mark Append
enableDisjointedSchemaMerge Checkmark icon indicating true Append (Allow schema merge)
augment
Dataflow Parameter Conversion Supported in Recipe
operation Checkmark icon indicating true Join (lookup)
left Checkmark icon indicating true Join (lookup)
left_key Checkmark icon indicating true Join (lookup)
right Checkmark icon indicating true Join (lookup)
relationship Checkmark icon indicating true Join (lookup)
right_select Checkmark icon indicating true Join (lookup)
right_key Checkmark icon indicating true Join (lookup)
computeExpression
Dataflow Parameter Conversion Supported in Recipe
mergeWithSource Checkmark icon indicating true Transform (Drop columns)
saqlExpression Checkmark icon indicating true Transform (SQL in custom formula)
format Checkmark icon indicating true Transform (Custom formula)
fiscalMonthOffset  

Use Data Prep Date Configurations

See Data Prep Fiscal Configuration

isYearEndFiscalYear  

Use Data Prep Date Configurations

See Data Prep Fiscal Configuration

firstDayOfWeek  

Use Data Prep Date Configurations

See Data Prep Fiscal Configuration

precision Checkmark icon indicating true Transform (Custom formula)
scale Checkmark icon indicating true Transform (Custom formula)
defaultValue Half icon indicating sometimes true

Transform (Custom formula)

The defaultValue in dataflows support function calls. For example, now(). In recipes, function calls aren’t supported and the defaultValue must be a literal.

computeRelative
Dataflow Parameter Conversion Supported in Recipe
partitionBy Checkmark icon indicating true Transform (Custom formula with multiple rows)
orderBy Checkmark icon indicating true Transform (Custom formula with multiple rows)
computedFields.name Checkmark icon indicating true Transform (Custom formula with multiple rows)
computedFields.label Checkmark icon indicating true Transform (Custom formula with multiple rows)
computedFields.description    
computedFields.expression.sourceField Checkmark icon indicating true Transform (Custom formula with multiple rows)
computedFields.expression.offset Checkmark icon indicating true Transform (Custom formula with multiple rows)
computedFields.expression.default Checkmark icon indicating true Transform (Custom formula with multiple rows)
computedFields.expression.saqlExpression Half icon indicating sometimes true

Transform (Custom formula with SQL)

Self-referencing formulas don’t convert and aren’t supported. For example, using computeRelative to create a field “MyNewField”, which has SAQL expression referencing previous(MyNewField).

Achieve similar results using recipes. For example, if using computeRelative in dataflow to:

  • Aggregate based on data grouping, try using recipe Aggregate.
  • Concatenate a column’s multiple text values into a column based on a data grouping, try using recipe Join lookup with multivalue and Transformation custom formula with array_join.
  • Generate row numbers, try using recipe Transformation custom formula with row_number.
  • Be used in a filter to keep only the most recent records based on a data grouping - such as the last activity record for an account, try using recipe Aggregate and Filter.
computedFields.expression.type Checkmark icon indicating true Transform (Custom formula with multiple rows)
computedFields.expression.scale Checkmark icon indicating true Transform (Custom formula with multiple rows)

Delta transform isn’t supported in Recipes. To calculate changes over time, consider using a transformation node with windowing functions in multiple row custom formulas.

digest
Dataflow Parameter Conversion Supported in Recipe
connectionName Checkmark icon indicating true Input
object Checkmark icon indicating true Input
fields Checkmark icon indicating true Input
dim2mea
Dataflow Parameter Conversion Supported in Recipe
measureDefault Checkmark icon indicating true Transform (Dimension to measure)
measureType    

To extract all columns in a dataset, use the Include All Fields option in the Input node.

edgemart
Dataflow Parameter Conversion Supported in Recipe
alias Checkmark icon indicating true Input
export
Dataflow Parameter Conversion Supported in Recipe
source Checkmark icon indicating true Output (to .csv)
target    
userId    
filter
Dataflow Parameter Conversion Supported in Recipe
filter Checkmark icon indicating true Filter
saqlFilter Half icon indicating sometimes true

Filter (SQL filter expression)

SAQL like operator may not be converted (depending on complexity) and isn’t supported.

Use recipe Transformation custom formula with startsWith, endsWith, or contains.

flatten
Dataflow Parameter Conversion Supported in Recipe
include_self_id Checkmark icon indicating true Transform (Flatten)
self_field Checkmark icon indicating true Transform (Flatten)
parent_field Checkmark icon indicating true Transform (Flatten)
multi_field Checkmark icon indicating true Transform (Flatten)
path_field Checkmark icon indicating true Transform (Flatten)
prediction
Dataflow Parameter Conversion Supported in Recipe
predictionDefinitionName Checkmark icon indicating true Discovery Predict
predictionColumnName Checkmark icon indicating true Discovery Predict
predictionColumnLabel Checkmark icon indicating true Discovery Predict
sfdcDigest
Dataflow Parameter Conversion Supported in Recipe
object Checkmark icon indicating true Input
incremental    
fullRefreshToken    
fields Checkmark icon indicating true Input
filterConditions Checkmark icon indicating true Filter (Filter logic)
complexFilterConditions   Use Filter (SQL expression)
sfdcDigest
Dataflow Field Attributes Conversion Supported in Recipe
name Checkmark icon indicating true Input
defaultValue   Use Transform (Custom formula with case or coalesce)
type   Use Transform (Replace or Custom formula)
fiscalMonthOffset  

Use Data Prep Date Configurations

See Data Prep Fiscal Configuration

isYearEndFiscalYear  

Use Data Prep Date Configurations

See Data Prep Fiscal Configuration

firstDayOfWeek  

Data Prep Date Configurations

See Data Prep Fiscal Configuration

isMultiValue  

Use Transform (Custom formula multivalue functions)

See Multivalue Functions for Formulas

multiValueSeperator  

Use Transform (Custom formula multivalue functions)

See Multivalue Functions for Formulas

precision  

Use Transform (Edit attributes)

See Edit Attributes Transformation

scale  

Use Transform (Edit attributes)

See Edit Attributes Transformation

sfdcRegister
Dataflow Parameter Conversion Supported in Recipe
alias Checkmark icon indicating true Output
name Checkmark icon indicating true Output
source Checkmark icon indicating true Output
rowLevelSharingSource Checkmark icon indicating true Output
rowLevelSecurityFilter Checkmark icon indicating true Output
sliceDataset
Dataflow Parameter Conversion Supported in Recipe
source Checkmark icon indicating true Transform (Drop columns)
mode Checkmark icon indicating true Transform (Drop columns)
fields Checkmark icon indicating true Transform (Drop columns)
update
Dataflow Parameter Conversion Supported in Recipe
left Checkmark icon indicating true Update
right Checkmark icon indicating true Update
left_key Checkmark icon indicating true Update
right_key Checkmark icon indicating true Update
update_columns Checkmark icon indicating true Update

Dataflow SAQL

Dataflows use SAQL and recipes use SQL. During conversion, SAQL is changed to SQL whenever possible.

Warning
Warning SAQL date filtering, relative date ranges, and references to date epochs are not supported. Recommendation is to evaluate supported solutions to replace dataflow SAQL date capabilities.

In recipes, try using simple operators with Dates or DateTimes such as +,-,=,<,>,<=,>=. For example, add hours by using (DateTime) + (TimeInterval).

Below are instances when SAQL is not automatically converted to SQL, and the recommended SQL alternative. In recipes, use SQL in a Transform custom formula.

Dataflow (SAQL) Recipe (SQL)
DateField_sec_epoch to_unix_timestamp(DateField)
DateField_day_epoch to_unix_timestamp(DateField) / (60 * 60 * 24)
DateField_Year format_number(year(DateField), '0000')
DateField_Quarter format_number(quarter(DateField), ‘0')
DateField_Month format_number(month(DateField), '00')
DateField_Week format_number(weekofyear(DateField), '00')
DateField_Day format_number(day(DateField), '00')
DateField_Hour format_number(hour(DateField), '00')
DateField_Minute format_number(minute(DateField), '00')
DateField_Second format_number(second(DateField), '00')
toDate() to_timestamp()
date_to_epoch() to_unix_timestamp()
month_first_day(toDate('CloseDate_sec_epoch')) date_trunc('month', CloseDate)
month_last_day(toDate('CloseDate_sec_epoch')) date_trunc('month', CloseDate) + INTERVAL 1 month - INTERVAL 1 day

week_first_day(toDate('CloseDate_sec_epoch'))

This function always returns Sunday of the week

date_trunc('week', CloseDate)

This function always returns Monday of the week

Other first_day or last_day functions Use date_trunc on the different parts: 'year', 'quarter', 'month', 'week'.
toString(toDate('CloseDate_sec_epoch'), "yyyy-MM-dd") date_format(CloseDate, 'yyyy-MM-dd')
date_to_string() date_format(CloseDate, 'yyyy-MM-dd')
date_diff("year", toDate(StartDate_sec_epoch), toDate(EndDate_sec_epoch)) year(EndDate) - year(StartDate)
date_diff("month", toDate(StartDate_sec_epoch), toDate(EndDate_sec_epoch)) months_between(EndDate, StartDate)
date_diff("quarter", toDate(StartDate_sec_epoch), toDate(EndDate_sec_epoch)) (year(EndDate)-year(StartDate))*4 + quarter(EndDate) - quarter(StartDate)
date_diff("week", toDate(StartDate_sec_epoch), toDate(EndDate_sec_epoch)) floor(datediff(EndDate, StartDate) / 7)
date_diff("day", toDate(StartDate_sec_epoch), toDate(EndDate_sec_epoch)) datediff(EndDate, StartDate)
date_diff("hour", toDate(StartDate_sec_epoch), toDate(EndDate_sec_epoch)) (to_unix_timestamp(EndDate) - to_unix_timestamp(StartDate))/(60*60)
date_diff("minute", toDate(StartDate_sec_epoch), toDate(EndDate_sec_epoch)) (to_unix_timestamp(EndDate) - to_unix_timestamp(StartDate))/(60)
date_diff("second", toDate(StartDate_sec_epoch), toDate(EndDate_sec_epoch)) to_unix_timestamp(EndDate) - to_unix_timestamp(StartDate)