Forum Discussion

fletch8527's avatar
fletch8527
New Member
7 years ago
Solved

Relative Date X Days Before

I'm very new to Power BI, so please be kind. I searched the board first but didnt find a similar post. Im playing around with a very basic report that gets data from our Active Directory. One column is a date the other is the user's display name. Is there a way to use the Relative Date filter/slicer to show only records that are older than X number of days from today? I can get a list of records from the last X days, but I am more concerned with records that older than lets say 30 days.

  • Chihiro's avatar
    Chihiro
    7 years ago

    I'm guessing that you have Date column in Datetime format. In "M", it is important to match data type for both left and right of the operator.

     

    Then change it to...

    = Table.SelectRows(#"Changed Type", each [Date] < Date.AddDays(DateTime.LocalNow(),-30))

5 Replies

  • Chihiro's avatar
    Chihiro
    Solution Sage

    I'd do this in query editor.

     

    Once data is brought in, apply 'date is before' filter using any date.

     

    Then in advanced query editor, find the Filtered row step just applied.

    It will look like...

    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Date] < #date(2018, 10, 1))

    Now replace #date() part with dynamic calculation.

    Something like....

        #"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Date] < Date.AddDays(DateTime.Date(DateTime.LocalNow()),-30))

     

    Edit: You can parameterize -30 part if desired.

    • fletch8527's avatar
      fletch8527
      New Member

      I tried your suggestion and got this error

      Expression.Error: We cannot apply operator < to types Date and DateTime.
      • Chihiro's avatar
        Chihiro
        Solution Sage

        I'm guessing that you have Date column in Datetime format. In "M", it is important to match data type for both left and right of the operator.

         

        Then change it to...

        = Table.SelectRows(#"Changed Type", each [Date] < Date.AddDays(DateTime.LocalNow(),-30))
  • new column = IF(DATEDIFF(AD[date];TODAY();DAY)>30;AD[user];BLANK())

    try to add new column.

     

    if u want dinamicaly value instead 30 try to use what/if parametr