Forum Discussion

Promethes_2's avatar
Promethes_2
Helper II
9 years ago
Solved

Power Query Current Date Filter

Hello,   I'm learning Power Query and I'm having an issue trying to use a simple filter.  I have a current table with a column called ValidTo.  In TSQL I could filter this column to only return the...
  • Anonymous's avatar
    Anonymous
    9 years ago

    Power Query does not use DAX formulas. It has its own language. TODAY() is not a valid formula in that language.

     

    Also that dialog box will only allow literal date values, not formulas that evaluate to a date. But you can get past that. Type some date into that box and hit OK. It doesn't matter what date you enter because you're just using it to get out of the dialog box with a valid formula, after which you're going to replace it. After you hit OK look up at the formula bar for the step you just inserted. You should see something like:

     

    = Table.SelectRows(#"Name of Previous Step", each [VALIDTO] <= #datetime(2016, 9, 12, 0, 0, 0))

     

    Replace the end of that formula with DateTime.LocalNow() which is the Power Query nearest equivalent to TODAY()*.

     

    = Table.SelectRows(#"Name of Previous Step", each [pafo_EstimatedEndDate] <= DateTime.LocalNow())

     

    ...or you could just go to the advanced editor and type in that step by hand if you know how to hand-code a new step.

     

     

    *Technically it returns a Date/Time value, where TODAY() returns a Date value. The literal closest to TODAY() is Date.From(DateTime.LocalNow()) which you should use rather than DateTime.LocalNow() alone if the column you're filtering is already a plain date type rather than date/time.