cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Applications
Helper IV
Helper IV

Flow Posting Duplicates

Good morning all! I'm having an issue with my PowerAutomate automated flow posting an item to a SharePoint list twice. 

 

Here is one SharePoint list my flow references:

Applications_0-1654092999751.png

And the other list it references: 

Applications_1-1654093155433.png

 

And it populates the referenced lists to this list:

Applications_3-1654093248631.png

 

As you can see the flow worked for an order that contained more than one selection, but for an order that contained only one selection, it duplicated it in the list that combines the two. Any thoughts on why that is and how to fix it? Thank you!

 

Here is my flow:

Applications_4-1654093364715.png

Applications_5-1654093415039.png

Many thanks!

18 REPLIES 18
Applications
Helper IV
Helper IV

Oh, I think it may be because it's re-posting essentially everything the user created... possibly, not exactly sure. I would like to change the filter array to where if the OrderID column in the Shopping Cart Ordered Items 2 list matches the ID in the Shopping Cart Orders match, it then combines those two and posts to the Full Inventory Order list.

Applications
Helper IV
Helper IV

Anyone able to assist with this by chance?

Applications
Helper IV
Helper IV

Good morning all - still looking for help with this issue if anyone knows how to resolve. Thanks!

Pstork1
Dual Super User
Dual Super User

The problem is with the filter array statement you are using.  Try the following instead.

1) Use a Data Select on the Get Items output to select just the CreatedBy field

2) in a Compose do a Union() on the output of the data select against itself.  (This will give you an array of distinct users in the shopping cart.

3) Create an Apply to Each loop on the output of the Union()

      a) Inside the loop filter the Get Items array based on the current loop's value = created by

      b) Loop on the results of that filter and create new items for each entry.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

So I tried it and I think I messed up somewhere along the way:

 

Applications_0-1654533259069.png

 

Can you assist with identifying where I went wrong? Thanks!

Why is the data select inside a Loop?  Here's what it should look like

image.png

But taking another look at this I'm not sure what it is you are trying to accomplish.  Could you talk about the process a bit more?



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

So I took it out of the loop, but I'm getting an error within the Union portion: 

 

Applications_0-1654537491291.png

 

Is that the wrong expression for referencing the output of the compose?

 

As for what I'm trying to accomplish: 

  • I have a PowerApp that populates data in two different SharePoint lists, one list is the user information and the other is their order information
  • I want to combine the information from those two lists to provide a holistic representation of that user's order and their information as well

 

List with the person's information:

Applications_1-1654537810338.png

 

List with the order information:

Applications_2-1654537862634.png

 

The list they should both feed into: 

Applications_3-1654537945346.png

 

This is also the list my other post is referencing; where I want that flow to have a trigger from Delivered to update the main inventory list the PowerApp is referencing to reduce the quantity from that list to limit the option on the PowerApp for ordering. 

 

Thanks!

Union requires two parameters.  In this case they are the same, but they have to be listed twice.  And they are the output of the data Select, not the apply to each loop.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

So I fixed that and it posts, but it's still posting duplicates 😕 

 

I did change it so that it references OrderID to match the ID between the two lists as well.

 

List1 with 2 orders:

Applications_0-1654613449968.png

Order has an ID of 37 for the first, and 38 for the second

 

List2 with 2 orders:

Applications_1-1654613499159.png

 Order has an ID of 37 for the first, and 38 for the second

 

But when combining with the flow, the first order posted and combined correctly, the second order went crazy:

Applications_2-1654613566647.png

It has a total of 6 posts per order, so it reposts the first order and double posts the second order. Any thoughts?

 

Can you post a screenshot of the current flow.  In addition to doing the Union() you then need to use the results of that to organize the rest of the flow.  Not sure that has happened.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Of course! Here is the current flow:

 

Applications_0-1654622074041.png

Applications_1-1654622101462.png

 

You don't need the second filter array.  The first loop is already filtered.  So now you do one loop on the output of the union (the Compose) and inside that loop do a loop on the list you didn't filter.  Inside that loop you do a condition to see if that record matches the user in the outer loop.  If it does create an item, otherwise do nothing and loop.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

This was my attempt at understanding what you were saying, but I messed it up somewhere because now the flow doesn't merge the two and post it to the list:

 

Applications_0-1654703000856.png

 

The second select is on the "when an item is created/modified" list (the first one is on the get items list), and then the condition is if the outputs from both of the selects are equal to each other (ID to OrderID), create the item. 

 

Thoughts?

The outer apply to each loop needs to run on the array coming from the Union() compose.  That is the filtered list of distinct entries that needs to be processed.  Then inside that loop there should be a second loop that loops through the other list to see if it matches the current distinct entry from the compose.  If it does process it, if it doesn't more on.  Not sure why you would even need a select inside there.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

When you say loop what do you mean? I'm unsure of what type of operations I should be using to achieve this, which is why I used the select. After the Union() compose, should I add a condition control? Or is it another operation entirely? 

Something like this?

 

Applications_0-1654715863992.png

 

Apply to each or Do until are loops.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Ok, makes sense - so after the Union() compose - I should do an Apply to each with the Outputs from the compose, and inside that run another apply to each with the body from the first list, and have it as a control that says if ID = OrderID, create item? Apologies, I'm still not fully understanding how you would approach it

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Users online (3,124)