cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
TeamElephant
Regular Visitor

Flow Error - Condition keeps failing

Hi there,

 

I am trying to build a Scheduled Flow that sends daily at 8am, and reads data from an Excel Sheet (via Excel Business Online, Sharepoint). The 'Recurrence' is working, and I have used the action 'List rows present in a table' to get the data which seems to be working as well.

My 'Condition' however keeps failing. I am trying to create a condition where an email is only sent when the date in excel is yesterday. In my excel, I have a date column, then a column with the formula =IF(C2=(TODAY()-1),"Yesterday","No"), so the column that Power Automate is reading just needs to differentiate between Yesterday and No. 

 

I have tried many different combinations including the below but it keeps erroring, or not reading Yesterday as true. I have tried:

  • Yesterday Tag + contains + contains('Yesterday Tag', 'Yesterday')
  • Yesterday Tag + contains + if('Yesterday', true, false)
  • Yesterday Tag + is equal to + Yesterday 

Screenshot 1.png

Any and all help and advice is appreciated!

 

Cheers,

Team Elephant 🐘

1 ACCEPTED SOLUTION

Accepted Solutions
TeamElephant
Regular Visitor

Thank you for your help, I have managed to solve this!

View solution in original post

10 REPLIES 10
Rhiassuring
Super User
Super User

Hi there, 

 

Sorry if this is one of the things you've tried, but, have you tried Yesterday without the apostrophes in your condition?

Hi @Rhiassuring ,

 

Thank you for the suggestion but yes I have, sadly it did not work either (the test succeeded but it didn't read any of the 'Yesterday' rows as true.

 

Thank you anyway 

Rhiassuring
Super User
Super User

In that case, I think you might need to wrap your dynamic content in a "string" expression. ie, string(yesterday tag). 

Trying it... ...hooray! Success!

 

The expression looks like this: 

string(item()?['Yesterday Tag'])
 
Rhiassuring_0-1660026130031.png

 

Hi @Rhiassuring ,

 

Thank you for the suggestion, I just tried it, and whilst there was no error, it still is not reading the data in the Yesterday Tag column when a row has Yesterday in it (#10 should read as true and trigger the email):

Screenshot 4.png

 

I also tried removing the apostrophes from the condition, and I tried putting it in quotation marks as well. The same result came back both times.

 

If you have any other suggestions they would be greatly appreciated! Here is what the flow looks like now:

Screenshot 5.png

 

 

Thanks!

Rhiassuring
Super User
Super User

Interesting. I know the filter array is correct because I made a column named the same, using a formula to =if(logic,"Yesterday","No") so it would simulate the same type. 

Oh. But I'm confused about something. Your Apply to Each should now look at your Filter Array output, not your Excel output - and, you won't need a condition, because the filter array ensures it ONLY has the "Yesterday"s. 

Are you able to show your Filter Array output? Does it have everything you'd expect - everything tagged with Yesterday?

Hi @Rhiassuring 

 

Thank you again for the help, I've been working through a couple of issues on my end that I discovered and I think we are almost there. Firstly, I had a look at the output from my 'Lists row present in a table' and it was not reading my formula, so all columns were returning as "No", even though the spreadsheet was displaying them as "Yesterday". Not sure why that was happening, but for now I have entered the values manually and the output is now showing correctly.

 

I checked the filter array output since doing this and the output only has the "Yesterday"s which is great, so that is working.

 

My issue now comes with the Apply to Each. When I try to make it 'look' at my Filter Array output rather than my Excel output as you suggested, it doesn't work (I can't use any dynamic content I need to fill the email body). 

When I use dynamic content to fill my email body it automatically adds in a new 'Apply to All' level and reads from my excel output. 

Screenshot 10.pngScreenshot 11.png

The result is that the emails that should send from the filter array errors as it says "An action failed. No dependent actions succeeded." (See below the first error, with just "1 of 2", as there are two columns that say Yesterday).

Conversely, the emails do send from the apply to each that reads from excel, but it sends two identical emails, and from every row in the excel, not just "Yesterday" rows (there are 105 rows in the table but only 10 have data so that is why there is an error for that second apply to each). 

Screenshot 12.png

If you have any suggestions on how to link up the filtered data from the Filter Array with the email, that would be greatly appreciated! 

Rhiassuring
Super User
Super User

From your Filter Array, you need to use a Parse JSON - then it will give you the fields you need. Have you used a Parse JSON before?

No, I haven't used one before. Is there anything in particular to note when using one?

TeamElephant
Regular Visitor

Hi @Rhiassuring 

 

Thanks for all your help so far! I've worked out how to use the Parse JSON and have got one final hurdle that I am hoping you (or someone else) can help me with. 

I've established that my Filter Array and Parse JSON are working via testing as shown below:

Screenshot B.png

This resulted in me receiving two emails, as two of my excel rows qualify under the Filter Array (Yesterday).

However, when I try to add in dynamic content from the Parse JSON Power Automate automatically adds in an additional apply to each, which then stops the filter array from working and I get an email from every row in excel, regardless of whether they qualify or not under the Filter Array. 

Screenshot A.pngScreenshot D.png

Could you please advise how I can use dynamic content without that additional apply to each?

 

Thank you!

 

TeamElephant
Regular Visitor

Thank you for your help, I have managed to solve this!

Helpful resources

Announcements
Register for a Free Workshop.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

September Events 2022

Check out all of these events

Attend in person or online, there are incredible conferences and events happening all throughout the month of September.

Users online (1,828)