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

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
Anonymous
Not applicable

Filter data in previous period

I have 2 donut charts.
The one on the left shows data in the specified period the users chooses. This period is selected using a date filter in the filter pane that affects all visuals in the same page.

The chart on the right should show the previous period of the first chart. For example, if the user selected the last week, then this second chart shows data for 2 weeks ago, if the user selects March 2020 then the chart should show data for February 2020...

 

I''ve been trying to get the 2 dates selected by the user: end and begin; calculate the number of days in between; and then trying to substract those days from the begin day and filter that data but so far this is not working.

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@Anonymous , you need to combine few calculations like for month, qtr , year like

 

Rolling 2 = CALCULATE(distinctcount(Transation[Month-Year]),DATESINPERIOD('Date'[Date],today(),-2,MONTH))

 

for week

https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-Last-Week/ba-p/1051123

 

How to handle the condition

https://community.powerbi.com/t5/Desktop/Slicer-MTD-QTD-YTD-to-filter-dates-using-the-slicer/td-p/500115

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

View solution in original post

2 REPLIES 2
v-kelly-msft
Community Support
Community Support

Hi  @Anonymous ,

 

Create a slicer table as below:

Table 2 = VALUES('Table'[Date])

Then create 2 measures as below:

Measure = 
var _myslicer=CALCULATETABLE(VALUES('Table 2'[Date]),FILTER('Table 2','Table 2'[Date] in FILTERS('Table 2'[Date])))
var _mindate=MINX(_myslicer,'Table 2'[Date])
var _maxdate=MAXX(_myslicer,'Table 2'[Date])
Return
CALCULATE(MAX('Table'[Value]),FILTER('Table','Table'[Date]>=_mindate&&'Table'[Date]<=_maxdate))
Measure 2 = 
var _myslicer=CALCULATETABLE(VALUES('Table 2'[Date]),FILTER('Table 2','Table 2'[Date] in FILTERS('Table 2'[Date])))
var _mindate=MINX(_myslicer,'Table 2'[Date])
var _maxdate=MAXX(_myslicer,'Table 2'[Date])
Return
CALCULATE(MAX('Table'[Value]),FILTER('Table','Table'[Date]>=_mindate-14&&'Table'[Date]<=_maxdate-14))

And you will see:

Annotation 2020-08-17 174206.png

For the related .pbix file,pls see attached.

 

Best Regards,
Kelly
Did I answer your question? Mark my post as a solution!
amitchandak
Super User
Super User

@Anonymous , you need to combine few calculations like for month, qtr , year like

 

Rolling 2 = CALCULATE(distinctcount(Transation[Month-Year]),DATESINPERIOD('Date'[Date],today(),-2,MONTH))

 

for week

https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-Last-Week/ba-p/1051123

 

How to handle the condition

https://community.powerbi.com/t5/Desktop/Slicer-MTD-QTD-YTD-to-filter-dates-using-the-slicer/td-p/500115

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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

Top Solution Authors