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

Preparing for a certification exam? Ask exam experts all your questions on May 15th. Register now.

Reply
fisqkuz1
Frequent Visitor

measure with multiple if statements

hi all 

 

coming from a python background, i am trying to get the hang of dax.

however I am having trouble with the following attempt:

 

Revenue or Cost =
IF(table[col] = "short" & table[col2] > 0, 2, 1
ELIF(table[col] = "long" & table[col2] > 0, 1, 2
ELSE, 1, 2)
 
i can't figure out how to get this in a simple measure rather than a new column
1 ACCEPTED SOLUTION
v-easonf-msft
Community Support
Community Support

Hi, @fisqkuz1 

Try measure formula like the following:

 

Measure = 
var _col=MAX('Table'[col])
var _col2=MAX('Table'[col2])
return 
SWITCH(TRUE(),
    _col="short"&&_col2>0,2,
    _col="short"&&_col2<>0,1,
    _col="long"&&_col2>0,1,
    _col="long"&&_col2<>0,2,
    2
)

 

If it doesn't work, pelase share your sample data and expected result in excel.

Best Regards,
Community Support Team _ Eason

View solution in original post

4 REPLIES 4
v-easonf-msft
Community Support
Community Support

Hi, @fisqkuz1 

Try measure formula like the following:

 

Measure = 
var _col=MAX('Table'[col])
var _col2=MAX('Table'[col2])
return 
SWITCH(TRUE(),
    _col="short"&&_col2>0,2,
    _col="short"&&_col2<>0,1,
    _col="long"&&_col2>0,1,
    _col="long"&&_col2<>0,2,
    2
)

 

If it doesn't work, pelase share your sample data and expected result in excel.

Best Regards,
Community Support Team _ Eason

tamerj1
Super User
Super User

Hi @fisqkuz1 
I don't fully understand your If - Else statement but you may try the following

Revenue or Cost =
SUMX (
    table,
    IF (
        table[col] = "short" & table[col2] > 0,
        2,
        IF ( table[col] = "long" & table[col2] > 0, 1, 2 )
    )
)

hi, thanks for your answer!

i want to simply get a 1 or 2 as output such as booleans

where 1 = revenue and 2 = cost

 

The you use the sane logic. Only last oart shall not be required 

Revenue or Cost =
SUMX (
    table,
    IF (
        table[col] = "short" & table[col2] > 0,
        table[Revenue],
        IF ( table[col] = "long" & table[col2] > 0, table[Cost] )
    )
)

Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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

Top Kudoed Authors