Forum Discussion
Cumulative Column in a Query Model with Virtual Tables
- 2 years ago
- 2 years ago
Hi Amitchandak,
Thank you! It's working perfectly. I have another question: is there a possibility to use a variable instead of using Earlier? I've come across several posts recommending against this function and was wondering if there's an alternative method involving variables or something else.. thanks!
Thanks
Cupid
- Anonymous2 years ago
Hi CupidC ,
You can try thisDemoTable = VAR vTable = DATATABLE ( "Index",INTEGER, "Name", STRING, "Value", INTEGER, { { 1,"A", 1 }, { 2,"A", 2 }, { 3,"A", 3 } } ) VAR vAddRT = ADDCOLUMNS ( vTable, "RT", VAR thisrowindex = [Index] RETURN SUMX ( FILTER ( vTable, [Index] <= thisrowindex ), [Value] ) ) RETURN vAddRTFinal output
Best regards,
Albert He
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi CupidC ,
Here is a dax expression that does not use the earlier function:
Accumulation =
CALCULATE(
SUM('Table'[VALUE]),
FILTER(
ALLEXCEPT('Table','Table'[ID]),
'Table'[VALUE] <= MAX('Table'[VALUE])
)
)
Final output
For more information about the operation of accumulation you can refer to this blog
How to Calculate Cumulative Values with DAX - Microsoft Fabric Community
Best regards,
Albert He
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi Albet
Thanks,, but the table is created virtually, so i can't reference "Table" in query mode, do you have other ways to achieve the result..?
- Anonymous2 years agoNot applicable
Hi CupidC ,
You can try thisDemoTable = VAR vTable = DATATABLE ( "Index",INTEGER, "Name", STRING, "Value", INTEGER, { { 1,"A", 1 }, { 2,"A", 2 }, { 3,"A", 3 } } ) VAR vAddRT = ADDCOLUMNS ( vTable, "RT", VAR thisrowindex = [Index] RETURN SUMX ( FILTER ( vTable, [Index] <= thisrowindex ), [Value] ) ) RETURN vAddRTFinal output
Best regards,
Albert He
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly