The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
I have 2 tables called DimDate and Enrollment tables.
DimDate[Date] is related to Enrollment[StartDate]
I have a DimDate[Date] as a Date Slider.
I want to distinct count StudentID where Enrollment[StartDate] is earlier than the period startdate and Enrollment[EndDate] is after the period startdate OR Enrollment[EndDate] is NULL
Please, How can I write the dax expression
Solved! Go to Solution.
Try:
StudentCount =
var StartDate = Min(DimDate[Date])
return
CALCULATE(
CALCULATE(
DISTINCTCOUNT(Enrollment[StudentID]),
FILTER(Enrollment,Enrollment[StartDate] <= StartDate),
FILTER(Enrollment,COALESCE(Enrollment[EndDate], DATE(9999,12,31)) >= StartDate)
),
CROSSFILTER(Enrollment[StartDate],DimDate[Date],None)
)
This assumes that your active relationship between Enrollment and DimDate uses the StartDate rather than the EndDate. If it's the other way around than sub in EndDate into the first part of the CROSSFILTER function at the end of the measure.
Try:
StudentCount =
var StartDate = Min(DimDate[Date])
return
CALCULATE(
CALCULATE(
DISTINCTCOUNT(Enrollment[StudentID]),
FILTER(Enrollment,Enrollment[StartDate] <= StartDate),
FILTER(Enrollment,COALESCE(Enrollment[EndDate], DATE(9999,12,31)) >= StartDate)
),
CROSSFILTER(Enrollment[StartDate],DimDate[Date],None)
)
This assumes that your active relationship between Enrollment and DimDate uses the StartDate rather than the EndDate. If it's the other way around than sub in EndDate into the first part of the CROSSFILTER function at the end of the measure.
User | Count |
---|---|
65 | |
61 | |
60 | |
53 | |
30 |
User | Count |
---|---|
180 | |
88 | |
71 | |
48 | |
46 |