Important Community update: The process for changing your account details was updated on June 25th. Learn how this impacts your Community experience and the actions we suggest you take to secure your account here.

Alteryx Designer Desktop Discussions

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

Defining a work crew by dayname and time

Mfuson
5 - Atom

Hello, i'm new to Alteryx and i'm trying to add a formula to calculate which work crew by using Daynumber and time.  Here is what i've tried but can't seem to get it to work.

 if([DayNumber]='1' && DateTimeFormat([Time],'%H%M')>='06:00' && DateTimeFormat([Time],'%H%M')<='17:59') then 'A-Crew' elseif
if([DayNumber]='1' && DateTimeFormat([Time],'%H%M')>='18:00' && DateTimeFormat([Time],'%H%M')<='05:59') then 'C-Crew' elseif
if([DayNumber]='2' && DateTimeFormat([Time],'%H%M')>='06:00' && DateTimeFormat([Time],'%H%M')<='17:59') then 'A-Crew' elseif
if([DayNumber]='2' && DateTimeFormat([Time],'%H%M')>='18:00' && DateTimeFormat([Time],'%H%M')<='05:59') then 'B-Crew' elseif
if([DayNumber]='3' && DateTimeFormat([Time],'%H%M')>='06:00' && DateTimeFormat([Time],'%H%M')<='17:59') then 'A-Crew' elseif
if([DayNumber]='3' && DateTimeFormat([Time],'%H%M')>='18:00' && DateTimeFormat([Time],'%H%M')<='05:59') then 'B-Crew' elseif
if([DayNumber]='4' && DateTimeFormat([Time],'%H%M')>='06:00' && DateTimeFormat([Time],'%H%M')<='17:59') then 'A-Crew' elseif
if([DayNumber]='4' && DateTimeFormat([Time],'%H%M')>='18:00' && DateTimeFormat([Time],'%H%M')<='05:59') then 'B-Crew' elseif
if([DayNumber]='5' && DateTimeFormat([Time],'%H%M')>='06:00' && DateTimeFormat([Time],'%H%M')<='17:59') then 'C-Crew' elseif
if([DayNumber]='5' && DateTimeFormat([Time],'%H%M')>='18:00' && DateTimeFormat([Time],'%H%M')<='05:59') then 'B-Crew' elseif
if([DayNumber]='6' && DateTimeFormat([Time],'%H%M')>='06:00' && DateTimeFormat([Time],'%H%M')<='17:59') then 'C-Crew' elseif
if([DayNumber]='6' && DateTimeFormat([Time],'%H%M')>='18:00' && DateTimeFormat([Time],'%H%M')<='05:59') then 'SS-Crew' elseif
if([DayNumber]='0' && DateTimeFormat([Time],'%H%M')>='06:00' && DateTimeFormat([Time],'%H%M')<='17:59') then 'SS-Crew' elseif
if([DayNumber]='0' && DateTimeFormat([Time],'%H%M')>='18:00' && DateTimeFormat([Time],'%H%M')<='05:59') then 'C-Crew'
else 0
end

 

Any help would be appreciated

3 REPLIES 3

Hi @Mfuson 

 

Couple of notes here that could help:

1- After elseif, you don't need to put another "if". It should be if xxxxxx then xxxx elseif [DayNumer]xxxxx..etc

2- The datetimeformat you're using is %H%M which will give you 600 (looking at first condition) instead of the 6:00 you specified (%H:%M).

3- You have the time as string or text and in this case, operators such as >= are not going to give you what you are looking for.

 

Hope this helps. Cheers!

Qiu
21 - Polaris
21 - Polaris

@Mfuson 
I think the situation is a bit more complicated than a formula tool.

We have also consider the night shift, which slides to next day.

1208-Mfuson.PNG

Mfuson
5 - Atom

Thanks for everyones input.  After alot of trial and error, i was able to adapt "QiU's" solution to my workflow.  Thanks QIU.

Mfuson_0-1608232114255.png

 

Labels