# EXAMPLE - ARRAYSLICE and ARRAYMERGEELEMENTS Functions

This example illustrates how to generate an Array that is a slice of another Array, based on index numbers. The elements of this Array can then be merged into a String value.

**Functions**:

Item | Description |
---|---|

ARRAYSLICE Function | Returns an array containing a slice of the input array, as determined by starting and ending index parameters. |

ARRAYMERGEELEMENTS Function | Merges the elements of an array in left to right order into a string. Values are optionally delimited by a provided delimiter. |

**Source:**

The following set of arrays contain results, in order, of a series of races. From this list, the goal is to extract a list of the podium finishers for each race as a single string.

RaceId | RaceResults |
---|---|

1 | ["racer3","racer5","racer2","racer1","racer6"] |

2 | ["racer6","racer4","racer2","racer1","racer3","racer5"] |

3 | ["racer4","racer3","racer5","racer2","racer6","racer1"] |

4 | ["racer1","racer2","racer3","racer5"] |

5 | ["racer5","racer2","racer4","racer6","racer3"] |

**Transformation:**

From the list of arrays, the first step is to gather the top-3 finishers from each race:

Transformation Name | |
---|---|

Parameter: Formula type | Single row formula |

Parameter: Formula | ARRAYSLICE(RaceResults, 0, 3) |

Parameter: New column name | 'arrPodium' |

The above captures the first three values of the RaceResults arrays into a new set of arrays.

The next step is to merge this new set of arrays into a single string:

Transformation Name | |
---|---|

Parameter: Formula type | Single row formula |

Parameter: Formula | ARRAYMERGEELEMENTS(arrPodium, ',') |

Parameter: New column name | 'strPodium' |

**Results:**

RaceId | RaceResults | arrPodium | strPodium |
---|---|---|---|

1 | ["racer3","racer5","racer2","racer1","racer6"] | ["racer3","racer5","racer2"] | racer3,racer5,racer2 |

2 | ["racer6","racer4","racer2","racer1","racer3","racer5"] | ["racer6","racer4","racer2"] | racer6,racer4,racer2 |

3 | ["racer4","racer3","racer5","racer2","racer6","racer1"] | ["racer4","racer3","racer5"] | racer4,racer3,racer5 |

4 | ["racer1","racer2","racer3","racer5"] | ["racer1","racer2","racer3"] | racer1,racer2,racer3 |

5 | ["racer5","racer2","racer4","racer6","racer3"] | ["racer5","racer2","racer4"] | racer5,racer2,racer4 |