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
Anonymous
Not applicable

max value from last 14 days

Hi All,

 

I have below data.

 

for each row i need to look back 14 days and pick which is max value and display it.

pls see data below. 3rd column is the result i am looking for can you please tell me how to get that? i tried different dax but not working.  @MFelix @Kinjal @simrantuli @Pragati11 @mwegener @amitchandak 

 

Value.tradingDayValue.highMax Value
12/14/2018415.75 
12/17/2018417.75 
12/18/2018421.25 
12/19/2018421.25 
12/20/2018418.5 
12/21/2018418.25 
12/24/2018417.75 
12/26/2018416 
12/27/2018416.75 
12/28/2018418 
12/31/2018419.25 
1/2/2019419.5 
1/3/2019421 
1/4/2019422.5422.5
1/7/2019422.75422.75
1/8/2019421.75422.75
1/9/2019421.75422.75
1/10/2019419422.75
1/11/2019423.25423.75
1/14/2019420.5 
2 ACCEPTED SOLUTIONS
amitchandak
Super User
Super User

@Anonymous , Try with help from a date table

Rolling 14 = CALCULATE(max(Table[Value.high]),DATESINPERIOD('Date'[Date ],MAX('Date'[Date ]),-14,Day))

 

or

 

Rolling 14 = if(CALCULATE(distinctcount(Table[Value.tradingDay]),DATESINPERIOD('Date'[Date ],MAX('Date'[Date ]),-14,Day)) >=14, CALCULATE(max(Table[Value.high]),DATESINPERIOD('Date'[Date ],MAX('Date'[Date ]),-14,Day)) , blank())

View solution in original post

ryan_mayu
Super User
Super User

@Anonymous 

you can try to create a column

Column = if( 'Table'[Value.tradingDay]-min('Table'[Value.tradingDay])<14,blank(),MAXX(FILTER('Table','Table'[Value.tradingDay]>=EARLIER('Table'[Value.tradingDay])-14 &&'Table'[Value.tradingDay]<=EARLIER('Table'[Value.tradingDay])),'Table'[Value.high]))

1.PNG

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

5 REPLIES 5
ryan_mayu
Super User
Super User

@Anonymous 

you can try to create a column

Column = if( 'Table'[Value.tradingDay]-min('Table'[Value.tradingDay])<14,blank(),MAXX(FILTER('Table','Table'[Value.tradingDay]>=EARLIER('Table'[Value.tradingDay])-14 &&'Table'[Value.tradingDay]<=EARLIER('Table'[Value.tradingDay])),'Table'[Value.high]))

1.PNG

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Anonymous
Not applicable

@ryan_mayu Thanks Ryan, it works fine.

amitchandak
Super User
Super User

@Anonymous , Try with help from a date table

Rolling 14 = CALCULATE(max(Table[Value.high]),DATESINPERIOD('Date'[Date ],MAX('Date'[Date ]),-14,Day))

 

or

 

Rolling 14 = if(CALCULATE(distinctcount(Table[Value.tradingDay]),DATESINPERIOD('Date'[Date ],MAX('Date'[Date ]),-14,Day)) >=14, CALCULATE(max(Table[Value.high]),DATESINPERIOD('Date'[Date ],MAX('Date'[Date ]),-14,Day)) , blank())

Anonymous
Not applicable

Hi @amitchandak  its not working, shoot.

johnbasha33_0-1610718156303.png

for 5/1/2019 max value of last 14 days is 425 not 422.25

i tried many dax functions it is not coming.

 

pls assist.

Anonymous
Not applicable

@amitchandak  Thanks Amit it works fine.

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.