Forum Discussion
Create table with relative dates from slicer
Hi folks,
So i want to create a table in Power BI that shows an activity count for the date selected by the user in a drop down.
The complicated piece is I then want to show in the next column the sum of the 5 days prior to that selected date and in the last column show the sum of the 20 days prior to that selected date.
For example if the user selected 21st April:
| Region | Daily Count | Prior 5 Days | Prior 20 days |
| Europe | 100 | 500 | 2000 |
| Japan | 200 | 1000 | 4000 |
| US | 300 | 1500 | 6000 |
My data would be in this format:
| Date | Region | Count |
| 01/04/2020 | EUROPE | 50 |
| 01/04/2020 | US | 75 |
| 01/04/2020 | JAPAN | 20 |
| 02/04/2020 | EUROPE | 30 |
| 02/04/2020 | US | 17 |
| 02/04/2020 | JAPAN | 72 |
and so on
ANy help would be greatly appreciated.
- Anonymous5 years ago
Hi nicksinclair01 ,
I created a sample pbix file(see attachment) for you, please check whether that is what you want.
1. Create a date dimension table
2. Create 3 measures as below to get daily count, the count for prior 5 days and the count for prior 20 days
Daily Count = CALCULATE(SUM('Table'[Count]),FILTER('Table','Table'[Date]=SELECTEDVALUE('Date'[Date])))Prior 5 Days = CALCULATE(SUM('Table'[Count]),DATESBETWEEN('Table'[Date],SELECTEDVALUE('Date'[Date])-5,SELECTEDVALUE('Date'[Date])))Prior 20 Days = CALCULATE(SUM('Table'[Count]),DATESBETWEEN('Table'[Date],SELECTEDVALUE('Date'[Date])-20,SELECTEDVALUE('Date'[Date])))You can aslo refer the following video to get it.
Show Days Before Or After A Selected Date - Advanced Power BI Visual Techniques
If the above ones are not what you want, please provide your expected result with backend logic and specific examples. Thank you.
Best Regards
3 Replies
- amitchandakSuper User
nicksinclair01 , measures like
measure =
var _max = maxx(allselected('Date'), 'Date'[Date])
return
calculate(sum(Table[Value]), filter(all('Date'), 'Date'[Date] <=_max && 'Date'[Date] >= _max -5))
measure 2=
var _max = maxx(allselected('Date'), 'Date'[Date])
return
calculate(sum(Table[Value]), filter(all('Date'), 'Date'[Date] <=_max && 'Date'[Date] >= _max -20))- nicksinclair01New Member
Thank you Amit,
Could you please explain how i would implement this?
I see i would need a separate table called Date, i assume this would just contain all the inscope dates from the main table.
Does this need to be linked to the main table?
For the slicer, would this be against the main table or the dates table?
- AnonymousNot applicable
Hi nicksinclair01 ,
I created a sample pbix file(see attachment) for you, please check whether that is what you want.
1. Create a date dimension table
2. Create 3 measures as below to get daily count, the count for prior 5 days and the count for prior 20 days
Daily Count = CALCULATE(SUM('Table'[Count]),FILTER('Table','Table'[Date]=SELECTEDVALUE('Date'[Date])))Prior 5 Days = CALCULATE(SUM('Table'[Count]),DATESBETWEEN('Table'[Date],SELECTEDVALUE('Date'[Date])-5,SELECTEDVALUE('Date'[Date])))Prior 20 Days = CALCULATE(SUM('Table'[Count]),DATESBETWEEN('Table'[Date],SELECTEDVALUE('Date'[Date])-20,SELECTEDVALUE('Date'[Date])))You can aslo refer the following video to get it.
Show Days Before Or After A Selected Date - Advanced Power BI Visual Techniques
If the above ones are not what you want, please provide your expected result with backend logic and specific examples. Thank you.
Best Regards