Yep, I misunderstood.
First, you need to know which array has the most items, so you can loop that number of times.
Since you know there are 3 arrays or 3 columns, we can just store the upper bounds of each one into an array, and take the largest value.
Assign: numberOfRows = {UBound(a_array),UBound(b_array),UBound(c_array)}.Max
Then, loop from 0 to that number. We can use enumerable.range() to create that.
For each rowIndex In Enumerable.Range(0,numberOfRows+1)
Finally, you just need to make sure the index exists in the array with an inline IF when you assign it to a new array that represents the row. And, use Add Data Row with that new array.
Assign activity: newArr = { If(UBound(a_array)>=rowIndex,a_array(rowIndex),""), If(UBound(a_array)>=rowIndex,b_array(rowIndex),""), If(UBound(a_array)>=rowIndex,c_array(rowIndex),"") }
Add Data Row // use newArr in ArrayRow property
In the end it would look like this:
Assign: numberOfRows = {UBound(a_array),UBound(b_array),UBound(c_array)}.Max
For each rowIndex In Enumerable.Range(0,numberOfRows+1)
Assign activity: newArr = { If(UBound(a_array)>=rowIndex,a_array(rowIndex),""), If(UBound(a_array)>=rowIndex,b_array(rowIndex),""), If(UBound(a_array)>=rowIndex,c_array(rowIndex),"") }```
Add Data Row // use newArr in ArrayRow property
Hopefully, that’s more in line with what you are trying to do.
Regards