Forum Discussion
IF THEN ELSE syntax
Hello all,
I've a syntax issue, it returns me "THEN syntax is incorrect"
My code :
Has someone an idea to help me to understand my mistake ? Thanks,
Hi PierreM52
Here's your if then else translated into M for Power Query
I've also created a PBIX file and an Excel Workbook with dummy data showing how this works.
#"Added Custom" = Table.AddColumn(PreviousStepName, "Custom", each if (Time.Hour([Debut]) >= 5 and Time.Hour([Debut]) < 13 and Date.DayOfWeek([Jour], Day.Monday) <> 5) then "Matin" else if (Time.Hour([Debut]) >= 3 and Time.Hour([Debut]) < 21 and Date.DayOfWeek([Jour], Day.Monday) <> 5) then "Après-midi" else if Date.DayOfWeek([Jour], Day.Monday) <> 5 then "Nuit" else if (Time.Hour([Debut]) >= 5 and Time.Hour([Debut]) < 11 and Date.DayOfWeek([Jour], Day.Monday) = 5) then "Matin" else if (Time.Hour([Debut]) >= 11 and Time.Hour([Debut]) < 17 and Date.DayOfWeek([Jour], Day.Monday) = 5) then "Après-midi" else "Nuit")Phil
If I answered your question please mark my post as the solution.
If you liked my answer click on the Thumbs Up icon.
6 Replies
- PhilipTreacySuper User
Hi PierreM52
Here's your if then else translated into M for Power Query
I've also created a PBIX file and an Excel Workbook with dummy data showing how this works.
#"Added Custom" = Table.AddColumn(PreviousStepName, "Custom", each if (Time.Hour([Debut]) >= 5 and Time.Hour([Debut]) < 13 and Date.DayOfWeek([Jour], Day.Monday) <> 5) then "Matin" else if (Time.Hour([Debut]) >= 3 and Time.Hour([Debut]) < 21 and Date.DayOfWeek([Jour], Day.Monday) <> 5) then "Après-midi" else if Date.DayOfWeek([Jour], Day.Monday) <> 5 then "Nuit" else if (Time.Hour([Debut]) >= 5 and Time.Hour([Debut]) < 11 and Date.DayOfWeek([Jour], Day.Monday) = 5) then "Matin" else if (Time.Hour([Debut]) >= 11 and Time.Hour([Debut]) < 17 and Date.DayOfWeek([Jour], Day.Monday) = 5) then "Après-midi" else "Nuit")Phil
If I answered your question please mark my post as the solution.
If you liked my answer click on the Thumbs Up icon. - FowmySuper User
- PierreM52New Member
- FowmySuper User
The syntax is wrong if it DAX. You don't enter THEN and ELSE,
Refer to this article: https://docs.microsoft.com/en-us/dax/if-function-dax
________________________
If my answer was helpful, please consider Accept it as the solution to help the other members find it
Click on the Thumbs-Up icon if you like this reply 🙂