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

View all the Fabric Data Days sessions on demand. View schedule

Reply
pxg08680
Resolver III
Resolver III

Recent Data with date period

Hi everyone,

                    I have database with 2 columns, one is pricingdate and other is market fix rate. so the market fix rate changes from time to time. In my report I added a slicer with calendar dateperiod like last 1 month, 3 months and so on.

Capture.PNGThis is how it looks like. Now when I select last 6 months I want the result as 1.31147541 but when i select last 9 months i want my result to be 1.301998568.

 

How do I get it.

 

Thanks

1 ACCEPTED SOLUTION
Phil_Seamark
Microsoft Employee
Microsoft Employee

Hi @pxg08680

 

I think I understand what you are after.

 

I created two tables.  The first table called dates just carries a single column of dates  using this code

 

Dates = CALENDAR(Date(2010,1,1),TODAY())

The second I hard coded in these three rows (2 columns) , and used this to drive my slicer.

 

slicer2.jpg

Finally I created the following measure

 

Measure = 
var SlicerValue  = MAX('Slicer Table'[SlicerID])
var LastDateMonth = LASTDATE(DATEADD('Dates'[Date],-SlicerValue,MONTH))
var LastActualMonth = CALCULATE(LASTDATE('Raw Data'[Date]),'Raw Data'[Date] < LastDateMonth)
RETURN CALCULATE(MAX('Raw Data'[MSPricingFXRate]),'Raw Data'[Date] = LastActualMonth)

I created no relationships between any of the tables. 

 

The idea is that when you make a selection on the slicer, the ID column controls how many months you want to jump back to.  Then the relevant MSPricingFXRate is returned prior to that jump back in time.

 

slicer1.jpg


To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

View solution in original post

1 REPLY 1
Phil_Seamark
Microsoft Employee
Microsoft Employee

Hi @pxg08680

 

I think I understand what you are after.

 

I created two tables.  The first table called dates just carries a single column of dates  using this code

 

Dates = CALENDAR(Date(2010,1,1),TODAY())

The second I hard coded in these three rows (2 columns) , and used this to drive my slicer.

 

slicer2.jpg

Finally I created the following measure

 

Measure = 
var SlicerValue  = MAX('Slicer Table'[SlicerID])
var LastDateMonth = LASTDATE(DATEADD('Dates'[Date],-SlicerValue,MONTH))
var LastActualMonth = CALCULATE(LASTDATE('Raw Data'[Date]),'Raw Data'[Date] < LastDateMonth)
RETURN CALCULATE(MAX('Raw Data'[MSPricingFXRate]),'Raw Data'[Date] = LastActualMonth)

I created no relationships between any of the tables. 

 

The idea is that when you make a selection on the slicer, the ID column controls how many months you want to jump back to.  Then the relevant MSPricingFXRate is returned prior to that jump back in time.

 

slicer1.jpg


To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors