Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Filter days based on weekday

Hi Everyone,

 

I have a scenario wherein I want to filter the data on date column based on current day in the query editor.

 

If refreshing on Monday, filter data from last 3 days(Sunday, Saturday & Friday) of date column.

If refreshing on any other day(Tuesday to Friday), filter data from last 1 day of date column.

 

I tried both these & they work individually, but unfortunately I`m unable to get the desired result without changing these frequently.

 

1.

= Table.SelectRows(#"Added Custom4", each [StartDate] >= Date.From(Date.AddDays(Date.From(DateTime.LocalNow()),-Date.DayOfWeek(Date.From(DateTime.LocalNow()),5))))

 

2.

= Table.SelectRows(#"Added Custom4", each [StartDate] >= Date.From(Date.AddDays(DateTime.LocalNow(), -1)))

 

Expected Output

For eg, today is 03rd Mar (Thursday) the report should filter dates greater than 02nd Mar (Wednesday) & if today is 28 Feb (Monday) then report filters date greater than 25 Feb (Friday)

 

 

Please help !!

 

Thanks in advance ðŸ˜Š

 

  • Anonymous , Try = Table.SelectRows(#"Added Custom", each [StartDate] >= Date.From(Date.AddDays(DateTime.LocalNow(), (-1 * (if Date.DayOfWeek(DateTime.Date(DateTime.FixedLocalNow())) =0 then 3 else 1 )))))

5 Replies

  • Please provide sanitized sample data that fully covers your issue. If you paste the data into a table in your post or use one of the file services it will be easier to work with. Avoid posting screenshots of your source data if possible.

    Please show the expected outcome based on the sample data you provided. Screenshots of the expected outcome are ok.


  • Anonymous , Try like

     

    Table.SelectRows(#"Added Custom4", each [StartDate] >= Date.From(Date.AddDays(DateTime.LocalNow(), -1* if Date.DayOfWeek(DateTime.Date(DateTime.LocalNow())) =0 then 3 else 1)))

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks Amit. I tried the formula & unfortuantely got a syntax error. Please assist

      • amitchandak's avatar
        amitchandak
        Super User

        Anonymous , Try = Table.SelectRows(#"Added Custom", each [StartDate] >= Date.From(Date.AddDays(DateTime.LocalNow(), (-1 * (if Date.DayOfWeek(DateTime.Date(DateTime.FixedLocalNow())) =0 then 3 else 1 )))))