Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
JLambs20
Helper III
Helper III

Create a New Cumulative Column using DISTINCT

Hello!

 

I need to create a column of running totals based on a previous column.  However, the previous column contains multiple iterations of one value.  I need to be able to add my next value to just one unique value (not all iterations of it).  Please see the referenced Excel screenshot for a better explanation. Please notice that the values will need to keep "Project" and "Sprint" in mind as filter criteria.

 Excel DAX .png

 

Thank you!

1 ACCEPTED SOLUTION
v-yiruan-msft
Community Support
Community Support

Hi @JLambs20 ,

You can create a calculated column or measure as below to achieve it:

1. Calculated column

Column for Cumulative Points = 
VAR _tab =
    SUMMARIZE (
        FILTER (
            ALL ( 'AZUP - Apollo Main Data' ),
            'AZUP - Apollo Main Data'[Project]
                = EARLIER(  'AZUP - Apollo Main Data'[Project] )
                && 'AZUP - Apollo Main Data'[Sprint]
                    <= EARLIER ( 'AZUP - Apollo Main Data'[Sprint] )
        ),
        'AZUP - Apollo Main Data'[Project],
        'AZUP - Apollo Main Data'[Sprint],
        "point", MAX ( 'AZUP - Apollo Main Data'[Points] )
    )
RETURN
    SUMX ( _tab, [point] ) 

2. Measure

Cumulative Points = 
VAR _tab =
    SUMMARIZE (
        FILTER (
            ALL ( 'AZUP - Apollo Main Data' ),
            'AZUP - Apollo Main Data'[Project]
                = SELECTEDVALUE ( 'AZUP - Apollo Main Data'[Project] )
                && 'AZUP - Apollo Main Data'[Sprint]
                    <= SELECTEDVALUE ( 'AZUP - Apollo Main Data'[Sprint] )
        ),
        'AZUP - Apollo Main Data'[Project],
        'AZUP - Apollo Main Data'[Sprint],
        "point", MAX ( 'AZUP - Apollo Main Data'[Points] )
    )
RETURN
    SUMX ( _tab, [point] )

yingyinr_1-1617693543910.png

Best Regards

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

5 REPLIES 5
v-yiruan-msft
Community Support
Community Support

Hi @JLambs20 ,

You can create a calculated column or measure as below to achieve it:

1. Calculated column

Column for Cumulative Points = 
VAR _tab =
    SUMMARIZE (
        FILTER (
            ALL ( 'AZUP - Apollo Main Data' ),
            'AZUP - Apollo Main Data'[Project]
                = EARLIER(  'AZUP - Apollo Main Data'[Project] )
                && 'AZUP - Apollo Main Data'[Sprint]
                    <= EARLIER ( 'AZUP - Apollo Main Data'[Sprint] )
        ),
        'AZUP - Apollo Main Data'[Project],
        'AZUP - Apollo Main Data'[Sprint],
        "point", MAX ( 'AZUP - Apollo Main Data'[Points] )
    )
RETURN
    SUMX ( _tab, [point] ) 

2. Measure

Cumulative Points = 
VAR _tab =
    SUMMARIZE (
        FILTER (
            ALL ( 'AZUP - Apollo Main Data' ),
            'AZUP - Apollo Main Data'[Project]
                = SELECTEDVALUE ( 'AZUP - Apollo Main Data'[Project] )
                && 'AZUP - Apollo Main Data'[Sprint]
                    <= SELECTEDVALUE ( 'AZUP - Apollo Main Data'[Sprint] )
        ),
        'AZUP - Apollo Main Data'[Project],
        'AZUP - Apollo Main Data'[Sprint],
        "point", MAX ( 'AZUP - Apollo Main Data'[Points] )
    )
RETURN
    SUMX ( _tab, [point] )

yingyinr_1-1617693543910.png

Best Regards

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Ashish_Mathur
Super User
Super User

Hi,

Please show the expected result in a simple Table.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
amitchandak
Super User
Super User

@JLambs20 , Try a measure like

sumx(addcolumns(summarize(Table, Table[project], Table[sprint], Table[points]), "_1",calculate(sum(Table[points]),filter(allselected(Table), [sprint] <=max([sprint]) && [project] = max([project])))),[_1])

Unfortunately, I'm getting an error.  What am I missing?

Excel DAX 2.png\

 

@JLambs20 , after the filter getting closed after [sprint]  before <= max is at the wrong place. remove and correct

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.