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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Brysonds
Helper III
Helper III

Need help with calculating row variance based on date selection in slicer

I'm drawing a blank on how to achieve what I feel like should be simple. Any help is appreciated!!!

Data Set looks like this:

 

CustomerSalesDate (English)
Alpha1001/1/2019
Alpha2002/1/2019
Alpha3003/1/2019
Alpha4004/1/2019
Alpha5005/1/2019
Alpha6006/1/2019

 

What I am trying to achieve:

 

1) Matrix visual with Company as Row, Date as Column, and Sales as Value

2) Slicer based on Date field

3) I see the variance in sales between any two months selected in slicer (i.e. Jan and Mar)

 

Desired output looks like this after I select Jan and Mar from slicer:

 

CustomerJan 2019Mar 2019Variance
Alpha100300-200

 

So in summary, I need to dynamically calculate the variance between two periods selected in a slicer.

 

Any ideas?

1 ACCEPTED SOLUTION
v-diye-msft
Community Support
Community Support

Hi  @Brysonds ,

 

I created the sample as your requested. then add the measure:

Variance = 
var a = CALCULATE(MAX(Table1[Sales]),FILTER(ALL(Table1),[Date (English)]=MAX(Table1[Date (English)])))
var b = CALCULATE(MAX(Table1[Sales]),FILTER(ALL(Table1),[Date (English)]=MIN(Table1[Date (English)])))
Return
b-a

Result shown as below: 

2.PNG

pbix attached: 

https://wicren-my.sharepoint.com/:u:/g/personal/dinaye_wicren_onmicrosoft_com/Eb2Q_95HzQlJnYKDcTSoga...

 

Best regards,

Dina Ye

Community Support Team _ Dina Ye
If this post helps, then please consider Accept it as the solution to help the other members find it more
quickly.

View solution in original post

4 REPLIES 4
v-diye-msft
Community Support
Community Support

Hi  @Brysonds ,

 

I created the sample as your requested. then add the measure:

Variance = 
var a = CALCULATE(MAX(Table1[Sales]),FILTER(ALL(Table1),[Date (English)]=MAX(Table1[Date (English)])))
var b = CALCULATE(MAX(Table1[Sales]),FILTER(ALL(Table1),[Date (English)]=MIN(Table1[Date (English)])))
Return
b-a

Result shown as below: 

2.PNG

pbix attached: 

https://wicren-my.sharepoint.com/:u:/g/personal/dinaye_wicren_onmicrosoft_com/Eb2Q_95HzQlJnYKDcTSoga...

 

Best regards,

Dina Ye

Community Support Team _ Dina Ye
If this post helps, then please consider Accept it as the solution to help the other members find it more
quickly.

Hi @v-diye-msft  Dina,

 

Thanks so much for taking the time to put this together. This gets me really close!

 

I tried using the formula you provided, and I get the following result. The variance is not calculating correctly


variance2.JPG

 

 

 

 

I tried altering the formula to this and it fixed the amounts, but has the wrong sign:


Variance =
var P1 = CALCULATE(MAX(CSE[Asset Amount]),FILTERS(CSE[Fiscal Year / Period]))
var P2 = CALCULATE(MIN(CSE[Asset Amount]),FILTERS(CSE[Fiscal Year / Period]))
Return
P2-P1

 

Here you can see that the variance for the first line is -27.20, but it should be positive (Jan - Feb asset amount).

 

variance.JPG

 

 

 

 

 

Any ideas? 

 

Also, is there a way to hide the "variance" columns that show 0 and only show the variance sub-total?

Hi @Brysonds ,

 

Take a try of this:

Variance =
var P1 = CALCULATE(MAX(CSE[Asset Amount]),FILTERS(CSE[Fiscal Year / Period]))
var P2 = CALCULATE(MIN(CSE[Asset Amount]),FILTERS(CSE[Fiscal Year / Period]))
var P3 = CALCULATE(CSE[Fiscal Year / Period]),FILTER(CSE,CSE[Asset Amount]=P1))
var P4 = CALCULATE(CSE[Fiscal Year / Period]),FILTER(CSE,CSE[Asset Amount]=P2))
Return
IF(P3<P4,P1-P2,P2-P1)

Regarding to the 0 in the matrix, we can't remove it currently. probably you can adjust the font color or other format to make it unconspicuous.

 

Best regards,

Dina Ye

Community Support Team _ Dina Ye
If this post helps, then please consider Accept it as the solution to help the other members find it more
quickly.
AiolosZhao
Memorable Member
Memorable Member

Hi @Brysonds ,

 

I just want to know if user select more than 2 selections in date slicer,

or when user don't select any filters, how does the chart show?

 

Aiolos Zhao





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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