Loading

Data 360: Transforming Multi-Select Picklist and Multivalue Fields

Дата публикации: May 6, 2026
Описание

When data is ingested into Data 360 from other Salesforce applications where multivalue field types are available, the ingested data is stored in a Text field in Data 360 with semicolon-separated values.

Example: A Multivalue field in CRM Analytics record or in a Multi-Select Picklist on a Salesforce CRM record has the values "North", "South" and "East". The record will be ingested into the Data 360 Data Lake Object with the value North;South;East in a text field.

In most scenarios, storing the values in a text field does not present an issue. For example, in a segmentation use case the Contains segment operator can be used to check if the field includes a specific value. See Segmentation Operators in Data 360 for more details.

Some notable use cases where you may encounter a usability challenge are the following:

  • As outlined in Use Value Suggestions in Segmentation, the Enable Value Suggestion setting can be enabled on Data Model Objects fields to make field values visible when creating segments. As value suggestions are generated from the distinct values present in the Data Model Object records, the full semicolon-separated strings (e.g., North;South;East) will get surfaced as suggestions rather than the individual values.
  • If the Data Model Object is added to a Semantic Model in Tableau Next and then you add a filter on the text field, a list of available values are displayed. In this scenario, you will also see the full semicolon-separated strings that are present on the source records.

Data 360 Batch Data Transforms provide the option to normalize the multivalue field by splitting and exploding the values into individual rows. This will result in each distinct value being stored as its own record (e.g. the input North;South;East results in 3 records being written - one for each value). When a relationship between the output object and the source object, individual values can be surfaced as value suggestions and filter options. See the steps to configure this solution outlined below.

Решение

Prerequisites

  • You have a Data Lake Object (DLO) or Data Model Object (DMO) containing a text field with semicolon-separated values.
  • You have identified the field to normalise (e.g., RegionValues__c).
  • A target DLO exists (or will be created by the transform output node) to store the normalised output.

Creating the Data Transform

  • In Data 360 Setup, go to Data Transforms and click New.
  • Select Batch Data Transform.
  • Add a Input Data node and select the DLO that contains the multi-value text field as an input. Include the Primary Key field in the selected fields as this will be required when creating a relationship between the source and output DMOs later in these steps.
  • Add a Transform node.
    • Configure custom formula to SPLIT and EXPLODE the semicolon-separated values into separate rows e.g.
explode(split(RegionValues__c, ';'))
    • Configure the output data type (e.g. Text) and field name and then apply the changes.
  • (Optional) add another Transform node to concatenate the primary key field from the source DLO with the split value to create a unique primary key.
  • Add an Output node
    • Connect an Output node to write results to a target DLO.
    • Map the PrimaryKey field and the output fields of the transform nodes.
    • Configure the output DLO name (e.g., Region_Normalised_DLO).
  • Save and schedule the data transform.

Configure the Data Model Relationship

  • Map the output DLO to a new DMO.
  • Create a 1-to-Many relationship between the source DMO and the new DMO linking both fields that contain the original primary key value.
  • Note: for the value suggestion use case outlined in the description, Enable Value Suggestion would be enabled for the output field of the transform node. Then within the segment canvas, the new DMO, which is mapped to the output DLO, would be selected from the Related Attributes section of the canvas.
Дополнительные ресурсы

Billing Considerations

As the EXPLODE function multiplies rows, each source record produces N output rows (one per value). As a result, the output row count is likely to be significantly higher than the original input row count. For org's on a credit consumption-based license, consider the impacts of this processing on credit consumption by reviewing the usage types for your license. Use Digital Wallet to monitor your credit consumption.

 

Номер статьи базы знаний

005321685

 
Загрузка
Salesforce Help | Article