Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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] )
)
)
)
User | Count |
---|---|
25 | |
11 | |
8 | |
6 | |
6 |
User | Count |
---|---|
30 | |
13 | |
11 | |
9 | |
6 |