Reply
DryMouse555
Frequent Visitor
Partially syndicated - Outbound

Add two or more columns with a condiotion

Hi,

 

I have the below data,

 

Column AColumn BColumn C
ABCMap$56
EFGCamera$89
IJKElectricity$789
   


I want to do Sum (Column C, where Column A =ABC and Column B =Map) + Sum (Column C, where Column A =EFG and Column B =Camera) + Sum (Column C, where Column A =IJK and Column B =Electricity)

Can you tell me how to do in Power BI dax?

 

Thanks

2 ACCEPTED SOLUTIONS
manvishah17
Responsive Resident
Responsive Resident

Syndicated - Outbound

Hi @DryMouse555 ,
You can try out this DAX Measure,

 

TotalSum = 
SUMX(
    'YourTable',
    SWITCH (
        TRUE (),
        'YourTable'[Column A] = "ABC" && 'YourTable'[Column B] = "Map", 'YourTable'[Column C],
        'YourTable'[Column A] = "EFG" && 'YourTable'[Column B] = "Camera", 'YourTable'[Column C],
        'YourTable'[Column A] = "IJK" && 'YourTable'[Column B] = "Electricity", 'YourTable'[Column C],
        0  -- Default case, if none of the conditions match
    )
)

 

 or this one..

TotalSum = 
SUMX(
    FILTER(
        'YourTable',
        ('YourTable'[Column A] = "ABC" && 'YourTable'[Column B] = "Map") ||
        ('YourTable'[Column A] = "EFG" && 'YourTable'[Column B] = "Camera") ||
        ('YourTable'[Column A] = "IJK" && 'YourTable'[Column B] = "Electricity")
    ),
    'YourTable'[Column C]
)

If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

View solution in original post

ThxAlot
Super User
Super User

Syndicated - Outbound

A straightforward way if you have no much knowledge of DAX,

Sum1 = 
CALCULATE(
    SUM( DATA[Column C] ),
    DATA[Column A] = "ABC" && DATA[Column B] = "Map"
        || DATA[Column A] = "EFG" && DATA[Column B] = "Camera"
        || DATA[Column A] = "IJK" && DATA[Column B] = "Electricity"
)

 

Another way in a more "DAX manner",

Sum2 = 
CALCULATE(
    SUM( DATA[Column C] ),
    TREATAS(
        { ( "ABC", "Map" ), ( "EFG", "Camera" ), ( "IJK", "Electricity" ) },
        DATA[Column A],
        DATA[Column B]
    )
)

ThxAlot_0-1718956621085.png



Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LeanAndPractise(Everyday)


)



View solution in original post

3 REPLIES 3
DryMouse555
Frequent Visitor

Syndicated - Outbound

Thank you @ThxAlot && @manvishah17 

ThxAlot
Super User
Super User

Syndicated - Outbound

A straightforward way if you have no much knowledge of DAX,

Sum1 = 
CALCULATE(
    SUM( DATA[Column C] ),
    DATA[Column A] = "ABC" && DATA[Column B] = "Map"
        || DATA[Column A] = "EFG" && DATA[Column B] = "Camera"
        || DATA[Column A] = "IJK" && DATA[Column B] = "Electricity"
)

 

Another way in a more "DAX manner",

Sum2 = 
CALCULATE(
    SUM( DATA[Column C] ),
    TREATAS(
        { ( "ABC", "Map" ), ( "EFG", "Camera" ), ( "IJK", "Electricity" ) },
        DATA[Column A],
        DATA[Column B]
    )
)

ThxAlot_0-1718956621085.png



Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LeanAndPractise(Everyday)


)



manvishah17
Responsive Resident
Responsive Resident

Syndicated - Outbound

Hi @DryMouse555 ,
You can try out this DAX Measure,

 

TotalSum = 
SUMX(
    'YourTable',
    SWITCH (
        TRUE (),
        'YourTable'[Column A] = "ABC" && 'YourTable'[Column B] = "Map", 'YourTable'[Column C],
        'YourTable'[Column A] = "EFG" && 'YourTable'[Column B] = "Camera", 'YourTable'[Column C],
        'YourTable'[Column A] = "IJK" && 'YourTable'[Column B] = "Electricity", 'YourTable'[Column C],
        0  -- Default case, if none of the conditions match
    )
)

 

 or this one..

TotalSum = 
SUMX(
    FILTER(
        'YourTable',
        ('YourTable'[Column A] = "ABC" && 'YourTable'[Column B] = "Map") ||
        ('YourTable'[Column A] = "EFG" && 'YourTable'[Column B] = "Camera") ||
        ('YourTable'[Column A] = "IJK" && 'YourTable'[Column B] = "Electricity")
    ),
    'YourTable'[Column C]
)

If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

avatar user

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!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

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

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)