Forum Discussion

NumeroENAP's avatar
NumeroENAP
Helper III
6 years ago
Solved

Replace future dates by today date

Hi, I'm wondering what I'm doing wrong :

 

= Table.ReplaceValue(#"Column", "Date created", each if [Date created] > DateTime.FixedLocalNow() then DateTime.FixedLocalNow() else [Date created])

 

Thanks!

  • Hello NumeroENAP 

     

    as far as I know the function Table.ReplaceValue just replaces and old value with a new value. Use this syntax instead (not tested)

     

    = Table.TransformColumns
      (
          #"Column", 
          {
             {
                "Date created", 
                each if _ > Date.From(DateTime.FixedLocalNow()) then Date.From(DateTime.FixedLocalNow()) else _,
                type date
             }
          }
       )

     


    If this post helps or solves your problem, please mark it as solution (to help other users find useful content and to acknowledge the work of users that helped you)
    Kudoes are nice too

    Have fun

    Jimmy

  • Try:

     

    = Table.ReplaceValue(#"Column", "Date created", each if DateTime.FromText([Date created])> DateTime.FixedLocalNow() then DateTime.FixedLocalNow() else [Date created])

7 Replies

  • Jimmy801's avatar
    Jimmy801
    Community Champion

    Hello NumeroENAP 

     

    as far as I know the function Table.ReplaceValue just replaces and old value with a new value. Use this syntax instead (not tested)

     

    = Table.TransformColumns
      (
          #"Column", 
          {
             {
                "Date created", 
                each if _ > Date.From(DateTime.FixedLocalNow()) then Date.From(DateTime.FixedLocalNow()) else _,
                type date
             }
          }
       )

     


    If this post helps or solves your problem, please mark it as solution (to help other users find useful content and to acknowledge the work of users that helped you)
    Kudoes are nice too

    Have fun

    Jimmy

  • Try:

     

    = Table.ReplaceValue(#"Column", "Date created", each if DateTime.FromText([Date created])> DateTime.FixedLocalNow() then DateTime.FixedLocalNow() else [Date created])

  • Jimmy801's avatar
    Jimmy801
    Community Champion

    Hello NumeroENAP 

     

    just saw that this formula was accepted as solution.

    Table.ReplaceValue(#"Column", "Date created", each if DateTime.FromText([Date created])> DateTime.FixedLocalNow() then DateTime.FixedLocalNow() else [Date created])

    it can not work, did it?

     

    All the best

     

    Jimmy

    • TheDataMustFlow's avatar
      TheDataMustFlow
      Frequent Visitor

      Jimmy801, you are correct. My suggestion makes it accept teh formula without giving an error, but doesn't change the date as intended.

      Your answer should be the one marked as solution as it returns the expected result in onwe step.

    • NumeroENAP's avatar
      NumeroENAP
      Helper III

      Sorry Jimmy801 , in fact, I worked around the answer that he gave me and it worked. 

       

      But I corrected the situation and gave you the proper credit. 

       

      Thanks for the answer!

  • Jimmy801's avatar
    Jimmy801
    Community Champion

    Hello NumeroENAP 

     

    then it would be correct that the correct post is marked as solution

     

    many thanks

     

    Jimmy