Hey @XenDance
Can you try something like this please:
ClearCollect(NewCollection); // Initialize the new collection to store the transformed data
ForAll(
OriginalCollection, // Assuming 'OriginalCollection' is your original collection name
ForAll(
Sequence(RoundDown(Len(Members)/10, 0)), // Calculate how many members are in each row (assuming each has 5 fields)
Collect(
NewCollection,
{
Serial: Value(Mid(Members, (Value-1)*50+1, 1)), // Extract Serial, adjusting indexes appropriately
Name: Mid(Members, (Value-1)*50+3, Find(";", Members, (Value-1)*50+3)-(Value-1)*50-3), // Extract Name
Email: Mid(Members, Find(";", Members, (Value-1)*50+3)+1, Find(";", Members, Find(";", Members, (Value-1)*50+3)+1)-(Find(";", Members, (Value-1)*50+3)+1)), // Extract Email
StaffID: Value(Mid(Members, Find(";", Members, Find(";", Members, (Value-1)*50+3)+1)+1, Find(";", Members, Find(";", Members, Find(";", Members, (Value-1)*50+3)+1)+1)-(Find(";", Members, Find(";", Members, (Value-1)*50+3)+1)+1))), // Extract StaffID
Value: Value(Mid(Members, Find(";", Members, Find(";", Members, Find(";", Members, (Value-1)*50+3)+1)+1)+1, 5)) // Extract Value
}
)
)
);
Be aware that you might need to rename a few things
Let me know if my answer helped solving your issue.
If it did please accept as solution and give it a thumbs up so we can help others in the community.
Greetings