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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.

Reply
dwhittaker1
Helper II
Helper II

Understanding a Measure

Im sure this is very simple but can anyone help me understand this measure below?
 
WorkingDaysInMonth =
VAR _date = MAX(DimDate[Date])
RETURN
    CALCULATE(
        [TotalWorkingDays],
        FILTER(
            ALL(DimDate),
            DimDate[Year] = YEAR(_date) && DimDate[MonthNum] = MONTH(_date)
        )
1 ACCEPTED SOLUTION
gogolgupta786
Regular Visitor

This measure ensures that whenever you select a date (or a report runs for a certain period), it finds the total number of working days for that month, ignoring any other filters that may affect the calculation.

1) VAR _date = Max(DimDate[Date]) ---> You'e assigning Max Date from the DimDate dimension to the variable _date
2) Calculate Working Days for the Month:

CALCULATE([TotalWorkingDays], ...) → This retrieves the total working days but applies filters to make sure it only considers the selected month.
The FILTER(ALL(DimDate), DimDate[Year] = YEAR(_date) && DimDate[MonthNum] = MONTH(_date)) part:
ALL(DimDate) → Ignores any existing filters on the date table to check all dates.
DimDate[Year] = YEAR(_date) & DimDate[MonthNum] = MONTH(_date) → Only keeps the dates that match the year and month of the selected date.

 

Some suggestions: 

  • Instead of MAX(DimDate[Date]), consider using SELECTEDVALUE(DimDate[Date]) to handle cases where multiple dates exist or are selected or nothing is selected.
  • The use of ALL(DimDate) removes all existing filters on the date table, if that's intended then its fine, else try encapsulating it with KEEPFILTERS to avoid removal of filter context.

 

View solution in original post

2 REPLIES 2
gogolgupta786
Regular Visitor

This measure ensures that whenever you select a date (or a report runs for a certain period), it finds the total number of working days for that month, ignoring any other filters that may affect the calculation.

1) VAR _date = Max(DimDate[Date]) ---> You'e assigning Max Date from the DimDate dimension to the variable _date
2) Calculate Working Days for the Month:

CALCULATE([TotalWorkingDays], ...) → This retrieves the total working days but applies filters to make sure it only considers the selected month.
The FILTER(ALL(DimDate), DimDate[Year] = YEAR(_date) && DimDate[MonthNum] = MONTH(_date)) part:
ALL(DimDate) → Ignores any existing filters on the date table to check all dates.
DimDate[Year] = YEAR(_date) & DimDate[MonthNum] = MONTH(_date) → Only keeps the dates that match the year and month of the selected date.

 

Some suggestions: 

  • Instead of MAX(DimDate[Date]), consider using SELECTEDVALUE(DimDate[Date]) to handle cases where multiple dates exist or are selected or nothing is selected.
  • The use of ALL(DimDate) removes all existing filters on the date table, if that's intended then its fine, else try encapsulating it with KEEPFILTERS to avoid removal of filter context.

 

Thaumaturgist
Helper I
Helper I

This measure first captures the date that is currently being used in the visual or calculation context by storing MAX(DimDate[Date]) in the variable _date. It then uses the CALCULATE function to compute [TotalWorkingDays], but it replaces any existing date filters with a new filter that only keeps rows in DimDate matching the year and month of _date. This ensures the measure returns the total working days for the entire month and year associated with the selected date, rather than just a single day or any other filtered period.

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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

Top Kudoed Authors