Looping specifies how to handle elements that can occur multiple times (that is, Occurs Maximum is set to greater than 1) when mapping them to the output elements. This includes looping corresponding to some input, filtering, and sorting. The looping mechanisms also deal with aggregation, which is used to count and sum elements, for example.
The specification for the looping is in the Loop Expression Panel and is automatically generated when you map an element from the input to the output. In most cases, the automatically generated looping is sufficient. However, if you require filtering or sorting, or if you want the output loop to loop in a different way, you must modify the loop expression.
To support aggregation, special aggregation functions are provided that contain their own loop expression, allowing them to process elements from anywhere. However, their default looping is within the enclosing output loop in which they are specified.
Loop Functions provide different ways of looping and provide the means for filtering and sorting.
There are times when it's helpful to unroll a map element from a loop so that it can be mapped as if it were not looping. In other cases splitting a loop into multiple loops is helpful.