Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

alteryx formula

novice1
8 - Asteroid

Hi,

 

I have the following formula that i that brigs back data for current month and bring back data for last month if today is 1st of the month. 

 

I need to modify this formula to do exactly same, but for the previous year.

 

This is the formulas I use

 

DateTimeDay(DateTimeToday())-1

 

if DateTimeDay(DateTimeToday()) = 1
then DateTimeAdd(DateTimeAdd(DateTimeToday(),[Date today]*-1,"days"),-1,"month")
else DateTimeAdd(DateTimeToday(),(DateTimeDay(DateTimeToday())-1)*-1,"days") endif

 

Any help would be very much appreciated 

 

Thank you

 
5 REPLIES 5
LordNeilLord
15 - Aurora

Hey @novice1 

 

This might work:

 

if DateTimeDay(DateTimeToday()) = 1
then DateTimeAdd(DateTimeAdd(DateTimeAdd(DateTimeToday(),[Date today]*-1,"days"),-1,"month"), -1, "years")
else DateTimeAdd(DateTimeAdd(DateTimeToday(),(DateTimeDay(DateTimeToday())-1)*-1,"days"), -1, "years") endif

novice1
8 - Asteroid

Hi,

 

Perfect thank you. i was trying that but was getting parse error. Looks likeI forgot to add  another DateTimeAdd in my statement.

Thank you so much for quick response. 🙂

 

 

TonyA
Alteryx Alumni (Retired)

I think this will do what you want. Let me know if I'm missing something:

 

IF DateTimeDay(DateTimeToday()) = 1
THEN DateTimeAdd(DateTimeAdd(DateTimeFirstOfMonth(),-1,"month"),-1,"year")
ELSE DateTimeAdd(DateTimeFirstOfMonth(),-1,"year")
ENDIF

 

By the way, you found a pretty neat trick for getting to the first of any month, but if you need the first of the current month, you can use the DateTimeFirstOfMonth() function as I did above..

 

EDIT: I found a mistake in the second part of the expression that I fixed above.

novice1
8 - Asteroid

Thank you. This solution works as well as the one suggested by Lord Neil.

 

I will have to trial it tomorrow. my hope is , that tomorrow it will only bring back data for Current Month, i.e. October 2019 and October 2018.

 

Have a great day.

 

novice1
8 - Asteroid

Hello,

 

So i have tried and tested following formulas for the salt 2 days and it works like a charm.

 

I use this formula to work out date today

DateTimeDay(DateTimeToday())-1

 

and then apply this formula to pull back data for previous month if today is 1st of any given month

 

if DateTimeDay(DateTimeToday()) = 1

then DateTimeAdd(DateTimeAdd(DateTimeToday(),[Date today]*-1,"days"),-1,"month")

else DateTimeAdd(DateTimeToday(),(DateTimeDay(DateTimeToday())-1)*-1,"days") endif

 

and use formula below to apply same principle for Last year

 

if DateTimeDay(DateTimeToday()) = 1

then DateTimeAdd(DateTimeAdd(DateTimeAdd(DateTimeToday(),[Date today]*-1,"days"),-1,"month"), -1, "years")

else DateTimeAdd(DateTimeAdd(DateTimeToday(),(DateTimeDay(DateTimeToday())-1)*-1,"days"), -1, "years") endif

 

 

Regards. 🙂

 

Labels