web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Deleting items from Sh...
Power Automate
Unanswered

Deleting items from Sharepoint List that are not found in Excel Table

(0) ShareShare
ReportReport
Posted on by

Hi,

 

I would like to compare a Sharepoint list (around 700 items) with an Excel table and delete any items that do not appear in the Excel table. I attempted this by running a 'Get a Row' for every Sharepoint item, but the Get a Row fails when the row is not found. I know that at this point I could continue with a parallel branch that have different 'Configure Run After' settings, but I'd rather the flow didn't fail if possible.

 

My other attempt is using List All Rows Present In a Table:

 

Annotation 2020-07-31 145718.png

 

The problem with this is obviously how slow it is....around 20 seconds per item... Over 3 hours! I want to follow this up with deleting all rows in the table so I'm looking at one very long flow.

 

Is there a smarter way of doing this that I'm not seeing?

 

Thanks for your help!

 

Joel

Categories:
I have the same question (0)
  • Jcook Profile Picture
    7,781 Most Valuable Professional on at

    Hello @Anonymous 

     

    What is the error message you get when the action fails?

     

    Try changing your IF condition to:

    empty(body('List_rows_present_in_a_table_2')?['value'])    is equal to   true

     

  • Community Power Platform Member Profile Picture
    on at

    Hi @Jcook, thank you for your reply. Sorry I guess I wasn't very clear. Using 'Get a Row' fails when a row is not found. The pictured alternative above works, but it is painfully slow to run, around 20 seconds per item.

  • Jcook Profile Picture
    7,781 Most Valuable Professional on at

    @Anonymous 

     

    Yes it would be very slow, since for each Sharepoint item you are Listing all the rows in the excel.

     

    Its hard to troubleshoot without seeing your full flow, and not knowing the error you are getting?

    If its just slow, try placing your excel action outside the loop, if this is not possible try changing the concurrency on the loop.

     

    This can be done by clicking the 3 dots on the loop action, and clicking settings,

    Than enable concurrency, and set to 50. 

  • Community Power Platform Member Profile Picture
    on at

    Thanks for the tip about concurrency, @Jcook, I'll check that out

     

    In terms of putting the Excel action outside of the loop, do you think there could be any benefit to performance if I was to place all table rows into an array variable and then filtered that array variable by each SharePoint list item in the Apply To All?

  • Verified answer
    Jcook Profile Picture
    7,781 Most Valuable Professional on at

    @Anonymous 

     

    Yes, you could list rows in excel than have a loop that appends the information you want to that array/string variable. (Use append)

    This would increase performance drastically.

     

    The reason its taking so long right now is that it literally has to list rows in excel for every item in SharePoint. 

  • Community Power Platform Member Profile Picture
    on at

    Thanks @Jcook .

     

    Am I on the right track here? I'm not sure what expression I would use in the Filter Array to compare each Application ID in the Sharepoint list to the Application ID in the array variable :

     

    Annotation 2020-08-01 220732.png

     

    Annotation 2020-08-01 220836.png

  • SaiKrishnaGudluru Profile Picture
    499 on at

    to improve the performance .... and you can try configuring concurent control in "apply to each" to enable parallel opeartions performed. Go to "apply to each" -> Click on three ellipses (...) -> Settings -> Enable Concurrency and drag it to 50.

     

    krishnags_0-1596323693632.png

     

  • Community Power Platform Member Profile Picture
    on at

    Thanks @krishnags, I will do this with the new flow. 

     

    I'm on attempt 3, which I think is a bit more aligned with what you were suggesting, @Jcook? Only problem is that every line is being picked up by the 'No' path in the condition. Is there a way I can limit the comparison to just the 'Application ID' columns of each the Excel table and the Sharepoint list?

     

    Annotation 2020-08-03 093724.pngAnnotation 2020-08-03 093809.png

  • Jcook Profile Picture
    7,781 Most Valuable Professional on at

    Hi @Anonymous 

     

    Try switching the values around.

     

    Current item contains Array

  • Jcook Profile Picture
    7,781 Most Valuable Professional on at

    @Anonymous 

     

    Sorry, I realized you are passing the append array the full body of the excel.

     

    You will want to have a second loop that loops through excel and appends each row to the array. Right now you are passing in the whole excel in the variable at one time.

     

    Try:

    For each loop, pass in the value from excel.

    Inside loop append only the Item Name or the identifier which is going to be checked against SharePoint.

     

    Now you will be able to use Contains.

     

     

    If you need additional help, please send me a sample from excel and I can build a POC.

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

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Automate

#1
Michael E. Gernaey Profile Picture

Michael E. Gernaey 538 Super User 2025 Season 2

#2
Tomac Profile Picture

Tomac 405 Moderator

#3
abm abm Profile Picture

abm abm 252 Most Valuable Professional

Last 30 days Overall leaderboard