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

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
jeongkim
Post Prodigy
Post Prodigy

if condition for M code

Hi,

 

I'm using this dax but how can I write M code in query when create new custom column?

Also is there any way change the values directly without adding new column? 

 

 

IF([MRBTS ID] < 113000, "A",
IF([MRBTS ID >= 113000 && [MRBTS ID] < 125401, "B",
IF([MRBTS ID >= 125401 && [MRBTS ID] < 130000, "C",
IF([MRBTS ID >= 130000 && [MRBTS ID] < 160000, "D",
Blank()

 

 

 

jeongkim_0-1749714122588.png

 

1 ACCEPTED SOLUTION
hnam_2006
Frequent Visitor

Hi

 

You can use the "conditional column" option in add column ribbon option. Make sure you define each condition in seperate line

 

hnam_2006_0-1749715610345.png

 

Or if you want to write the code, you can use below code option

 

= Table.AddColumn(YourPreviousStepName, "New Column", each 
    if [MRBTS ID] < 113000 then "A" 
    else if [MRBTS ID] >= 113000 and [MRBTS ID] < 125401 then "B" 
    else if [MRBTS ID] >= 125401 and [MRBTS ID] < 130000 then "C" 
    else if [MRBTS ID] >= 130000 and [MRBTS ID] < 160000 then "D" 
    else null)

 

Best Regards,
hnam_2006
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

View solution in original post

3 REPLIES 3
Elena_Kalina
Solution Sage
Solution Sage

Hi @jeongkim 

You can replace values in an existing column using Transform > Replace Values or with M code:

  1. Right-click your query and select Advanced Editor

  2. Add a step like this after your source:

= Table.ReplaceValue(
    PreviousStepName,
    each [MRBTS ID],
    each if _ < 113000 then "A"
         else if _ >= 113000 and _ < 125401 then "B"
         else if _ >= 125401 and _ < 130000 then "C"
         else if _ >= 130000 and _ < 160000 then "D"
         else null,
    Replacer.ReplaceValue,
    {"MRBTS ID"}
)
hnam_2006
Frequent Visitor

Hi

 

You can use the "conditional column" option in add column ribbon option. Make sure you define each condition in seperate line

 

hnam_2006_0-1749715610345.png

 

Or if you want to write the code, you can use below code option

 

= Table.AddColumn(YourPreviousStepName, "New Column", each 
    if [MRBTS ID] < 113000 then "A" 
    else if [MRBTS ID] >= 113000 and [MRBTS ID] < 125401 then "B" 
    else if [MRBTS ID] >= 125401 and [MRBTS ID] < 130000 then "C" 
    else if [MRBTS ID] >= 130000 and [MRBTS ID] < 160000 then "D" 
    else null)

 

Best Regards,
hnam_2006
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

Cookistador
Super User
Super User

Hi @jeongkim 

 

This is the M code for your Dax code

if [MRBTS ID] < 113000 then "A"
else if [MRBTS ID] >= 113000 and [MRBTS ID] < 125401 then "B"
else if [MRBTS ID] >= 125401 and [MRBTS ID] < 130000 then "C"
else if [MRBTS ID] >= 130000 and [MRBTS ID] < 160000 then "D"
else null // Equivalent to BLANK() in DAX

 

For your second question, you can use replace, but probably not the best approach

What I would sugget, would be to remove your main column once the calculated column has been added and then renammed the calculated column by the name of the source one

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.