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 August 31st. Request your voucher.

Reply
at01
Frequent Visitor

How to use filters in the measures

Hello,

 

I am discovering DAX and I would need some help understanding what I do wrong in building my measures.

 

I have the following measure:

-------------------------------------------------------------------------------------

Contacted Clients =
var startDate=min('Date'[Date])
var endDate=max('Date'[Date])
var countClients=distinctcount(Communication[Client ID])
Return
calculate( countClients,
filter(Communication, Communication[Message Created At] >= startDate && Communication[Message Created At] <=endDate)
)

-------------------------------------------------------------------------------------

which counts the number of clients that have been contacted during the period between the dates that are choosen by the user (based on the Date[Date] column.

 

I want to also calculate the number of clients that have been contacted 30 days prior to the first date choosen by the user. SO I defined the following measure:

-------------------------------------------------------------------------------------

Contacted Clients 30 days prior=
var startDate=min('Date'[Date])-30
var endDate=min('Date'[Date])
var countClients=distinctcount(Communication[Client ID])
Return
calculate( countClients,
filter(Communication, Communication[Message Created At] >= startDate && Communication[Message Created At] <=endDate)
)

-------------------------------------------------------------------------------------

but I get the same number in Contacted Clients and Contacted Clients 30 days Prior

 

I suppose I do not understand exactly how it should work, any tips on what needs correcting? Is there an issue that the Date and Communication tables are linked using a Many to one relationship table between Communication[Message Created At] and Date[Date] column?

 

I have tried ALL(Communication) as well to make sure to ignore the filters but I suppose it is not the issue.

 

Thank you very much for any tips on how to correct this!

1 REPLY 1
AlB
Community Champion
Community Champion

Hi @at01 

VAriables in DAX are immutable. Their value won't change after declaration. So that calculate will not have any effect whatsoever. Try this: 

Contacted Clients =
VAR startDate =
    MIN ( 'Date'[Date] )
VAR endDate =
    MAX ( 'Date'[Date] )
RETURN
    CALCULATE (
        DISTINCTCOUNT ( Communication[Client ID] ),
        FILTER (
            Communication,
            Communication[Message Created At] >= startDate
                && Communication[Message Created At] <= endDate
        )
    )

 

SU18_powerbi_badge

Please accept the solution when done and consider giving a thumbs up if posts are helpful. 

Contact me privately for support with any larger-scale BI needs, tutoring, etc.

 

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

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

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 community update carousel

Fabric Community Update - June 2025

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