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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
elliottriley
Frequent Visitor

Creating dynamic measures using a slicer to change date values

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?

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

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.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

1 REPLY 1
Greg_Deckler
Super User
Super User

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.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

February 2024 Update Carousel

Power BI Monthly Update - February 2024

Check out the February 2024 Power BI update to learn about new features.

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors