Forum Discussion

ngadiez's avatar
ngadiez
Helper II
9 years ago
Solved

Get Date Value from Parameters

I have 2 parameters where I get the 'Valuation Year' and 'Valuation Month'

 

I want to use these 2 parameters to add custom Column:

 

This is my code: I want to get the difference in month:

Number.RoundUp(Duration.Days(Date(ValuationYear,ValuationMonth,31)-[StartDate])/30)

 

However Date wasn't recognized. 

Is there any other way to get it?

 

StartDate is in Date format.

  • MarcelBeug's avatar
    MarcelBeug
    9 years ago

    If only year/month is relevant, then you can use the following code, in which <PreviousStep> is the name of the previous step in your query.

     

    = Table.AddColumn(<PreviousStep>, "Months", each 12*(ValuationYear-Date.Year([StartDate]))+ValuationMonth-Date.Month([StartDate]))

3 Replies

  • MarcelBeug's avatar
    MarcelBeug
    Community Champion

    It looks like you want to use #date, however, #date won't accept 31 for months with less than 31 days.

    Also dividing by30 doesn't look like a good idea to me.

     

    Can you specify exactly how you need the number of months to be calculated?

    E.g:

    April 30 to May 1 is 0 or 1 month?

    April 15 to May 14 is 0 or 1 month?

    April 1 to May 31 is 1 month (or 2)?

     

    • MarcelBeug's avatar
      MarcelBeug
      Community Champion

      If only year/month is relevant, then you can use the following code, in which <PreviousStep> is the name of the previous step in your query.

       

      = Table.AddColumn(<PreviousStep>, "Months", each 12*(ValuationYear-Date.Year([StartDate]))+ValuationMonth-Date.Month([StartDate]))
      • ngadiez's avatar
        ngadiez
        Helper II

        Thank you MarcelBeug

         

        The day is irrelevant here.

        Yes your solution is correct.

         

        Thanks a lot.