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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Anonymous
Not applicable

case when or if with strings in Power Query

I am new to Power BI but have used SQL. Both M and DAX are making me feel stupid!! Thanks for letting me vent.

 

I have a column that groups students into 8 different types. I want to use an if statement or case when statement to bring that down to 4 and put the 4 new labels into a new column. I am pretty sure I need to do with in Power Query. This is what I have so far. What am I doing wrong?

 

"Trad Fleer Grad", each if [College]='ADULT' then 'Fleer'
else if [College]='GRAD' then 'Graduate'
else if left([College],1)='V' then 'Nondegree'
else 'Traditional')

 

Also, is there an "in" command, such as

if [College] in ('TRAD','5YTRD','PTTRAD') then 'Traditional'

 

 

2 ACCEPTED SOLUTIONS
wdx223_Daniel
Super User
Super User

if List.Contains({"TRAD","5YTRD","PTTRAD"},[College]) then "Traditional"

View solution in original post

mussaenda
Super User
Super User

Hi @Anonymous ,

 

I understand that in SQL, you should be using ' '.

But in Power Query, it should be " ".

 

 if

[College] = "ADULT"

then "Fleer"
else

 

if [College] = "GRAD"

then "Graduate"
else

 

if

Text.Start( [College], 1) = "V"

then "Nondegree"
else

 

"Traditional"

 

 

-----------

if

List.Contains( {"TRAD","5YTRD","PTTRAD"}, [College] )

then "Traditional"

else

 

YourConditon

 

Hope this helps

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

Thank you both. I asked one question and learned a lot: about the spaces, " instead of ', List.Contains, Text.Start, and those { }. I am on a roll. 

mussaenda
Super User
Super User

Hi @Anonymous ,

 

I understand that in SQL, you should be using ' '.

But in Power Query, it should be " ".

 

 if

[College] = "ADULT"

then "Fleer"
else

 

if [College] = "GRAD"

then "Graduate"
else

 

if

Text.Start( [College], 1) = "V"

then "Nondegree"
else

 

"Traditional"

 

 

-----------

if

List.Contains( {"TRAD","5YTRD","PTTRAD"}, [College] )

then "Traditional"

else

 

YourConditon

 

Hope this helps

wdx223_Daniel
Super User
Super User

if List.Contains({"TRAD","5YTRD","PTTRAD"},[College]) then "Traditional"

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Kudoed Authors