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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
gonnelli
Frequent Visitor

Difference between 2 rows using first row fixed

Hello!

 

I need to calculate the difference between two rows in a matrix table in Power BI, but I need to keep the first row as reference, like this:

 

EDIT: The first row (Model "A") can be changed by filter, so I need to use always the first row, not the model as reference.

 

modelpricediffexplanation
A14990-
B1949450EXP.: MODEL B - MODEL A
C1799300EXP.: MODEL C - MODEL A
D26991200EXP.: MODEL D - MODEL A

 

I used a metric to calculate this values:

 

.AVG_PRICE = CALCULATE(AVERAGE(FORMULARIO_RESPOSTAS[DES_RESPOSTA_QTD]);FORMULARIO_RESPOSTAS[DES_RESPOSTA_QTD] > 0)
 
Anyone knows how can I get this?
 
Thanks!
1 ACCEPTED SOLUTION

Hi @gonnelli,

 

Does that make sense? If so, kindly mark my answer as a solution to close the case.


Regards,
Frank

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

View solution in original post

7 REPLIES 7
v-frfei-msft
Community Support
Community Support

Hi @gonnelli,

 

Two ways you can choose.

 

1. To create a calculated column.

 

diffc = Table1[price]-CALCULATE(SUM(Table1[price]),FILTER(ALL(Table1),Table1[model]="A"))

2. To create a measure.

 

diffm = MAX(Table1[price])-CALCULATE(SUM(Table1[price]),FILTER(ALL(Table1),Table1[model]="A"))

Capture.PNG

For more details, please check the pbix as attached.

 

Regards,

Frank

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.
Ashish_Mathur
Super User
Super User

Hi,

 

Do you want to take the difference between the price in the current row and the row with the minumum price?


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

Hi @Ashish_Mathur!

 

I need to calculate always the first rows and another rows, but the first rows can be changed by filter.

ZachMascetta
Regular Visitor

Have you tried using the LOOKUPVALUE function? You can use this to return the value for Model A in whatever column you need to reference. 

 

In your example below, the formula would look something like (I'm using "Table1" as the table where your values are stored in this example):

 

diff = CALCULATE(AVERAGE(Table1[price])-LOOKUPVALUE(Table1[price],Table1[model],"A"))
 
Put this measure as the diff column in your matrix table visual and you should get the desired results.

Hello @v-frfei-msft

In my case, I can't use lookupvalues because the first "model" can be changed by filters.

 

I need to calculate always the difference between the first row with another rows.

Hi @gonnelli,

 

I made an update of the measure.

 

diffm = MAX(Table1[price])-CALCULATE(SUM(Table1[price]),FILTER(ALLSELECTED(Table1),Table1[model]=MINX(ALLSELECTED(Table1),Table1[model])))

Capture.PNG

 

For more details, please check the pbix as attached.

 

Regards,

Frank

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

Hi @gonnelli,

 

Does that make sense? If so, kindly mark my answer as a solution to close the case.


Regards,
Frank

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Fabric Monthly Update - May 2024

Check out the May 2024 Fabric update to learn about new features.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.