March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch 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?
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
129 | |
90 | |
75 | |
58 | |
53 |
User | Count |
---|---|
200 | |
104 | |
101 | |
67 | |
55 |