cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
The_Parisian
New Member

filter array for a calculated date field

Hello, 

 

I have created a simple flow that is triggered once a day. The objective of this flow is to go and check, on daily basis, the expiry date and if any item meets that condition an email will be sent to the user. 

 

So on the sharepoint list I have created a calculated column which calculates the expiry date based on the issuance date. 

 

I know that Flow doesn't accept filtering calculated fields/column in Get Item action. Some suggest to create a Filter Array. I did but unfortunately the filter is not filtering and it is sending an email to everyone in the list on daily basis even though the expiry date is way far from today's date. 

 

Any one can help please? 

Thanks

 

Flow_FilterArray.JPG

3 REPLIES 3
ekarim2020
Super User
Super User

I would need to see some sample data for CertificateExpiry to help figure out why your filter is not working. In the mean time uou should add a condition to check if the Filter Array action returns any results. If not, do nothing, else process the results in your Apply to each loop:

ekarim2020_1-1631395448816.png

ekarim2020_2-1631395476140.png

Ellis

Hello, 

 

Thank you for your response? Do you mean the formula that I used for the date field calculations? So basically, the date is calculated based on the another a number field called "Critical". The expiry date varies subject to the content of the Critical field. 

 

Here's the formula I used to create the calculated field "CertificateExpiryDate" - 

=IF(Critical=1,DATE(YEAR([Certificate Issuance Date]),MONTH([Certificate Issuance Date])+11,DAY([Certificate Issuance Date])),DATE(YEAR([Certificate Issuance Date]),MONTH([Certificate Issuance Date])+35,DAY([Certificate Issuance Date])))
 
Looking forward for your reply. 
 
Thanks
Tony
ekarim2020
Super User
Super User

I think what is happening is that the date values you are comparing in the Filter array action are not equal, even though they appear to have the same date in SharePoint:

ekarim2020_5-1631647443481.png

The CertificateExpiryDate field is a calculated field and the value we see displayed in SharePoint in the above example is 14/09/2021. But internally SharePoint stores this calculated date value along with a time stamp (midnight) as 2021-09-14T00:00:00Z (UTC format):

ekarim2020_6-1631647573289.png

So when you use the CertificateExpiryDate field in the Filter Array action and compare it with the formatted date from the UtcNow() function you are actually comparing two different values:

ekarim2020_4-1631646890468.png

I suggest that you try formatting the CertificateExpiryDate as yyyy-MM-dd in the Filter Array action:

ekarim2020_2-1631645776205.png

Try that and let me know how you get on.

Ellis

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

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

Power Automate Designer Feedback_carousel.jpg

Help make Flow Design easier

Are you new to designing flows? What is your biggest struggle with Power Automate Designer? Help us make it more user friendly!

Users online (4,000)