Forum Discussion

Qasim_Jan's avatar
Qasim_Jan
Frequent Visitor
2 years ago
Solved

Calculate Age column

Hi experts,
Can you help me create the age column please.

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Qasim_Jan 

     

    FreemanZ  Thanks for your sharing!

     

    In response to your question, here are some details I provided:

     

    Here's some dummy data

     

    "Table"

     

    Create a measure. Calculate age from the "Birth" date column and the "Today" date column.

     

    Age = 
    var _birthdate = SELECTEDVALUE('Table'[birthdate])
    var _today = SELECTEDVALUE('Table'[Today])
    var _year = DATEDIFF(_birthdate, _today, YEAR)
    RETURN 
        IF(
            MONTH(_birthdate) <> MONTH(_today) || DAY(_birthdate) > DAY(_today), 
            _year - 1,
            _year
        )
        & " Year " &
        IF(
            MONTH(_birthdate) <> MONTH(_today) && DAY(_birthdate) < DAY(_today), 
            12 - MONTH(_birthdate) + MONTH(_today),
            IF(
                DAY(_birthdate) > DAY(_today),
                11 - MONTH(_birthdate) + MONTH(_today),
                0
            )
        )
        & " Month " &
        IF(
            DAY(_birthdate) < DAY(_today),
            DAY(_today) - DAY(_birthdate), 
            DAY(EOMONTH(_birthdate, 0)) - DAY(_birthdate) + DAY(_today) -2
        )
        & " Day"

     

    Here is the result.

     

     

    Regards,

    Nono Chen

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Qasim_Jan 

     

    FreemanZ  Thanks for your sharing!

     

    In response to your question, here are some details I provided:

     

    Here's some dummy data

     

    "Table"

     

    Create a measure. Calculate age from the "Birth" date column and the "Today" date column.

     

    Age = 
    var _birthdate = SELECTEDVALUE('Table'[birthdate])
    var _today = SELECTEDVALUE('Table'[Today])
    var _year = DATEDIFF(_birthdate, _today, YEAR)
    RETURN 
        IF(
            MONTH(_birthdate) <> MONTH(_today) || DAY(_birthdate) > DAY(_today), 
            _year - 1,
            _year
        )
        & " Year " &
        IF(
            MONTH(_birthdate) <> MONTH(_today) && DAY(_birthdate) < DAY(_today), 
            12 - MONTH(_birthdate) + MONTH(_today),
            IF(
                DAY(_birthdate) > DAY(_today),
                11 - MONTH(_birthdate) + MONTH(_today),
                0
            )
        )
        & " Month " &
        IF(
            DAY(_birthdate) < DAY(_today),
            DAY(_today) - DAY(_birthdate), 
            DAY(EOMONTH(_birthdate, 0)) - DAY(_birthdate) + DAY(_today) -2
        )
        & " Day"

     

    Here is the result.

     

     

    Regards,

    Nono Chen

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • I was having the same problem when I needed to calculate age in Excel. To achieve this, you can use a simple formula involving the DATEDIF function. First, ensure that your date of birth is in one cell and the current date is in another. Then, in the cell where you want the age to appear, enter the formula =DATEDIF(B2, TODAY(), "Y") where B2 is the cell containing the date of birth. This formula calculates the difference in years between the date of birth and the current date, effectively giving you the age. Hope this helps!