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
Anders_G
Helper I
Helper I

Help with Date_request in Date.IsInPreviousNMonths

Hi,

 

I'm trying to manage my data imports with date filters. I want to import X months in the past from the previous year. I've read you can change the date_request in the Date.IsInPreviousNMonths([date_request], 2) function.

 

I've tried creating a custom date query from a blank query and giving it today's date one year in the past. I've named the query Datefilter.

Anders_G_0-1668414941774.png

 

My custom function then looks like this.

= Table.SelectRows(Dataset_(LY)_View, each Date.IsInPreviousNMonths(Datefilter, 2))

 

However, it doesn't return any data. What am I doing wrong?

1 ACCEPTED SOLUTION

Hi , @Anders_G 

Accoding to your description, you want to filter the previous N months od the last year. Right?

I mean this , you can put this in "Advanced Editor" in Power Query Editor:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Tc3BDQAhCETRXjib4ODqQi3G/ttYJJrl+vIzMydJFWEwqBBolQsu3UnkGsLGtpbQGLoNTwrrCZEsHsYPnc3h1SOw2HfS5lPrAw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Date = _t, value = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"value", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", (x)=>if Duration.Days(Date.AddDays(Date.From(Date.From(DateTime.LocalNow())),-365)-x[Date]) >=0 and  Duration.Days(Date.AddDays(Date.From(Date.From(DateTime.LocalNow())),-365)-x[Date]) <=60  then 1 else -1          )
in
    #"Added Custom"

The table is like this:

vyueyunzhmsft_0-1668562484558.png

Then we can filter the [Custom]=1 then we will meet your need .

 

Best Regards,

Aniya Zhang

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

 

 

View solution in original post

3 REPLIES 3
v-yueyunzh-msft
Community Support
Community Support

Hi , @Anders_G 

The "Date.IsInPreviousNMonths" function is automatically compared with the current time of the system, and the comparison date cannot be customized.

For more information, you can refer to:
Date.IsInPreviousNMonths - PowerQuery M | Microsoft Learn

 

If you want to  import X months in the past from the previous year .  I think you need to calculate the days between two days and then compare the days to filter your table.

 

Best Regards,

Aniya Zhang

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

 

Thank you for the clarification.

 

If you want to  import X months in the past from the previous year .  I think you need to calculate the days between two days and then compare the days to filter your table.

I would be very grateful if you could explain the process in more detail. I have no real knowledge of M or SQL. I mostly copy and paste what I can find on this forum. 

Hi , @Anders_G 

Accoding to your description, you want to filter the previous N months od the last year. Right?

I mean this , you can put this in "Advanced Editor" in Power Query Editor:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Tc3BDQAhCETRXjib4ODqQi3G/ttYJJrl+vIzMydJFWEwqBBolQsu3UnkGsLGtpbQGLoNTwrrCZEsHsYPnc3h1SOw2HfS5lPrAw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Date = _t, value = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"value", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", (x)=>if Duration.Days(Date.AddDays(Date.From(Date.From(DateTime.LocalNow())),-365)-x[Date]) >=0 and  Duration.Days(Date.AddDays(Date.From(Date.From(DateTime.LocalNow())),-365)-x[Date]) <=60  then 1 else -1          )
in
    #"Added Custom"

The table is like this:

vyueyunzhmsft_0-1668562484558.png

Then we can filter the [Custom]=1 then we will meet your need .

 

Best Regards,

Aniya Zhang

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

 

 

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.