Skip to main content

List.TransformMany

Returns a list whose elements are transformed from the input list using specified functions.

Syntax

List.TransformMany(
list as list,
collectionTransform as function,
resultTransform as function
) as list

Remarks

Returns a list whose elements are projected from the input list.

The collectionTransform function transforms each element into an intermediate list, and the resultTransform function receives the original element as well as an item from the intermediate list in order to construct the final result.

The collectionTransform function has the signature (x as any) as list => ..., where x is an element in list. The resultTransform function projects the shape of the result and has the signature (x as any, y as any) as any => ..., where x is an element in list and y is an element from the list generated by passing x to collectionTransform.

Examples

Example #1

Flatten a list of people and their pets.

List.TransformMany(
{
[Name = "Alice", Pets = {"Scruffy", "Sam"}],
[Name = "Bob", Pets = {"Walker"}]
},
each [Pets],
(person, pet) => [Name = person[Name], Pet = pet]
)

Result:

{
[Name = "Alice", Pet = "Scruffy"],
[Name = "Alice", Pet = "Sam"],
[Name = "Bob", Pet = "Walker"]
}

Category

List.Transformation functions