Skip to main content

Notifications

Community site session details

Community site session details

Session Id : NOe2F3VBqEJXEFlVHZWtot
Power Apps - Building Power Apps
Answered

Concurrent Function not working

Like (0) ShareShare
ReportReport
Posted on 19 Aug 2019 08:17:08 by 829
Hi Folks -
 
I have multiple collections rendering during the "OnStart" of my PowerApps applications. I'd like to employ the Concurrent function to speed up the startup however having a bear of a time getting it to validation. Here is what I have, perhaps I need to rewrite my ClearCollection functions??
 
Concurrent(
ClearCollect(
ListActParentList,
ShowColumns(
Filter(
RD_Investment_List,
Portfolio_Status <> "Terminated"
),
"Name"
)
),

Collect(
ListActParentList,
ShowColumns(
Filter(
RD_Target_List,
Portfolio_Status <> "Terminated"
),
"Name"
)
),

Collect(
ListActParentList,
ShowColumns(
Filter(
rdPlatIntInfa,
Portfolio_Status.Value.Value <> "Terminated"
),
"Name"
)
),

ClearCollect(
ListActParentAliasList,
ShowColumns(
Filter(
RD_Investment_List,
Portfolio_Status <> "Terminated"
),
"Alias"
)
),

Collect(
ListActParentAliasList,
ShowColumns(
Filter(
RD_Target_List,
Portfolio_Status <> "Terminated"
),
"Alias"
)
),

Collect(
ListActParentAliasList,
ShowColumns(
Filter(
rdPlatIntInfa,
Portfolio_Status.Value <> "Terminated"
),
"Alias"
)
),

ClearCollect(
DevicePlatformList,
ShowColumns(
Filter(
rdDevice,
RequestStatus.Value = "Published" && !(PortfolioStatus.Value="Terminated")
),
"Alias"
)
),

ClearCollect(
PartnershipList,
ShowColumns(
Filter(
rdPartnership,
!(PortfolioStatus.Value="Terminated")
),
"Parent_Node", "Parent_Alias","Name","Alias"
)
)
)
Thank you!
  • simms7400 Profile Picture
    829 on 23 Aug 2019 at 11:10:37
    Re: Concurrent Function not working
    That worked perfectly!! Thank you!!
  • Verified answer
    v-xida-msft Profile Picture
    on 21 Aug 2019 at 01:33:51
    Re: Concurrent Function not working

    Hi @simms7400 ,

    Please consider modify your formula as below:

    Clear(ListActParentList); /* <-- Add formula here */
    Clear(ListActParentAliasList); /* <-- Add formula here */
    Clear(DevicePlatformList); /* <-- Add formula here */
    Clear(PartnershipList); /* <-- Add formula here */
    Concurrent(
    Collect(
    ListActParentList,
    ShowColumns(
    Filter(
    RD_Investment_List,
    Portfolio_Status <> "Terminated"
    ),
    "Name"
    ),
    ShowColumns(
    Filter(
    RD_Target_List,
    Portfolio_Status <> "Terminated"
    ),
    "Name"
    ),
    ShowColumns(
    Filter(
    rdPlatIntInfa,
    Portfolio_Status.Value.Value <> "Terminated"
    ),
    "Name"
    )
    ),
    Collect(
    ListActParentAliasList,
    ShowColumns(
    Filter(
    RD_Investment_List,
    Portfolio_Status <> "Terminated"
    ),
    "Alias"
    ),
    ShowColumns(
    Filter(
    RD_Target_List,
    Portfolio_Status <> "Terminated"
    ),
    "Alias"
    ),
    ShowColumns(
    Filter(
    rdPlatIntInfa,
    Portfolio_Status.Value &lt;&gt; "Terminated"
    ),
    "Alias"
    )
    ),
    Collect(
    DevicePlatformList,
    ShowColumns(
    Filter(
    rdDevice,
    RequestStatus.Value = "Published" && Not(PortfolioStatus.Value="Terminated")
    ),
    "Alias"
    )
    ),
    Collect(
    PartnershipList,
    ShowColumns(
    Filter(
    rdPartnership,
    Not(PortfolioStatus.Value="Terminated")
    ),
    "Parent_Node", "Parent_Alias","Name","Alias"
    )
    )
    )

     

    Please take a try with above solution, check if the issue is solved.

     

    Best regards,

  • Community Power Platform Member Profile Picture
    on 20 Aug 2019 at 10:58:33
    Re: Concurrent Function not working

    Formulas within the Concurrent function shouldn't contain dependencies on other formulas within the same Concurrent function, and PowerApps shows an error if you try. From within, you can safely take dependencies on formulas outside the Concurrent function because they will complete before the Concurrent function starts. Formulas after the Concurrent function can safely take dependencies on formulas within: they'll all complete before the Concurrent function finishes and moves on to the next formula in a chain (if you use the ;operator). Watch out for subtle order dependencies if you're calling functions or service methods that have side effects.

    You can chain formulas together with the ; operator within an argument to Concurrent. For example, Concurrent( Set( a, 1 ); Set( b, a+1 ), Set( x, 2 ); Set( y, x+2 ) ) evaluates Set( a, 1 ); Set( b, a+1 ) concurrently with Set( x, 2 ); Set( y, x+2 ). In this case, the dependencies within the formulas are fine: a will be set before b, and x will be set before y

     

    Basically you are having dependecies and you cannot access the collection by 2 foemulas at once.

  • simms7400 Profile Picture
    829 on 20 Aug 2019 at 10:50:57
    Re: Concurrent Function not working

    @v-xida-msft  Hi -

     

    Thank you for your help! Getting closer, but still an issue.  For some reason it doesn't like more than 1 collection named the same... Any ideas?

     

    hmmmm.jpg

  • v-xida-msft Profile Picture
    on 20 Aug 2019 at 03:05:58
    Re: Concurrent Function not working

    Hi @simms7400 ,

    Based on the formula that you mentioned, I think there is something wrong with it.

     

    Within the Concurrent formula you provided, you could not determine the execution order of ClearCollect function and Collect function. All formulas within Concurrent function would be executed at the same time.

     

    I have made a test on my side, please consider modify your formula as below:

     

    Clear(ListActParentList); /* <-- Add formula here */
    Clear(ListActParentAliasList); /* <-- Add formula here */
    Clear(DevicePlatformList); /* <-- Add formula here */
    Clear(PartnershipList); /* <-- Add formula here */
    Concurrent(
    Collect(
    ListActParentList,
    ShowColumns(
    Filter(
    RD_Investment_List,
    Portfolio_Status <> "Terminated"
    ),
    "Name"
    )
    ),
    Collect(
    ListActParentList,
    ShowColumns(
    Filter(
    RD_Target_List,
    Portfolio_Status <> "Terminated"
    ),
    "Name"
    )
    ),
    Collect(
    ListActParentList,
    ShowColumns(
    Filter(
    rdPlatIntInfa,
    Portfolio_Status.Value.Value <> "Terminated"
    ),
    "Name"
    )
    ),
    Collect(
    ListActParentAliasList,
    ShowColumns(
    Filter(
    RD_Investment_List,
    Portfolio_Status <> "Terminated"
    ),
    "Alias"
    )
    ),
    Collect(
    ListActParentAliasList,
    ShowColumns(
    Filter(
    RD_Target_List,
    Portfolio_Status <> "Terminated"
    ),
    "Alias"
    )
    ),
    Collect(
    ListActParentAliasList,
    ShowColumns(
    Filter(
    rdPlatIntInfa,
    Portfolio_Status.Value &lt;&gt; "Terminated"
    ),
    "Alias"
    )
    ),
    Collect(
    DevicePlatformList,
    ShowColumns(
    Filter(
    rdDevice,
    RequestStatus.Value = "Published" && Not(PortfolioStatus.Value="Terminated")
    ),
    "Alias"
    )
    ),
    Collect(
    PartnershipList,
    ShowColumns(
    Filter(
    rdPartnership,
    Not(PortfolioStatus.Value="Terminated")
    ),
    "Parent_Node", "Parent_Alias","Name","Alias"
    )
    )
    )

     

    Please consider take a try with above solution, check if the issue is solved.

     

    Best regards,

     

  • Community Power Platform Member Profile Picture
    on 19 Aug 2019 at 09:21:09
    Re: Concurrent Function not working

    Hey,

     

    You can't predict the order in which formulas within the Concurrent function start and end evaluation.

  • simms7400 Profile Picture
    829 on 19 Aug 2019 at 09:17:05
    Re: Concurrent Function not working
    Thank you! Those are from the same data sources. I ClearCollect then collect the others from same source.
  • Community Power Platform Member Profile Picture
    on 19 Aug 2019 at 08:57:20
    Re: Concurrent Function not working

    Hey,

     

    The Concurrent function evaluates multiple formulas at the same time. 

     

    The ClearCollect function deletes all the records from a collection and then adds a different set of records to the same collection. With a single function, ClearCollect offers the combination of Clear and then Collect.

     

    So as I have noticed you ClearCollect to the same collection - ListActParentList. 

     

    Hope this helps.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Understanding Microsoft Agents - Introductory Session

Confused about how agents work across the Microsoft ecosystem? Register today!

Warren Belz – Community Spotlight

We are honored to recognize Warren Belz as our May 2025 Community…

Kudos to the March Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 146,731 Most Valuable Professional

#2
RandyHayes Profile Picture

RandyHayes 76,287 Super User 2024 Season 1

#3
Pstork1 Profile Picture

Pstork1 66,075 Most Valuable Professional

Leaderboard
Loading started