Forum Discussion
Sliding Average
- 1 year ago
Hey Mekist ,
The goal is to make Sliding Average with DAX (Matching Excel’s =AVERAGE(Kx:K13) Pattern). You are creating a sliding (or rolling) average in DAX where the average should be calculated from the current row down to the last row.
DAX Formula (Sliding Average from Current to Last Row)
SlidingAverage := VAR CurrentPeriod = 'YourTable'[Dönem] RETURN AVERAGEX( FILTER( ALL('YourTable'), 'YourTable'[Dönem] >= CurrentPeriod ), 'YourTable'[Oran] )Things to remember:
Make sure Dönem is sorted descendingly (newest to oldest), matching how your Excel table flows.
If Oran is text (e.g., % formatted string), first convert it to a number in Power BI or Power Query.
Use ALL('YourTable') to avoid existing filter context interfering with the sliding window.
If you found this solution helpful, please consider accepting it and giving it a kudos (Like) it’s greatly appreciated and helps others find the solution more easily.
Best Regards,
Nasif Azam
Hey Mekist ,
The goal is to make Sliding Average with DAX (Matching Excel’s =AVERAGE(Kx:K13) Pattern). You are creating a sliding (or rolling) average in DAX where the average should be calculated from the current row down to the last row.
DAX Formula (Sliding Average from Current to Last Row)
SlidingAverage :=
VAR CurrentPeriod = 'YourTable'[Dönem]
RETURN
AVERAGEX(
FILTER(
ALL('YourTable'),
'YourTable'[Dönem] >= CurrentPeriod
),
'YourTable'[Oran]
)Things to remember:
Make sure Dönem is sorted descendingly (newest to oldest), matching how your Excel table flows.
If Oran is text (e.g., % formatted string), first convert it to a number in Power BI or Power Query.
Use ALL('YourTable') to avoid existing filter context interfering with the sliding window.
If you found this solution helpful, please consider accepting it and giving it a kudos (Like) it’s greatly appreciated and helps others find the solution more easily.
Best Regards,
Nasif Azam
Hello Nasif_Azam
Thank you, my problem has been solved in general Without data in the last two periods, he did not make calculations As in the example, when there is no vieri, it does not calculate in all periods
| Dönem | Oran % | Ortalama |
| 2025/03 | 11,04% | |
| 2024/12 | 4,30% | |
| 2024/09 | 19,58% | |
| 2024/06 | 24,10% | |
| 2024/03 | 13,08% | |
| 2023/12 | 9,11% | |
| 2023/09 | 25,37% | |
| 2023/06 | ||
| 2023/03 |
- Mekist1 year agoHelper III
I have excluded those who do not have period data as follows, I wanted to share it in case there is a need
Satış Büyüme (Kümüle) Ortalama = VAR GuncelDonem = MAX('Dönem'[Dönem]) VAR Donemler = FILTER( ALL('Dönem'[Dönem]), 'Dönem'[Dönem] <= GuncelDonem ) RETURN AVERAGEX( Donemler, CALCULATE([Satış Değişim-Kümüle]) )