Forum Discussion
ytd multipe years
- 7 years ago
solved by searching the community YTD untill today thanks to OwenAuger
YTD Values till last orderdate = VAR LOD = [Last Order Date] VAR TodayMonth = MONTH ( LOD ) VAR TodayDay = DAY ( LOD ) VAR YearDateFilter = GENERATE ( VALUES ( 'date table'[year] ); VAR TodayInCurrentYear = DATE ( 'date table'[year] ; TodayMonth; TodayDay ) RETURN CALCULATETABLE ( DATESYTD ( 'date table'[Date] ); TREATAS ( { TodayInCurrentYear }; 'date table'[Date] ) ) ) RETURN CALCULATE ( DISTINCTCOUNT(Blad1[orderno]); KEEPFILTERS ( YearDateFilter ) )and
YTD-PY values till last order date = CALCULATE([YTD Values till last orderdate];SAMEPERIODLASTYEAR('date table'[Date]))
Hi BoBBie,
Please refer to the new measures.
ytd = CALCULATE(COUNTA(Blad4[orderno]),FILTER(ALL(Blad4),Blad4[Year]<=MAX(Blad4[Year])))
ytd-1-new = [ytd]-COUNTA(Blad4[orderno])
For more details, please check the pbix as attached.
Regards,
Frank
Hi v-frfei-msft Frank,
thanks again.
It's not exacty what i'm looking for. Maybe I misinterpet the ytd function......
The file: https://www.dropbox.com/s/9zxtoauleo7v2cb/test%20date%20-%20ytd.pbix?dl=0
is the original file.
I) Why does PBI shows '2019' (YTD-1 (sameperiodlastyear) while there is no '2019' data? (my fault....using 'previous year' and date table so data year-1 which is 2018 for 2019....)
II) The latest day in the sample data is 11-06-18 (11 june 18) --> what I need is that all data previouws years is the same period in the corresponding years:
- 01-01-18 - 11-06-18
- 01-01-17 - 11-06-17
- 01-01-16 - 11-06-16
- 01-01-15 - 11-06-15
please note: that the actual data-set is updated daily (data till day before today) so the 'latest actual date' will be the day before today
I edited the file: deleted all data >11-06 so the figure shows the date like the way I prefer :-)
thanks again!
BoB
- BoBBie7 years agoFrequent Visitor
- parry2k7 years agoSuper User
BoBBie try following two measures and I guess this will get you the result
first calculated the all time last order date:
Last Order Date = CALCULATE( max( Blad1[orderdate] ), ALL( Blad1 ) )
Create last ytd order count based on last order date, in this measure we will calculate the date for each year and filter orders until that date, feel free to change the measure to meet you need.
ytd-2 = VAR currentYear = MAX( 'date table'[year] ) VAR currentYearLastDate = DATE(currentYear, MONTH( [Last Order Date] ), day( [Last Order Date] ) ) RETURN CALCULATE( [ytd], 'date table'[Date] <= currentYearLastDate )- BoBBie7 years agoFrequent Visitor
Hi parry2k,
thanks for help!
Unfortenately is is not working correctly.....
I think the solution is a filter for all years (current and previous years) in the month and day of the latest orderdate......
The Y-1 is only for visual comparison in the column chart...
I'm new with PBI & DAX so it's a bit trial and error (a).
BoB