Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
sanchit
Frequent Visitor

Expression error: The name 'SWITCH' wasn't recognized. Make sure it's spelled correctly.

 

Hi

I am trying to create a custom column on “Time Column” using Switch. Format of Time Column-"10:30:00 AM".

Desired Output : If Time is between “08:30:00 AM” and “10:30:00 AM" then “Peak Hours” else “Non Peak Hours”.

 

I have tried three different case :

  • SWITCH(TRUE(),

            AND([EventTime]>="06:30:00 AM", [EventTime]<="10:30:00 AM"), "Peak Hours",

            "Non Peak Hours"

            )

Error : Expression error: The name 'SWITCH' wasn't recognized.  Make sure it's spelled correctly

  •  SWITCH(TRUE(),

          [EventTime]>="06:30:00 AM" && [EventTime]<="10:30:00 AM"," PEAK HOURS",

          "NON PEAK HOURS"

          )

Error : Token Literal Expected

 I converted the Time column into text which changed the time format to “06:30”.

  • SWITCH(TRUE(),

         AND([#"EventTime - Copy"]>="06:30" ,[#"EventTime - Copy"]<="10:30")," PEAK HOURS",

        "NON PEAK HOURS"

         )

Error : Expression error: The name 'SWITCH' wasn't recognized.  Make sure it's spelled correctly

 

Same was the case when i tried with "IF". I am not sure if we can apply Switch case or If on Time Column.

 

Thanks in Advance.

1 ACCEPTED SOLUTION

Ahhhh, that's the problem. Switch is a DAX formula, but you are trying to use it in Power Query, which uses the Power Query Formula Language (PQL)



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

View solution in original post

4 REPLIES 4

Maybe this is a silly question, but are you putting an equal sign first?  It is not in your formulas. Also, your test seems to be a text test, but you say it is a time column.   Try using the time function in place of the text representation of the time. https://msdn.microsoft.com/en-us/library/ee634564.aspx



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

@MattAllington  Yes , i used an equal sign , sorry did not copy that. And one more thing i am using Add Custom Column in Edit Queries.

Ahhhh, that's the problem. Switch is a DAX formula, but you are trying to use it in Power Query, which uses the Power Query Formula Language (PQL)



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

@MattAllington Oh... I did not know that. Thanks for your help. I added a new column in Table Format it worked 🙂

This is what i used :

Column = SWITCH(TRUE(),
AND([EventTime]>=TIMEVALUE("09:30:00 AM"), [EventTime]<=TIMEVALUE("10:00:00 AM")), "Peak Hours",
"Non Peak Hours"
)

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.