BuildRowSetFromString()

Creates a rowset from a character string by splitting the string at the specified delimiter.

Availability

<table> <tr> <td>Marketing Cloud Engagement</td> <td>✅ Yes</td> </tr> <tr> <td>Marketing Cloud Next</td> <td>✅ Yes</td> </tr> </table>

Syntax

BuildRowSetFromString(sourceData, delimiter)

The BuildRowSetFromString() function has two parameters:

  • sourceData (string): Required. A string that contains the data to load into a rowset.
  • delimiter (string): Required. The character (such as a comma) that is used as a delimiter in the source data.

Usage

To call the function, pass it the string of data that you want to convert to a rowset, and the character that is used as a delimiter in the source data.

Basic Usage

This example creates a variable with a string of data, and another variable that contains the delimiter for that data. The example uses these variables to create a rowset from the string of data.

%%[
  Set @dataString = "123|456|789"
  Set @dataDelimiter = "|"
  BuildRowsetFromString(@dataString, @dataDelimiter)
]%%

The example returns a rowset with three rows.

123
456
789

Processing Attribute Names

This example shows how to pass and process attribute names.

%%[
  Var @queryparams
  Var @row
  Var @name
  Var @value
  Set @queryparams = BuildRowsetFromString(QueryParameter('names'),'|')
  For @i = 1 to Rowcount(@queryparams) do
    Set @row = Row(@queryparams, @i)
    Set @name = Field(@row,1)
    Set @value = QueryParameter(@name)
  ]%%
  Passed <b>name:</b> %%=v(@name)=%% with <b>value:</b> %%=v(@value)=%%<br/>
  %%[
  next @i
]%%

When passed the following input:

names=career|firstname|lastname&career=marketer&firstname=Angela&lastname=Ruiz

The function returns:

Passed name: career with value: marketer
Passed name: firstname with value: Angela
Passed name: lastname with value: Ruiz

Because this function returns the rowset in one column, and this column doesn’t have an assigned name, you refer to the column within a function using an ordinal number:

Field(Row(BuildRowSetFromString('123|456', '|'), 1), 1)