Sequential Concurrent ForAll in Power Apps

You may also like...

4 Responses

  1. Kevin Ly says:

    I have used same technique to deal with more than 10k records from Dataverse, it takes sometime to load but it is possible to make it running in background while allow user to interact with other contents.
    However, this technique is the last thing we would want to use or all records must be required for apps to run properly. If there is case that does not required all records, it is ultimately must not be loaded into apps. For this practice, I found that filter based on user (account\role\group\permission\role) is one of the best way to get just exact the number of records that user should see.

    • iAm_ManCat says:

      Yes for collecting ‘normal’ data you should not try get large numbers of records, regardless of the formula/approach you are using, as you should be minimizing the data you take into an App – but as I mentioned in the article this is a necessity if you need to take records for use offline or need to handle the storage of many-to-many relationships in a more performant way than a normal ForAll.

      This method can be used for more than just collecting data though 🙂 you can use the Sequential Concurrent ForAll for performant execution of any other action that you would normally be trying to achieve with a ‘standard’ ForAll.

  2. Phil says:

    Cheers for this! I was looking for an approach to do something like this. 🙂 Either to make the Flow concurrent or call multiple flows concurrently. I’d almost written it off – I wasn’t that keen on having mountains of code to do something quite simple, but this is the trade-off. I was going to see if it was possible to ‘tee’ up some hidden buttons and then trigger those in some way, but think this is a better approach, plus is working in my instance.

    • iAm_ManCat says:

      I’m really glad you found it useful – it’s fairly code-heavy but the results have been worth it with larger-scale App performance 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *