Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon'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.
We have a fact table that shows one row per visit. Against each visit is a date, visitID, an outletID, outletname and some other numbers.
What we want to do is use a slicer to specify a date range using the date in the table as the source. We then want to have a measure that dynamically calculates the latest date (based within the slicer selection) by outletID within that table and show only the latest outletID record within the date chosen in the slicer and then add on two other measure columns calculated from column1 and column 2.
Fact table as below
VisitID Date OutletID OutletName Column1 Column2
123 01/01/2018 65 Name A 1 1
143 20/01/2018 65 Name A 0 1
145 21/01/2018 34 Name B 1 2
165 02/02/2018 65 Name A 0 1
171 15/02/2018 34 Name B 1 1
Can anyone help with the DAX as what we have tried seems to take ages to run on desktop and only runs if the date range is really narrow. Then when published to the service it errors and says that it exceeds the resources. There are 500k rows in the fact table and it will grow over time. If we needed to we could restrict the date range chosen in the slicer if that is possible?
Is there a best practice way of doing this?
Solved! Go to Solution.
This may be what you have already but if you have a table with OutletID in it then you could calculate the last date as follows:
Measure = VAR __maxDate = MAX([Date]) RETURN MAXX(FILTER('Table',[Date]<=__maxDate),[Date])
The thought here is that if you have OutletID in the table, then your fact table is already constrained by OutletID for each row in the table. So you just need to find the MAXX of the Date for that already filtered (context) table.
This may be what you have already but if you have a table with OutletID in it then you could calculate the last date as follows:
Measure = VAR __maxDate = MAX([Date]) RETURN MAXX(FILTER('Table',[Date]<=__maxDate),[Date])
The thought here is that if you have OutletID in the table, then your fact table is already constrained by OutletID for each row in the table. So you just need to find the MAXX of the Date for that already filtered (context) table.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
119 | |
78 | |
58 | |
52 | |
46 |
User | Count |
---|---|
170 | |
117 | |
63 | |
58 | |
51 |