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

Trouble with condition for modified field

Hey all,

 

Noob to Flow here and haven't yet got my head around the more advanced flows with expressions etc but I'm hoping it's not required for this.

 

I have a large sharepoint list and I want to create a flow that updates a row in an Excel table if there is a change made to a single field.  The field is called Support Level and has 4 options - Light, Minimal, Intermediate & Intensive.

 

After looking around the community I tried to do it with a Switch but that didn't work and I'm back to looking at Condition where it adds the row if the field is modified but I don't know how to create it.  I've seen someone mention "previous" as in the previous value and then "is not equal to" the current value but I can't see how to add this.

 

Feels like it should be a simple one and I don't need to get too techy I hope!

Thanks,

Chris

12 REPLIES 12
Dual Super User II
Dual Super User II

Hi @mindroomchris , 

 

Do you want to add the items to different excel worksheets/tables? or is it just one worksheet with one table and different columns that you are working on. I mean to ask is, when the row is updated in excel, do you have a single column for all the support levels where you just want the value or do you have different columns for the different support levels and that is how you want to filter the items and update the rows? 

 

Hi Yashag,

 

The Excel table is separate and just for this, I've created it to have the Support Level as a single Column, it would be ideal to have this show the previous level and the new one if that can be done.  There are other columns on the table too but they aren't part of the modified condition such as date modified, team member and ID.

 

Thanks,

Chris

@mindroomchris 

 

Understood. So you want to get the previous Support level and the current support level right? 

 

So how the "When an item is created or modified" trigger works is, it gets triggered on the save button and it will NOT retrieve the previous value in case it was modified. So here is a work around for this: 

 

You can create two flows. 

1. Use the trigger when an item was created and update the excel row with the details and name the Support Level column as Support level column when created. 

 

2. Use the trigger when an item was created or modified and update the excel row with the details and this time put the updated value to the Support Level column updated. 

 

Note that these two flows will trigger every time an item is created and the columns will be updated accordingly. What you can do is, in the second one, add another action, get row from excel and map it to the current id and check if the Support level columns are equal and if yes, terminate the flow and if no it will update excel. 

 

Hope this Helps!

 

If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!

Thanks for that yashag, mostly there.  The only part that I'd like to fix is that a new record on the Sharepoint list is popping up twice, once with the original support level and then again with the updated support level at the exact same time.

I don't really understand what the "Get A Row" action does so I'm guessing I've made a mistake here somewhere.  Appreciate your help getting me this far!

 

Thanks,
Chris

 

Capture Excel.JPGCapture.JPG

Hi @mindroomchris 

 

I think I made a mistake by suggesting to create two flows. This is not a good practice. What we will do is, 

discard the flow in which the trigger is When an Item is created. 

 

We will modify the When an Item is Created or Modified trigger. In this after the trigger, add an action list rows and we will check of the item already exists in the excel sheet (using the odata filters) and if it does, we will update the Solution Level in the update column and if it does not exist then we create a new row. 

 

Sorry for the inconvenience caused. 

 

Hope this Helps.

Having a look at OData and the filters and I'm a little bit lost.  Heading off now so shall check this again when I come in tomorrow.

 

Thanks for your help, most appreciated 🙂 

Seeing as it was accidentally adding the new items into the updated column as well I thought it seemed easy enough to delete the created item flow and just revert back to the one column where I could then create a COUNTIF column in the table to show the amount of times an item has had the support level modified.

 

I had to remove the GETROW action from the flow which I didn't really understand and it seems to be working for now.

Thanks for all your help on this, I shall look into gaining a better understanding of Flow because it feels a bit like learning guitar - the gap between the beginner stuff and anything more complicated is huge!

 

EDIT - I see the reasoning for GETROW now and putting it back in!

 

 

Hi @mindroomchris ,

It seems you want to update the corresponding row in the excel when an item is modified.

If the item has existed in the excel, update the row, if no, create a new row.

I have made a test on my side, please take a try with the following workaround:

Expression in condition: string(triggerBody()?['ID'])

Capture6.PNGCapture7.PNG

Best Regards,

Community Support Team _ Zhongys

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi 

 

 

 

 

Sorry, that's much closer than I thought it was going to be.  I thought update a row would've changed the support level but it did still create a new row.


The only problem seems to be that it will add a new row when other items are changed that aren't connected to the Support Level.  I don't want anything to happen in that instance.

 

EDIT - I'll try to put in another condition at the top to stop this.

Sorry  v-zhos-msft, I've added the condition so that it won't create a new record if it doesn't require a Support Level but I do still have the same problem for it adding a new row even if the Support Level hasn't changed.

 

I'm happy to go with the one column for Support Level but I only want this to update if it's different to the latest entry for that ID.

 

Capture.JPG

Hi,

 

Sorry to be a pest but can somebody tell me how to resolve this last part so that I can use the flow?

 

I don't want the Flow to run if the Support Level Column has not changed from the latest entry.  I think I have it so it's only searching the first entry on Excel and not the most recently added row.  Ultimately I want to be able to count the amount of times a Support Level is changed on an item.

 

Thanks!

Helpful resources

Announcements
Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

New Super Users

Meet the Power Automate Super Users!

Many congratulations to the Season 1 2021 Flownaut Crew!

Microsoft Ignite

Microsoft Power Platform: 2021 Release Wave 1 Plan

Power Platform release plan for the 2021 release wave 1 describes all new features releasing from April through September 2021.

MPA Community Blog

Power Automate Community Blog

Check out the community blog page where you can find valuable learning material from community and product team members!

Users online (33,988)