cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ErickReiis
Frequent Visitor

Filter Buttons

Hello everyone, everything good?

I need help performing a calculation that is not working.

I want to create a treemap that will show me the change in units sold compared to the previous month

I have the following DAX measurement for this variation calculation:

Divide( Units sold Current Month - Units sold Previous month;

previous month units)

And with that I have the variation of several points that sell this product.

The question I wanted to ask is the following:

I need to create buttons where, when clicking, the user can select a range of variations.

For example: By clicking on the 10% variation button, all points that vary between 5% and 10% will be displayed on the Treemap.


5% button would show the points of sale that ranged from 1% to 5% And so on.

 

I tried to use calculate to make these filters but it doesn't work.

 

Can you shed some light on how to achieve this goal?

Here is an example print:

 

I tried the following measure to extract the specific variation percentage from the treemap, but it doesn't work

 

Variation 25 % = CALCULATE( [Variation];
[Variation] > 0.10 && [Variation] <= 0.25)

2 REPLIES 2
amitchandak
Super User
Super User

@ErickReiis , what is your previous month's formula?

 

Example formula for current and last month

 

MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
last MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
last month Sales = CALCULATE(SUM(Sales[Sales Amount]),previousmonth('Date'[Date]))

 

MTD =
var _max = if(isfiltered('Date'),MAX( 'Date'[Date]) , today())
var _min = eomonth(_max,-1)+1 ,
return
CALCULATE([net] ,DATESBETWEEN('Date'[Date],_min,_max))

LMTD =
var _max1 = if(isfiltered('Date'),MAX( 'Date'[Date]) , today())
var _max = date(Year(_max1), month(_max1)-1, day(_max))
var _min = eomonth(_max1,-2)+1
return
CALCULATE([net] ,DATESBETWEEN('Date'[Date],_min,_max))

 

Last Month =
var _max1 = if(isfiltered('Date'),MAX( 'Date'[Date]) , today())
var _max = eomonth(_max1,-1)
var _min = eomonth(_max1,-2)+1
return
CALCULATE([net] ,DATESBETWEEN('Date'[Date],_min,_max))

 

 

Power BI — Month on Month with or Without Time Intelligence
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
https://www.youtube.com/watch?v=6LUBbvcxtKA



Power BI Features || Datamarts: https://youtu.be/8tskWsJTEpg || Field Parameters : https://youtu.be/lqF3Wa1FllE?t=70
Time Intelligence Decoded : https://youtu.be/aU2aKbnHuWs&t=145s || 50+Power Query List Functions : Learn Power Query List
Did I answer your question? Mark my post as a solution! Appreciate your Kudos !! Proud to be a Super User! !!
Dashboard of My Blogs !! Connect on Linkedin !! Subscribe to my youtube Channel !!
Want To Learn Power BI | Beginners !! Advance Concepts !! Power BI For Tableau User !!

Hello @amitchandak , I'm using the following dax measure :

Calculate( [Units Sold]; previousmonth(lastdate([Calendar].[Data])

 

And i have a measure about the units sold on the current month.

 

Calculate(Units Sold; DATESMTD(LastDate(Data))

Helpful resources

Announcements
September Update

Check it Out!

Click here to learn more about the September 2022 updates!

Power BI Show episode 9

The Power BI Community Show

Watch the playback when Priya Sathy and Charles Webb discuss Datamarts! Kelly also shares Power BI Community updates.

Power BI Dev Camp Session 26

New Date - Check it Out!

Mark your calendars and join us on Thursday, October 6 at 11a PDT for a great session with Ted Pattison!

Top Solution Authors