Forum Discussion

AlanP514's avatar
AlanP514
Post Patron
4 years ago
Solved

Dynamic for Finding next Work anniversary datess


Hai Guys, I want to return the next 3 month's work anniversary celebrants, I Got them but there is one escalation ie this is giving the next 3 months' data, it is not returning the current month's anniversary celebrant's data, for example, today I have one person to celebrate the anniversary but after implementing this measure this is not returning that particular person data. but it is returning next 3 months celebrant's, please help me

 

  • I would create a new column

    Next anniversary =
    var joinDate = 'Table'[Join date]
    var currentYearAnniversary = DATE( YEAR(TODAY()), MONTH(joinDate), DAY(joinDate))
    return IF( currentYearAnniversary < TODAY(), 
       DATE( YEAR(TODAY()) + 1, MONTH(joinDate), DAY(joinDate)),
       currentYearAnniversary
    )

    You could then use relatative date filtering on your table visual but that might not fit with your use case. You could create a measure to use as a filter. If you wanted to show anniversaries in the current month and 3 months after you could use

    Show anniversary =
    IF( SELECTEDVALUE( 'Table'[Next anniversary]) <= EOMONTH(TODAY(),4), 1, 0)

5 Replies

  • I would create a new column

    Next anniversary =
    var joinDate = 'Table'[Join date]
    var currentYearAnniversary = DATE( YEAR(TODAY()), MONTH(joinDate), DAY(joinDate))
    return IF( currentYearAnniversary < TODAY(), 
       DATE( YEAR(TODAY()) + 1, MONTH(joinDate), DAY(joinDate)),
       currentYearAnniversary
    )

    You could then use relatative date filtering on your table visual but that might not fit with your use case. You could create a measure to use as a filter. If you wanted to show anniversaries in the current month and 3 months after you could use

    Show anniversary =
    IF( SELECTEDVALUE( 'Table'[Next anniversary]) <= EOMONTH(TODAY(),4), 1, 0)
  • AlanP514 , if need a column

    new date = var _d = [date of joining]

    return

    date(year(_d), Month(_d)+3, day(_d) )

     

     

    measure

    new date = var _d = max(Table[date of joining])

    return

    date(year(_d), Month(_d)+3, day(_d) )

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  AlanP514 ,

     

    Can you share sample data and sample output in table format? Or a sample pbix after removing sensitive data.

    If it is convenient, you can express the expected results in the form of pictures, we can better help you.

     

    Best Regards,

    Liu Yang

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

    • AlanP514's avatar
      AlanP514
      Post Patron

      There is a joining date in the table. but expecting the anniversary date