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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
PBNikr
Helper I
Helper I

Sum of last n days in DAX (measure)

Hey!

 

I am new to Power BI and struggling to get this DAX code to show me the correct values. I would like to view the following as aggregated numbers (separate cards). Note that I am using a live connection to a cube:

 

- Users from start

- Users last 30 days

- Users last 7 days

- Users previous day

 

The code that I have for Users from start is the following:

 

Users from start = 
    CALCULATE (
        'Users'[Amount];
        ALL('Date'[Date]))

 

I have tried to retrieve the users from the last 30 days, but I'm pretty sure there is a better way of doing this:

 

Users 30 days = 
CALCULATE (
    SUM ( 'Users'[AmountUsers] );
    FILTER (
        ALL ( 'Date'[Date] );
        'Date'[Date]
            >= MAX (  'Date'[Date] ) - 30
            &&  'Date'[Date] <= MAX (  'Date'[Date] )
    )
)

Any idea on how I can retrieve the correct data for the different n-days with a good DAX code? 

 

Also:

Something I noticed is that when I use the SUM() function I can't use the same fields in the calculation that are in the Users table. It looks like it can only handle hidden values. Any explanation as to why this is?

 

Thanks!

 

1 ACCEPTED SOLUTION

@Greg_Deckler Your right, thanks! This worked for me:

 

Users 30 days = 
CALCULATE (
    SUM ( 'Users'[AmountUsers] );
    FILTER (
        ALL ( 'Date'[Date] );
        'Date'[Date]
            > TODAY() - 30
    )

 

I couldn't figure out why I was receiving blank values but it looks like the most recent data hasn't been loaded into the test cube. Problem solved!

View solution in original post

2 REPLIES 2
Greg_Deckler
Community Champion
Community Champion

Actually, I don't think your DAX code is half-bad considering you are connected to live to a cube. I'm not sure why you have that && clause in there as I can't think of under what circumstance would ever have a date in your cube that would somehow be greater than the max date in the cube, so it's kind of unnecessary. You could also potentially use TODAY() - 30 instead of MAX() - 30 but overall you have the right idea. 



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

@Greg_Deckler Your right, thanks! This worked for me:

 

Users 30 days = 
CALCULATE (
    SUM ( 'Users'[AmountUsers] );
    FILTER (
        ALL ( 'Date'[Date] );
        'Date'[Date]
            > TODAY() - 30
    )

 

I couldn't figure out why I was receiving blank values but it looks like the most recent data hasn't been loaded into the test cube. Problem solved!

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors