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.
note: If data manipulation isn’t required, add a data serialization function to the results of the data selection functions.
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
coalesce(source1, source2,...)
Arguments
| Argument | Description |
|---|---|
| source | (Required) Source can be the results of a data selection or other data manipulation function. The source can have any shape. |
Example
Function:
coalesce(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
"green"
See Also
concat Function
Joins streams from multiple sources into a one- or two-dimensional array. Null sources are skipped.
Syntax
concat(source1, source2,...)
Arguments
| Argument | Description |
|---|---|
| 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:
concat(["a", "b"], ["c", "d"])
Output:
["a", "b", "c", "d"]
Function:
concat([["a", "b"]], [["c", "d"]])
Output:
[["a", "b"], ["c", "d"]]
flatten Function
Flattens a two-dimensional array into a one-dimensional array.
Syntax
flatten(source)
Arguments
| Argument | Description |
|---|---|
| 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:
flatten([["CDG", "SAN"], ["BLR", "HND"], ["SMF", "JFK"]])
Output:
["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
join(source, token)
Arguments
| Argument | Description |
|---|---|
| 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:
join(["a", "b", "c"], "+")
Output:
["a+b+c"]
Function:
join([["a", "b", "c"], [1, 2]], "~")
Output:
["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
slice(source, start, end)
Arguments
| Argument | Description |
|---|---|
| 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
slice(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
toArray (source1, source2,...)
Arguments
| Argument | Description |
|---|---|
| source | (Required) The input must be scalars, including static values, or one-dimensional arrays. |
Examples
Consider these Opportunities query result.
| Oppty_Name | Owner | Region | Amount | Created_Date |
|---|---|---|---|---|
| Alpha | Danny | Americas | 1000 | 2/20/2017 |
| Bravo | Danny | Americas | 500 | 4/15/2017 |
| Charlie | Jeff | EMEA | 2000 | 5/1/2017 |
These interactions use the Opportunities query as a source.
| Interaction | Result |
|---|---|
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
valueAt(source, index)
Arguments
| Argument | Description |
|---|---|
| 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
valueAt(cell(step.selection, 0, "column"), -1)
Returns the last selected value.