Happy 8th birthday to the Maveryx Community! Take a walk down memory lane in our birthday blog, and don't miss out on the awesome birthday present that all Maveryx Community members get to take advantage of!
alteryx Community

# Alteryx Designer Desktop Discussions

SOLVED

## Month name based on number

7 - Meteor

What is incorrect with my formula?

if [Report month]=1 then 'January' elseif [Report month]=2 then 'February' elseif [Report month]=3 then 'March' elseif [Report month]=4 then 'April' elseif [Report month]=5 then 'May' elseif [Report month]=6 then 'June' elseif [Report month]=7 then 'July' elseif [Report month]=8 then 'August' elseif [Report month]=9 then 'September' elseif [Report month]=10 then 'October' elseif [Report month]=11 then 'November' elseif [Report month]=12 then 'December' else [Report month] endif

6 REPLIES 6
12 - Quasar

Hi @JustynaMZ ,

You can use the following formula to extract the full month name from a date column which could save you the trouble of writing a long if statement:

``DateTimeFormat([date_field], '%B')``

I find the link below very useful when using the different date functions.

DateTime Functions | Alteryx Help

11 - Bolide

Think you are overcomplicating this. A formula tool with the below will do what you are looking once the column is formated to the correct DateTime.

``DateTimeFormat([Report month],'%B')``
11 - Bolide

If the column you are using isnt in a Date/Time format and just a string number of 1-12 you can also use the following.

``DateTimeFormat(DateTimeParse(ToString([Report month]),"%m"),"%B")``
7 - Meteor

Thanks, and if I want to receive previous month (i.e. if I have 4 as April and for 4 I want to receive 'March'?

13 - Pulsar

Hi, @JustynaMZ

If I understand your question correctly:

1. If you have a field, [Report month], that is Type = Text or String, with values ranging from 1-12, then do the below

If [Report month]='1' then 'January'

elseif [Report month]='2' then 'February'

elseif [Report month]='3' then 'March'

elseif [Report month]='4' then 'April'

elseif [Report month]='5' then 'May'

elseif [Report month]='6' then 'June'

elseif [Report month]='7' then 'July'

elseif [Report month]='8' then 'August'

elseif [Report month]='9' then 'September'

elseif [Report month]='10' then 'October'

elseif [Report month]='11' then 'November'

elseif [Report month]='12' then 'December'

else 'Fix Me'

endif

2. If your [Report month] field is an integer or double or number, you can use ToString([Report month]) to make it a string or text  AND then use the formula in 1 above. OR, you can keep the number format and alter the formula in 1 above by changing '1' to 1, i.e., do not represent the month as text.

-If you have a Date field in your data, you may use the Date Parse Tool or the date format formulas in a Formula Tool.

- I hope you find this helpful. Cheers!

13 - Pulsar

Hi, @JustynaMZ

If you have a date field, use DateTimeAdd([Date field], -1, "month") to get the month before the current month