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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Anonymous
Not applicable

DAX ALL not working as expected using date

Hi,

 

I have a measure that aggregate sales for the last seven days, see below. I want this to ignore the date slicer. However that isn't happening. The value should be £220.77K for the last seven days.  But if I change the date slicer the value changes and is instead showing the last seven day value from the 06.09.2021.

 

Can anyone help me understand why this is happening?

 

Measure = CALCULATE (
    'Measures Table'[Sum_Gross_Sales],
    DATESBETWEEN (
        'Calendar'[Date],
        MAX ( 'Calendar'[Date] ) - 7,
        MAX ( 'Calendar'[Date] ) - 1
    ), ALL('Calendar'[Date])
)

 

Screenshot 2022-08-09 115125.png

 

1 ACCEPTED SOLUTION
johnt75
Super User
Super User

The ALL('Calendar'[Date]) is not being applied to the DATESBETWEEN function, it is only being applied to the [Sum_gross_sales] measure, so when you call MAX('Calendar'[Date]) the slicer is still in effect. 

If your Calendar table is marked as a date table then you don't need to remove filters from the 'Calendar'[Date] column if you apply another filter to that column, DAX takes care of that automatically. Try using

Last 7 days = CALCULATE( [Sum_Gross_Sales], DATESBETWEEN( 'Calendar'[Date], TODAY() -7, TODAY() - 1) )

View solution in original post

3 REPLIES 3
Jihwan_Kim
Super User
Super User

Hi,

Could you please try the below measure if it shows the outcome that is expected?

 

Measure: =
VAR _lastdateincalendartable =
    CALCULATE ( MAX ( 'Calendar'[Date] ), REMOVEFILTERS () )
RETURN
    CALCULATE (
        'Measures Table'[Sum_Gross_Sales],
        DATESBETWEEN (
            'Calendar'[Date],
            _lastdateincalendartable - 7,
            _lastdateincalendartable - 1
        )
    )

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

johnt75
Super User
Super User

The ALL('Calendar'[Date]) is not being applied to the DATESBETWEEN function, it is only being applied to the [Sum_gross_sales] measure, so when you call MAX('Calendar'[Date]) the slicer is still in effect. 

If your Calendar table is marked as a date table then you don't need to remove filters from the 'Calendar'[Date] column if you apply another filter to that column, DAX takes care of that automatically. Try using

Last 7 days = CALCULATE( [Sum_Gross_Sales], DATESBETWEEN( 'Calendar'[Date], TODAY() -7, TODAY() - 1) )
Anonymous
Not applicable

Thank you John, that solved my issues.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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