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

Get dates in sharepoint

Hi,

 

Hope you are well.

 

I have a sharepoint List where a document can be added for approval, it has Approval Date, Review Period & Review Date.

Review Period is a choice column.

VikasNagaraj_0-1639576519194.png

I want to display the Review Date based on the Review Period selected. 

VikasNagaraj_1-1639576691946.png

 

ie:

Approval Date + Review Period = Review Date.

Since Review Period is choice i do not know how to achieve this flow, could you guide me through please. Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
hemrhk
Super User
Super User

@VikasNagaraj 

 

For Choice column you should select the value property, I have created the with the same column type like your example.

 

if (equals(outputs('Get_item') ? ['body/ReviewPeriod/Value'], '3 months'), addDays(outputs('Get_item') ? ['body/ReviewDate'], 90),
    if (equals(outputs('Get_item') ? ['body/ReviewPeriod/Value'], '6 months'), addDays(outputs('Get_item') ? ['body/ReviewDate'], 180), addDays(outputs('Get_item') ? ['body/ReviewDate'], 0)))

 

Instead of get item use trigger output for your problem.

 

For more Power Platform related stuffs,

Follow this blog 365stack 

View solution in original post

16 REPLIES 16
jinivthakkar
Super User
Super User

@VikasNagaraj try something like this 

 

formatDateTime(addDays(utcNow(),180), 'yyyy-MM-dd')

 

instead of utcNow() pass the value of Approval Date and can update 180 to 365 etc. etc. to get other dates.

 

--------------------------------------------------------------------------------

If this post helps answer your question, please click on “Accept as Solution” to help other members find it more quickly. If you thought this post was helpful, please give it a Thumbs Up.

@jinivthakkar 

Thanks for the reply, i am not that good at flow, what are the steps that i should follow to achieve this? could you help me ? or is there a document or reference i can go through?

@jinivthakkar 

Could you please help me with this? what would be the steps in flow that i should perform? Thank you

VikasNagaraj
Helper V
Helper V

@jinivthakkar  please help me with this? i tried my best to do everything i am not able to achieve this. 

Since your review period is a choice column, it should be checked in condition within the expression. Based on the Review period selected Review date should be calculated.

Replace triggerBody with the "Review Period" and utcNow with "Approval Date"

 

if(equals(triggerBody()['text'],'3 months'),addDays(utcNow(),90),
if(equals(triggerBody()['text'],'6 months'),addDays(utcNow(),180),addDays(utcNow(),0)))

 

For Power Platform related stuffs,

Follow this blog 365stack 

 Thanks for the reply, could you guide me through steps please? if i am right the first step would be

Sharepoint - When a file is created or modified (properties only) under this i will map the the site and everything, after this step what should i use, i am really sorry not that good with powerautomate.

@hemrhk

hemrhk
Super User
Super User

Create a compose action and put this expression.

Pass the output of the compose action to the update item action.

 

AddDays.png

 

For Power Platform related stuffs,

Follow this blog 365stack 

@hemrhk 

Is this how the expression should like ? 

it says expression is invalid. 

if(equals(triggerOutputs()?['body/ReviewPeriod'],'3 Months'),addDays(triggerOutputs()?['body/ReviewDate']),90),if(equals(triggerOutputs()?['body/ReviewPeriod'],'6 months'),addDays(triggerOutputs()?['body/ReviewDate'],180),if(equals(triggerOutputs()?['body/ReviewPeriod'],'12 months'),addDays(triggerOutputs()?['body/ReviewDate'],365),if(equals(triggerOutputs()?['body/ReviewPeriod'],'18 months'),addDays(triggerOutputs()?['body/ReviewDate'],548),if(equals(triggerOutputs()?['body/ReviewPeriod'],'24 months'),addDays(triggerOutputs()?['body/ReviewDate'],730),addDays(utcNow(),0)))

All the if conditions are nested so appropriate closing parenthesis should be added.

 

if (equals(triggerBody()['text'], '3 months'), addDays(utcNow(), 90),
    if (equals(triggerBody()['text'], '6 months'), addDays(utcNow(), 180),
        if (equals(triggerBody()['text'], '12 months'), addDays(utcNow(), 365),
            if (equals(triggerBody()['text'], '18 months'), addDays(utcNow(), 548),
                if (equals(triggerBody()['text'], '24 months'), addDays(utcNow(), 730), addDays(utcNow(), 0))))))

 

For more Power Platform related stuffs,

Follow this blog 365stack 

@hemrhk 

I am still getting as expression invalid 

VikasNagaraj_0-1641299675821.png

 

hemrhk
Super User
Super User

You might have made some mistakes while changing the fields, Please check from your end.

 

@hemrhk 

I copied the code you sent above and tried to make changes like you said, i was only able to change the triggerbody for 3 months and rest i was not able to do it, then i saw extra spacing between the first if statement and the second, I taught that might be the issue and removed the extra spacing, i was able to replace triger body and utc function to dynamic values, but it gives me error saying invalid expression, dont know what i am doing wrong please help.

hemrhk
Super User
Super User

@VikasNagaraj 

 

For Choice column you should select the value property, I have created the with the same column type like your example.

 

if (equals(outputs('Get_item') ? ['body/ReviewPeriod/Value'], '3 months'), addDays(outputs('Get_item') ? ['body/ReviewDate'], 90),
    if (equals(outputs('Get_item') ? ['body/ReviewPeriod/Value'], '6 months'), addDays(outputs('Get_item') ? ['body/ReviewDate'], 180), addDays(outputs('Get_item') ? ['body/ReviewDate'], 0)))

 

Instead of get item use trigger output for your problem.

 

For more Power Platform related stuffs,

Follow this blog 365stack 

@hemrhk 

I  tried it no errors with the expression but i did not get the output it is just blank.

if(equals(triggerOutputs()?['body/ReviewPeriod/Value'], '3 Months'),addDays(triggerOutputs()?['body/ReviewDate0'],90),if(equals(triggerOutputs()?['body/ReviewPeriod/Value'], '6 Months'),addDays(triggerOutputs()?['body/ReviewDate0'], 180), addDays(triggerOutputs()?['body/ReviewDate0'],0)))
hemrhk
Super User
Super User

@VikasNagaraj 

 

BTW check triggerOutputs()?['body/ReviewPeriod/Value'] and triggerOutputs()?['body/ReviewDate0'] in a separate compose action to see whether this expression returns the value.

 

Approval Date + Review Period = Review Date

 

In the expression, you are adding the no of days with ReviewDate but it should be added with Approval Date right Or is it the internal name of "Approval Date".

 

For more Power Platform related stuffs,

Follow this blog 365stack 

 

@hemrhk 

Thank you very much, i think i did not add approval date as you said, it worked fine after i changed 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.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Users online (5,826)