Forum Discussion
Anonymous
2 years agoNot applicable
Rolling 10 Day average
I have a table with the columns [Workbasket_ID], [The_Date], [Received_Inventory] I need to calculate the rolling 10 day average for the received inventory for each workbasket_id. The DAX be...
talespin
Solution Sage
2 years agohi Anonymous
Is this what you looking for?
Assuming there is record for every date for every workbasket for minimum 10 days, if not please share business logic in plain english. Calculates last 10 days moving average.
Rolling 10 Day Average =
VAR _workbasketID = SELECTEDVALUE(Rollingtendayavg[Workbasket_ID])
VAR _SelDate = SELECTEDVALUE( Rollingtendayavg[Dt])
VAR _MinDate = CALCULATE( MIN(Rollingtendayavg[Dt]), REMOVEFILTERS(), Rollingtendayavg[Workbasket_ID] = _workbasketID)
VAR _MaxDate = CALCULATE( MAX(Rollingtendayavg[Dt]), REMOVEFILTERS(), Rollingtendayavg[Workbasket_ID] = _workbasketID)
VAR _Dt = IF( ISBLANK(_SelDate), _MaxDate, _SelDate)
VAR _Dtminusten = _Dt - 9
VAR _Avg = CALCULATE( AVERAGE(Rollingtendayavg[Rcvd_Inventory]), REMOVEFILTERS(Rollingtendayavg), Rollingtendayavg[Workbasket_ID] = _workbasketID && Rollingtendayavg[Dt] >= _Dtminusten && Rollingtendayavg[Dt] <= _Dt )
RETURN IF(_Dtminusten > _MinDate, _Avg, BLANK())
Sample Data used
Workbasket_IDDtRcvd_Inventory
| 1 | 01 January 2024 | 2 |
| 1 | 02 January 2024 | 1 |
| 1 | 03 January 2024 | 2 |
| 1 | 04 January 2024 | 3 |
| 1 | 05 January 2024 | 1 |
| 1 | 06 January 2024 | 3 |
| 1 | 07 January 2024 | 2 |
| 1 | 08 January 2024 | 1 |
| 1 | 09 January 2024 | 2 |
| 1 | 10 January 2024 | 4 |
| 1 | 11 January 2024 | 2 |
| 1 | 12 January 2024 | 1 |
| 1 | 13 January 2024 | 2 |
| 1 | 14 January 2024 | 1 |
| 1 | 15 January 2024 | 1 |
| 2 | 01 January 2024 | 2 |
| 2 | 02 January 2024 | 2 |
| 2 | 03 January 2024 | 3 |
| 2 | 04 January 2024 | 1 |
| 2 | 05 January 2024 | 3 |
| 2 | 06 January 2024 | 1 |
| 2 | 07 January 2024 | 2 |
| 2 | 08 January 2024 | 3 |
| 2 | 09 January 2024 | 2 |
| 2 | 10 January 2024 | 1 |
| 2 | 11 January 2024 | 2 |
| 2 | 12 January 2024 | 3 |
| 2 | 13 January 2024 | 2 |
| 2 | 14 January 2024 | 2 |