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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
DmitryAD7
Helper I
Helper I

IF and SELECTEDVALUE Condition

I need a measure that will calculate the following condition: if only two atributes D1 and D2 are selected in the slicer, the D1 value (100) should be multiplied (1.25) and then summ with the D2 value (100). Expected value result - 225.

DmitryAD7_0-1707988681891.png

In all other cases, only the Total Value result (for 1 - 100, for 2 - 200, for 3 - 300, for 4 - 400, for all - 500) should be displayed.

 

Current DAX is not working:

Sales with Condition =
VAR _select =
    SELECTEDVALUE ( 'Dataset'[D] )
VAR _d1_value =
    CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "D1" ) ) * [Multiplicator]
VAR _d2_value =
    CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "D2" ) )
VAR _d3_value =
    CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "D3" ) )
VAR _d4_value =
    CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "D4" ) )
VAR _d5_value =
    CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "D5" ) )
VAR _total_d_value = _d1_value + _d2_value + _d3_value + _d4_value + _d5_value
VAR Result =
    IF ( AND ( _select = "D1", _select = "D2" ), _total_d_value, [Total Value] )
RETURN
    Result
 
Thanks for your help.
1 ACCEPTED SOLUTION
talespin
Solution Sage
Solution Sage

hi @DmitryAD7 

 

Please try this measure 

 

Sales with Condition =
VAR _CountCheck = COUNT('Dataset'[D])
VAR _val = CALCULATE ( [Total Value], REMOVEFILTERS('Dataset'[D]), 'Dataset'[D] = "D1" )
VAR _d1_value = _val*1.25
VAR _d2_value =
    CALCULATE ( [Total Value], REMOVEFILTERS('Dataset'[D]), 'Dataset'[D] = "D2" )
VAR _default_value =
    CALCULATE ( [Total Value], REMOVEFILTERS('Dataset'[D]), VALUES('Dataset'[D]) )
VAR Result =
    IF ( CONTAINSROW(VALUES('Dataset'[D]), "D1")  && CONTAINSROW(VALUES('Dataset'[D]), "D2") && _CountCheck = 2,
        _d1_value + _d2_value,
        _default_value
    )
RETURN
    Result
 
talespin_0-1708005720203.png

 

View solution in original post

6 REPLIES 6
talespin
Solution Sage
Solution Sage

hi @DmitryAD7 

 

Please try this measure 

 

Sales with Condition =
VAR _CountCheck = COUNT('Dataset'[D])
VAR _val = CALCULATE ( [Total Value], REMOVEFILTERS('Dataset'[D]), 'Dataset'[D] = "D1" )
VAR _d1_value = _val*1.25
VAR _d2_value =
    CALCULATE ( [Total Value], REMOVEFILTERS('Dataset'[D]), 'Dataset'[D] = "D2" )
VAR _default_value =
    CALCULATE ( [Total Value], REMOVEFILTERS('Dataset'[D]), VALUES('Dataset'[D]) )
VAR Result =
    IF ( CONTAINSROW(VALUES('Dataset'[D]), "D1")  && CONTAINSROW(VALUES('Dataset'[D]), "D2") && _CountCheck = 2,
        _d1_value + _d2_value,
        _default_value
    )
RETURN
    Result
 
talespin_0-1708005720203.png

 

Thanks a lot!

nareshr89
Helper II
Helper II

Try this

 

 

Sales with Condition =
VAR _select = SELECTEDVALUE ( 'Dataset'[D] )

VAR _d1_value =
CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "D1" ) ) *1.25
VAR _d2_value =
CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "_D2" ) )
VAR _defualt_value =
CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "_select" ) )

VAR Result =
IF ( _select = "D1" && _select = "D2", CALCULATE(_d1_value+_d2_value),_defualt_value)

 

If it doesn't work, share a sample PBIX file.

Hello, nope, it doesn't work. Link to the file.

Hi @DmitryAD7 ,

Try this:

I have used CONCATENATEX to build a string that contains the values selected in slicer and check if it is equal to "D1, D2"

 

VAR _select =
    CONCATENATEX(
        VALUES('Dataset'[D]),
        'Dataset'[D],
        ", "
    )
VAR _d1_value =
    CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "D1" ) ) * 1.25
VAR _d2_value =
    CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "D2" ) )
VAR _default_value =
    CALCULATE ( [Total Value], FILTER ( 'Dataset', 'Dataset'[D] = "_select" ) )
VAR Result =
    IF (
        CONTAINSSTRING(_select,"D1, D2"),
        CALCULATE ( _d1_value + _d2_value ),
        _default_value
    )
RETURN
    Result

 

 

Sorry, but it still doesn't work.

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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