Skip to Content

Transformation basics

Overview

A transformation is a project component that is used as a step in an operation to map or transform inputs to a resulting output by moving data, cleaning data, or applying business logic. A transformation consists of source and target schemas that have been defined in the transformation and the transformation mapping that generates the output.

If you don't want to transform data and instead pass through data unchanged, you don't need to add a transformation. Valid operation patterns are provided in Validation patterns under Operation validity.

Parts of a transformation

A transformation consists of source and target schemas – those defined in an activity or defined in the transformation – and the transformation mapping that generates the output. A transformation's two main parts are identified in the image below:

parts of a transformation

  • Source schema: In this example, the source schema is inherited from the Shopify Read activity and defines the structure of the data from the activity's response.

  • Target schema: In this example, the target schema (providing the structure of the output data) is user-defined. Transformation mappings are indicated with a purple vertical line to the left of a field's name and a script icon to the right. Mapped fields contain scripts, which may contain references to source fields or nodes or to project components, use functions, or contain other valid script logic.

Source and target schemas

A source schema is required only when an adjacent source activity provides input data that needs to be transformed. A target schema is always required.

Source and target schemas are either provided by an adjacent activity or defined in the transformation, with a schema provided by an adjacent activity taking precedence. Schemas provided by adjacent activities are not part of the transformation. More information about schemas is provided in the Schemas section.

Input and output data

A transformation does not include the input or output data itself. Any of these inputs can be used to supply data to the transformation:

  • Variables
  • Custom values and expressions
  • Script logic on a target field or condition node
  • Data from a source activity

These inputs can be used by themselves or in combination with other inputs. If input data from an adjacent source activity needs to be mapped or transformed, a source schema defining the structure of the input data must be provided.

The output of the transformation is the result of the target mapping. This resulting data must conform to a target schema, consisting of a minimum of one field. The transformation must map to at least one field in the target schema to result in output data from the transformation. For details on completing a mapping, see Transformation mapping.