DAX a výpočet Year to date hodnot, pokud fiskální rok začíná v březnu (tedy poslední den roku je přestupný)
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
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 ( MaxYear, YearStartMonth, YearStartDay ) //první den sledovaného období
VAR YearStartDateLastYear =
DATE ( MaxYear - 1, YearStartMonth, YearStartDay ) //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
)
)
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.