Forum Discussion
iamhuz
3 years agoFrequent Visitor
Calculate Last 10 days with specific condition
I have a Sales table like below, I want to create a measure for the last 10 days. Since I don't have data for 01-Apr-2023 so it should consider 23-Mar-23 as my 10th day.
Note that my dates can be changed so I want a dynamic measure
| Date | Amount |
| 20-Mar-23 | 10 |
| 21-Mar-23 | 3 |
| 22-Mar-23 | 6 |
| 23-Mar-23 | 5 |
| 02-Apr-23 | 6 |
| 03-Apr-23 | 4 |
| 04-Apr-23 | 2 |
| 05-Apr-23 | 3 |
| 06-Apr-23 | 10 |
| 07-Apr-23 | 5 |
| 08-Apr-23 | 8 |
| 09-Apr-23 | 7 |
| 10-Apr-23 | 6 |
Ah okay,
if you wrap the rank measure in a filter to calculate the amount based on the rank that is less than 10, that should work. try this:
Measure =CALCULATE(sum('Table'[Amount]),filter('Table',RANKX (FILTER ( ALLSELECTED ( 'Table' ),'Table'[Date]='Table'[Date]),CALCULATE ( SELECTEDVALUE ( 'Table'[Date] ) ),,DESC,DENSE)<10))
8 Replies
- DOLEARY85
Resident Rockstar
Hi,
You could create a ranking that works dynamically and then use it on the filters on this visual in tha table
RANK =RANKX (FILTER ( ALLSELECTED ( 'Table' ),'Table'[Date]='Table'[Date]),CALCULATE ( SELECTEDVALUE ( 'Table'[Date] ) ),,DESC,DENSE)I had 6 dates and set the filter at 4 so you should just need to set yours to 10:hope that helps
- DOLEARY85
Resident Rockstar
I'm assuming you want the N value to be selectable, if that's the case: could you just use a simple measure to calculate the sum of the amount for the card:
Measure = CALCULATE(sum('Table'[Amount]))then use a slicer for less than or equal to using the amount column for the N value- iamhuzFrequent Visitor
Hi DOLEARY85, I'd like to use it within a measure so no need to apply slicer or filter.
- Ashish_Mathur
Super User