Drag and Drop Transformations

Last updated on Jan 04, 2023
Drag-and-drop Transformations feature is currently in BETA phase.

Drag and Drop Transformation blocks provide a no-code option for building Transformations for preparing the ingested data before it is loaded to the Destination.

From left to right, the interface consists of:

Transformation UI

  • The TRANSFORMATIONS pane, which displays the list of available blocks

  • The Canvas, where you can:

    • Drag the blocks to create the Transformation flow,

    • Switch between the Build and Test modes,

    • Reset the existing work and start again, and
    • Deploy a Transformation.
  • The Filters & Settings pane on the right, using which, you can:

    • Specify filters to select the Event Types and Fields to which the Transformation must be applied.

    • Define the settings that must be applied through the Transformation.

The filters and settings are displayed once you select any Transformation block.

You can use only the blocks provided by Hevo to build a Drag and Drop Transformation. To design a more advanced or custom Transformation beyond this list, switch to the Python code option. Alternatively, contact Hevo Support.

Building a Transformation

The following are the key steps for building a Transformation:

1. Selecting the Transformation Block(s)

Drag the Transformations that you need to apply, to the canvas. If you want to create a workflow with multiple blocks, you can drag all the blocks you need at once or set up one block at a time.

2. Selecting the Data Filters

By default, a Transformation is applied to all the Events and their fields that are ingested from the Source. You can use the Event and Field filters to identify the specific Events and Fields to be transformed, and select the appropriate operator to define the values for each of these filters. Read Transformation Reference for more information. The filters and settings are displayed based on the Transformation block that is selected. Both these filters are discussed below.

Event Filters

Event filters help you specify the Event Types and their Events on which the Transformation must be applied.

Click ADD FILTER + to display the following filter types:

Add Event filters

  • Event Type: The Transformation is applied to the Event Type (ingested Source object or table) you select.

  • Event Field: The Transformation is applied to Events that contain this Field/Field Value. For example, if you select the filters, all Events AND Event Field equals price, then, the Transformation is applied to all Events that have the field, price. This Does Not apply the Transformation to the field, price.

    Note: Events not matching the filters in a Transformation block remain unchanged.

Example: The following ADD A FIELD Transformation adds a field to all Events where Event Type = deals and the value of the field, price = 200. You can specify the details of the field to be added using the Settings.

Sample Event filter

Field Filters

Field filters are displayed to identify the fields to be transformed. These filters may not be required for some of the Drag and Drop Transformation blocks.

Under Apply on all fields, click ADD FILTER + to display the following field filters:

Field filters

  • Field Name: The Transformation is applied to the selected fields. For example, if a field with the name archived is present, the Transformation must be applied to it.

  • Field Value: The Transformation is applied to the specified field, if it has the specified value. For example, if the value of the archived field is true, the Transformation must be applied to it.

Example: The following DROP FIELDS Transformation drops the field, discount, from all Events of the Event Type, deals that have a field called price with value as 200.

Sample field filter

Note: In case the field to which the Transformation is applied is of the type Array or List, the Transformation is applied to each element of the list instead of the list itself. Exceptions to this are: Create separate fields while splitting and Flatten JSON, where the Transformation cannot be applied to the list.

3. Defining Transformation settings

Settings are used to define the action to be taken for some of the Transformations. For example, in the RENAME FIELDS Transformation, the Field Name and New Field Name settings define the field name to be changed and along with its new value. Similarly, in the DROP FIELDS Transformation, the settings define the field to be dropped.

The settings are listed below the filters.

In the sample image, for all Events where the field, district has the value Delhi, the field name district is changed to main_district

Transformation settings

4. Creating Transformation workflows (Optional)

You can apply multiple Transformations to the data by creating a workflow using the required Transformation blocks. If each Transformation is independent of the others, the sequence in which you connect the blocks is immaterial, and each Transformation can call a different Event Type. However, if each block builds upon the previous one, then the sequence in which the blocks are connected is important. A sequential Transformation workflow can be created for one Event Type only. The following image depicts a sample Transformation workflow created using the conditional IF ELSE block.

If-else-workflow

In a workflow, all the Events are passed on to the next Transformation block. The Events not matching the filters remain unchanged.

Note: You can insert a block in an existing workflow sequence.

5. Correcting any Transformation errors

In case the settings are missing or incorrect, an indicator is displayed next to the block. Hover the mouse over it to view the error text.

Transformation Considerations

The following are some important points to keep in mind while building your Transformations:

  • Currently, you cannot combine both Python-based and drag-and-drop blocks in the same Transformation.

  • You must be in the BUILD tab to add or delete Transformation blocks or specify the filters and settings.

  • While building a Transformation, add filters in the order in which these will be applied to the data.

  • The IF-ELSE block branches your code to apply the conditional Transformation. Currently, you cannot merge the branches post-transformation.


List of Drag and Drop Transformations

Hevo provides the following drag-and-drop Transformation blocks by default. You can configure them for your use and test them before deploying:

Control Functions

Date Functions

Event Manipulation

JSON Manipulation

Mathematical Functions

Security Functions

String Functions



Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Nov-10-2022 NA Reorganized and improved the content on the page for enhanced clarity and ease of understanding.
Jul-12-2022 NA - Added sections, Points to remember and Getting started.
- Removed section, Features and Limitations, and merged it in Building a Transformation.

Tell us what went wrong