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!Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.
Hello,
Can you please help me in the below DAX which I am trying to write in creating Running Total based off Index. I am trying to execute in Analysis services not in Power BI.
EVALUATE
(
VAR countsales =
SUMMARIZECOLUMNS (
'DimProductSubcategory'[EnglishProductSubcategoryName],
"counter", SUMX (
FactInternetSales,
FactInternetSales[OrderQuantity] * FactInternetSales[UnitPrice]
)
)
VAR FINAL =
ADDCOLUMNS (
countsales,
"Indexz", RANKX ( countsales, DimProductSubcategory[EnglishProductSubcategoryName],, asc )
) //var trying = ADDCOLUMNS(FINAL, "Running Total", CALCULATE(SUMX(FINAL,[counter]), FILTER(ALL(final),[Indexz]<=[Indexz])))
RETURN
ADDCOLUMNS (
FINAL,
"Running Total", CALCULATE (
SUMX ( final, [counter] ),
FILTER ( final, [Indexz] <= EARLIER ( [Indexz] ) )
)
)
)
ORDER BY DimProductSubcategory[EnglishProductSubcategoryName]
Please help/guide me to correct above DAX in creating a valid running total.
Solved! Go to Solution.
HI, @sqlguru448
After my test, you could try this formula as below:
EVALUATE ( VAR countsales = SUMMARIZECOLUMNS ( 'DimProductSubcategory'[EnglishProductSubcategoryName], "counter", SUMX ( FactInternetSales, FactInternetSales[OrderQuantity] * FactInternetSales[UnitPrice] ) ) VAR FINAL = ADDCOLUMNS ( countsales, "Indexz", RANKX ( countsales, DimProductSubcategory[EnglishProductSubcategoryName],, asc ) ) //var trying = ADDCOLUMNS(FINAL, "Running Total", CALCULATE(SUMX(FINAL,[counter]), FILTER(ALL(final),[Indexz]<=[Indexz]))) RETURN ADDCOLUMNS ( FINAL, "Running Total", VAR currentIndex = [Indexz] RETURN SUMX ( FILTER ( FINAL, [Indexz] <= currentIndex ), [counter] ) ) ) ORDER BY DimProductSubcategory[EnglishProductSubcategoryName]
Result:
Best Regards,
Lin
HI, @sqlguru448
After my test, you could try this formula as below:
EVALUATE ( VAR countsales = SUMMARIZECOLUMNS ( 'DimProductSubcategory'[EnglishProductSubcategoryName], "counter", SUMX ( FactInternetSales, FactInternetSales[OrderQuantity] * FactInternetSales[UnitPrice] ) ) VAR FINAL = ADDCOLUMNS ( countsales, "Indexz", RANKX ( countsales, DimProductSubcategory[EnglishProductSubcategoryName],, asc ) ) //var trying = ADDCOLUMNS(FINAL, "Running Total", CALCULATE(SUMX(FINAL,[counter]), FILTER(ALL(final),[Indexz]<=[Indexz]))) RETURN ADDCOLUMNS ( FINAL, "Running Total", VAR currentIndex = [Indexz] RETURN SUMX ( FILTER ( FINAL, [Indexz] <= currentIndex ), [counter] ) ) ) ORDER BY DimProductSubcategory[EnglishProductSubcategoryName]
Result:
Best Regards,
Lin
Hi Lin,
Can you please explain why my DAX was not working even though I was using EARLIER function? is this because of FILTER context being applied instead of row context?
Thank you very much for your quick response.
Can someone please help?
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the September 2025 Power BI update to learn about new features.