Data Manipulation Functions

A data manipulation function changes the data into the format required by the data serialization function (see the next section). You can apply a manipulation function on the results from a data selection or other data manipulation function. If the input data is null, the manipulation function returns null, unless otherwise specified.

If data manipulation isn’t required, add a data serialization function to the results of the data selection functions.

Note

coalesce Function 

Returns the first non-null source from a list of sources. Useful for providing a default value in case a function returns a null value.

Syntax 

1coalesce(source1, source2,...)

Arguments 

ArgumentDescription
source(Required) Source can be the results of a data selection or other data manipulation function. The source can have any shape.

Example 

Function:

1coalesce(cell(step1.selection, 0, "column1"), "green")

Output: The output is the result returned by cell(step1.selection, 0, "column1"). However, if cell(step1.selection, 0, "column1") returns null, then the output is

1"green"

See Also

concat Function 

Joins streams from multiple sources into a one- or two-dimensional array. Null sources are skipped.

Syntax 

1concat(source1, source2,...)

Arguments 

ArgumentDescription
source(Required) Each source can be the results of a data selection or other data manipulation function. Each source must be either a one- or two-dimensional array. An error occurs if you try to concatenate data from sources of different shapes. For example, the following function produces an error: concat(["a", "b"], ["c", "d", "e"]).

Examples 

Function:

1concat(["a", "b"], ["c", "d"])

Output:

1["a", "b", "c", "d"]

Function:

1concat([["a", "b"]], [["c", "d"]])

Output:

1[["a", "b"], ["c", "d"]]

flatten Function 

Flattens a two-dimensional array into a one-dimensional array.

Syntax 

1flatten(source)

Arguments 

ArgumentDescription
source(Required) Source can be the results of a data selection or other data manipulation function. The source must be a two-dimensional array. Otherwise, an error occurs because there’s no reason to flatten a one-dimensional array or scalar.

Example 

Function:

1flatten([["CDG", "SAN"], ["BLR", "HND"], ["SMF", "JFK"]])

Output:

1["CDG", "SAN", "BLR", "HND", "SMF", "JFK"]

join Function 

Converts a one- or two-dimensional array into a string by joining the elements using the specified token. An error occurs if the data has any other shape.

Syntax 

1join(source, token)

Arguments 

ArgumentDescription
source(Required) Source can be the results of a data selection or other data manipulation function. The source must be a two-dimensional array. Otherwise, an error occurs.
token(Required) Any string value, like + or ,.

Examples 

Function:

1join(["a", "b", "c"], "+")

Output:

1["a+b+c"]

Function:

1join([["a", "b", "c"], [1, 2]], "~")

Output:

1["a~b~c~1~2"]

slice Function 

Selects one or more values from a one-dimensional array given a start and, optionally, an end position, and returns a one-dimensional array. An error occurs if the start value is greater than the end value. Negative indices are supported.

Syntax 

1slice(source, start, end)

Arguments 

ArgumentDescription
source(Required) Source can be the results of a data selection or other data manipulation function. The source can have any shape.
start(Required) Index that identifies the start value in the array. For example, 0 represents the first element in the array.
end(Optional) Index that identifies the end value in the array.

Example 

1slice(step.selection, -1, 0)

Returns the last selected row.

toArray Function 

Converts scalars to a one-dimensional array, and one-dimensional arrays to a two-dimensional array. For example, use this function to convert the scalar result of a cell function to an array, which is required by compact-form measures, groups, and order clauses. The function returns an error if the input is a series of static one-dimensional arrays, a two-dimensional array, or a mix of scalars and one-dimensional arrays.

Syntax 

1toArray (source1, source2,...)

Arguments 

ArgumentDescription
source(Required) The input must be scalars, including static values, or one-dimensional arrays.

Examples 

Consider these Opportunities query result.

Oppty_NameOwnerRegionAmountCreated_Date
AlphaDannyAmericas10002/20/2017
BravoDannyAmericas5004/15/2017
CharlieJeffEMEA20005/1/2017

These interactions use the Opportunities query as a source.

InteractionResult
toArray( cell(Opportunities.selection, 0, "Region") )["Americas"]
toArray( "EMEA" )["EMEA"]
toArray( cell(Opportunities.selection, 0, "Region"), "EMEA" )["Americas", "EMEA"]
toArray( column(Opportunities.selection, ["Oppty_Name"]), column(Opportunities.selection, ["Region] )[["Alpha", "Bravo", "Charlie"], ["Americas", "Americas", "EMEA"]]
toArray( column(Opportunities.selection, ["Oppty_Name", "Region"]) )Error. The column interaction function returns a two-dimensional array, which is an invalid input.
toArray( [1, 2, 3], [4, 5, 6] )Error. The input can’t be a series of static one-dimensional arrays.

valueAt Function 

Returns the single scalar value at the given index.

Syntax 

1valueAt(source, index)

Arguments 

ArgumentDescription
source(Required) Source can be the results of a data selection or other data manipulation function. The source can have any shape.
index(Required) Negative indexes are supported. If you specify an index that doesn’t exist, the function returns null.

Example 

1valueAt(cell(step.selection, 0, "column"), -1)

Returns the last selected value.