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

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

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

Share with Power BI Enthusiasts: 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

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors