Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now
Hello,
My data looks like
Id | Category | Sensi1 | Sensi2 |
1 | A | 100 | -50 |
2 | B | 200 | -60 |
3 | A | 300 | -70 |
4 | B | 400 | -80 |
5 | B | 500 | -90 |
I want to implement that is Category = A then return Sensi1 + Sensi2 else return Sensi1. How would I do that?
Solved! Go to Solution.
Hi @alsm ,
try
Conditional Sum =
SUMX (
VALUES ( 'Table'[Category] ),
CALCULATE (
SUM ( 'Table'[Sensi1] )
) +
IF (
'Table'[Category] = "A",
CALCULATE (
SUM ( 'Table'[Sensi2] )
)
)
)
@Martin_D , thank you. It works.. though the first part
VALUES ( 'Table'[Category] )
is non-intuitive . Its basically saying evaluate every line on the dashboard. Is it correct?
I tried and created another variant
total_sensi =
VAR sensi1 =
CALCULATE ( SUM ( Table[Sensi1] ) )
VAR sensi2 =
CALCULATE ( SUM ( Table[Sens2] ), FILTER ( Table, Table[Sensi2] = "A" ) )
VAR total_sensi = sensi1 + sensi2
RETURN
total_sensi
Answers are same in both cases, is there a way to say one solution is more optimal than other?
I was not 100% sure whether you want to use it as a measure or calculated column, so I wrote code that works for both. Actually, the same should be true for your solution. In a visual that shows values by Category both solution should perform about the same. With a large number of categories yours might be even faster in the grand total.
Thank you for your reply and showing me another way to do it....
FYI: I created a measure (not a column)
Hi @alsm ,
try
Conditional Sum =
SUMX (
VALUES ( 'Table'[Category] ),
CALCULATE (
SUM ( 'Table'[Sensi1] )
) +
IF (
'Table'[Category] = "A",
CALCULATE (
SUM ( 'Table'[Sensi2] )
)
)
)
Check out the October 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
31 | |
14 | |
12 | |
10 | |
10 |