Součet hodnot od začátku roku je v DAXu obecně dost jednoduchý. Pokud se jedná o kalendářní rok, použijeme něco jako:

  • ytd calendar = TOTALYTD(
       SUM(My_data[Value]),
       ‘Dimension'[Date])

Pokud se jedná o fiskální rok, který začíná v lednu, únoru, dubnu… zkrátka kdykoliv kromě března, pak stačí připsat poslední den fiskálního roku, např.:

  • ytd fiscal year not from March = TOTALYTD(
       SUM(My_data[Value]),
       ‘Dimension'[Date],”5/31″)

Co ale dělat, pokud připadne poslední den fiskálního roku na konec února, který je v přestupných letech o den delší?

K tomu už musíme použít o dost komplikovanější vzorec. Originál koluje na webu, přidal jsem vysvětlující formuláře. Pokud vám jde jen o použití a nechcete vzorci rozumět, stačí když nahradíte tučně napsané části vlastní časovou dimenzí a vlastní mírou.

  • ytd fiscal year from March =
    VAR YearStartMonth = 3 //první měsíc fiskálního roku 
    VAR YearStartDay = 1 //první den fiskálního rok (většinou jednička)
    VAR MaxDate =
        MAX ( ‘calendar dimension'[date] ) //poslední den sledovaného období
    VAR MaxYear =
        YEAR ( MaxDate ) //rok posledního dne sledovaného období
    VAR YearStartDateThisYear =
        DATE ( MaxYearYearStartMonthYearStartDay ) //první den sledovaného období
    VAR YearStartDateLastYear =
        DATE ( MaxYear – 1YearStartMonthYearStartDay ) //první den sledovaného období vloni
    VAR YearStartDateSelected =
        IF (
            YearStartDateThisYear <= MaxDate, //pokud se jedná o měsíce po začátku března
            YearStartDateThisYear, //pak vezmi začátek období
            YearStartDateLastYear //pak začínej počítat už od předchozího roku
        )
    RETURN
        CALCULATE (
            [my_measure],
            DATESBETWEEN (
                ‘calendar dimension'[date],
                YearStartDateSelected,
                MaxDate
            ) 
        )