Forum Discussion

Mattiar's avatar
Mattiar
Icon for Resolver I rankResolver I
1 year ago
Solved

Bug Report: DATESINPERIOD Function – Leap Year Handling

I’d like to report a bug in the DATESINPERIOD function:

DATESINPERIOD (
         'Data'[data],
         SELECTEDVALUE ( 'Data'[data] ),
         -1,
         YEAR
)

When I select the exact date of February 28, 2025, it should go back to February 29, 2024, as stated in the documentation, but it doesn’t handle the leap year day properly.

This could lead to misunderstandings in reports.

 

Mattia

  • Mattiar's avatar
    Mattiar
    1 year ago

    Thanks, Greg,
    your links are always relevant.
    "Unfortunately," I share your opinion about the TI functions, but at the same time, I hope they will be improved and cleaned of their bugs over time.

  • A workaround was to propose a month-year selector instead of the date field. This way, you don’t have any issues. I’m reporting the measure for completeness.

     

    var _ultimodelmese =

    CALCULATE(

        MAX('Data'[data]),

        ALLEXCEPT('Data', 'Data'[anno], 'Data'[mese_anno])

    )

    RETURN

     

    CALCULATE(

        [Amount],

        DATESINPERIOD(

            'Data'[data],

            _ultimodelmese,

            -1,

            YEAR

        )

    )

3 Replies