Microsoft Flow - Use the Take() Function to quickly test your loops

The Take() function can be used to filter an array.  For example, if you have an Array with 1000 items in it, you can use the Take() function to only grab the first 5.

Why

Occasionally when you are building a Flow, you need to run a loop across a large array.  The loop can take hours to run depending on how many items are in the array and how many actions are in the loop.  Use the Take() function to quickly check that your loop will run successfully on a small subset of the array.

How

In this example we are going to create an array of 10 numbers, and iterate through a subset of the array.
The steps are as follows:
  • Create an 'Initialize Variable' Action, and build an array with some values in it - here's some values for you: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]
  • Create an 'Apply to Each' Action and do the following
    • click in the blank text box, navigate to the 'Expression' Tab and type: take()
    • now click on the 'Dynamic Content' Tab and select your 'TestArray' variable.
    • Now go back to the 'Expression' Tab and ensure it is formatted like so: Take(Array,5)
    • Apply
  • You can now click 'Test' in the top-right corner.

You should notice that the Apply to Each loop only ran through 5 items instead of all 30 items!!  Great for testing complex looping scenarios.


Comments

Popular posts from this blog

How to Copy/Duplicate a Table and Columns in a Dataverse Environment

Export Group Membership From Active Directory Using Power Query

Microsoft Flow - Apply To Each Limitation (5000 items)