Mapper
Overview
You can use this Snap to map input fields to output fields using JavaScript expressions or expressions created using the Expression Builder.

Transform-type Snap
Works in Ultra Tasks
Prerequisites
None.
Limitations and known issues
None.
Snap views
View | Description | Examples of upstream and downstream Snaps |
---|---|---|
Input | This Snap supports exactly one document input view. | |
Output | This Snap supports exactly one document output view. Outputs the mapped documents as defined by the user-configured expressions. | |
Error |
Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:
Learn more about Error handling in Pipelines. |
Snap settings
- Expression icon (
): Allows using JavaScript syntax to access SnapLogic Expressions to set field values dynamically (if enabled). If disabled, you can provide a static value. Learn more.
- SnapGPT (
): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
- Suggestion icon (
): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
- Upload
: Uploads files. Learn more.
Field / Field set | Type | Description |
---|---|---|
Label | String |
Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline. Default value: Mapper Snap Example: Transform input fields |
Null-safe access | Checkbox |
Select this checkbox to set the target value to null if the source path does not
exist. For example, Default value: Deselected |
Pass through | Checkbox |
Select this checkbox so the Snap passes all the original input data into the output document with the data transformation results. If you deselect this checkbox, only the data transformation results in the mapping section appear in the output document and the input data is discarded. Note: This setting is
impacted by Mapping Root. If Mapping
Root is set to
$ and Pass
through is deselected, anything not mapped in the table does
not pass through. However, if Mapping Root is set to
$customer and Pass through is
deselected, it only applies to the items in the Mapping Root level. That
means that anything above the Mapping Root level passes through and items at the
Mapping level that are not mapped in the table do not pass through. When you select Pass through: Always select Pass through if you plan to leave the Target path field blank. Otherwise, an error displays to indicate that the field you want to delete does not exist. This is the expected behavior. For example, if you have an input file that contains a number of attributes and you need only two of these downstream. To accomplish that:
No schema available
error.Default value: Deselected Example: Selected to include original input fields in output |
Transformations |
Use this field set to configure the settings for data transformations. |
|
Mapping Root | Dropdown list/Expression |
Required. Specify the subsection of the input data to map. Learn more: Understand the Mapping Root. Default value: $ Example: $ |
Input Schema | Dropdown list |
Select the input data (from the upstream Snap) that you want to transform. Drag the item you want to map and place it under the Mapping table Default value: Selected Example: Unchecked to throw errors for missing fields |
Mapping root | String |
Specify the mapping expressions. Each row includes a target path and an expression to compute its value. You can also use the Expression Builder to construct expressions. Example: $name → $input.name.toUpperCase() |
Sorted | Checkbox | Select this checkbox to sort the input schema and the target schema. The sort
options are:
|
Mapping table | Use this field set to specify the
source path, expression, and target path columns used to map schema structure. The
mapping table makes it easier to: Learn more: Use the Mapping Table.
|
|
Expression | String/Expression | Specify the function to use to transform the data. For example, combine, concatenate, or flatten. Expressions that are evaluated replace the source targets at the end of the pipeline runtime. Note: The data from previous undefined
Snaps in the Mapping Table pass through the Data Snap to the next Snap. However,
when you define output fields in the Target Path, and if the field name is the
same as a field name that would otherwise pass through, the field in the mapping
table overrides the output. Learn More: Understand Expressions in SnapLogic and Use Expressions for usage guidelines. Managing Numeric Inputs in Mapper Expressions When you
work with upstream numeric data, you might see some unexpected behavior. For
example, consider a mapping that reads as follows:
Now, the value passes from upstream for $num is 20.05. You expect the
value of The value of $numnew to now be 120.05. However, when you execute the
Snap, the value of $numnew is shown as 20.05100. This happens
because, as of now, the Mapper Snap reads all incoming data as strings, unless
they are specifically listed as integers (INT) or decimals (FLOAT). So, to ensure
that the upstream numeric data is appropriately interpreted, parse the data as a
float to convert the numeric data into a decimal, and all calculations on the
upstream data in the Mapper Snap work as expected:
$numnew shows 120.05.Default value: $ Example: $ |
Snap execution | Dropdown list |
Choose one of the three modes in
which the Snap executes. Available options are:
Default value: Validate & Execute Example: Execute only |