Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Can't quite figure out how to calculate running percentile in DAX.
In Excel I used:
=+SUMIF([Rank],"<="&[@Rank],[Percentile])
Any help would be appreciated!
Solved! Go to Solution.
Hi @austin_infinite ,
You might consider creating a Rank using a computed column:
Here are the steps you can follow:
1. Create measure.
Measure =
SUMX(FILTER(ALL('Table'),'Table'[Rank]<=MAX('Table'[Rank])),[Percentile])
2. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi @austin_infinite ,
You might consider creating a Rank using a computed column:
Here are the steps you can follow:
1. Create measure.
Measure =
SUMX(FILTER(ALL('Table'),'Table'[Rank]<=MAX('Table'[Rank])),[Percentile])
2. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Balance, Rank and Percentile, are these measures or columns in your source data?
Those are all DAX Measures.
You are trying to calculate the moving average of a measure based on another measure. Usually this type of calcuation is heavy and is difficult to find an efficient solution. You may try the following. If not feasible then the options are either a calculated column or a calculated table.
Running Percentile =
VAR CurrentRank = [Rank]
RETURN
SUMX (
FILTER ( ALLSELECTED ( Data[Bill_to_Customer_No] ), [Rank] <= CurrentRank ),
[Percentile]
)
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 20 | |
| 11 | |
| 10 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 34 | |
| 32 | |
| 19 | |
| 12 | |
| 10 |