11Calendar Timeframe =
22VAR _today_date = TODAY() //'Properties'[Today Date]
33VAR _yesterday_date = _today_date - 1
4- VAR _calendar_year = YEAR(_today_date)
4+ VAR _week_start = _today_date - WEEKDAY ( _today_date, 2 )
5+ VAR _week_end = _today_date - WEEKDAY ( _today_date, 2 ) + 6
6+ VAR _month_start = DATE( YEAR(_today_date), MONTH(_today_date), 01 )
7+ VAR _month_end = EOMONTH( _today_date, 0)
8+ VAR _quarter_start = DATE ( YEAR (_today_date), ROUNDUP ( DIVIDE ( MONTH (_today_date), 3 ), 0 ) * 3 - 2, 1 )
9+ VAR _quarter_end = EOMONTH(EDATE(_quarter_start, 2), 0)
510VAR _fiscal_year = YEAR(EDATE( _today_date, 6))
6- VAR _fiscal_year_end = DATE( _fiscal_year, 06, 30)
711VAR _fiscal_year_start = DATE( _fiscal_year - 1, 07, 01)
8- VAR _month_start = DATE( YEAR(_today_date), MONTH(_today_date), 01 )
12+ VAR _fiscal_year_end = DATE( _fiscal_year, 06, 30 )
913VAR _tomorrow_date = IF(_today_date + 1 > _fiscal_year_end, _fiscal_year_end, _today_date + 1)
10- VAR _quarter_start = DATE ( YEAR (_today_date), ROUNDUP ( DIVIDE ( MONTH (_today_date), 3 ), 0 ) * 3 - 2, 1 )
11- VAR _week_start = _today_date - WEEKDAY ( _today_date, 2 )
12- VAR _week_end = _today_date - WEEKDAY ( _today_date, 2 ) + 6
14+ VAR _calendar_year = YEAR(_today_date)
15+ VAR _calendar_year_start = DATE( _calendar_year , 01, 01 )
16+ VAR _calendar_year_end = DATE( _calendar_year, 12, 31)
1317VAR _previous_month_start = IF(MONTH(_today_date) = 1, DATE(YEAR(_today_date)-1, 12, 1), DATE(YEAR(_today_date), MONTH(_today_date)-1, 1))
1418VAR _previous_month_end = DATE(YEAR(_previous_month_start), MONTH(_previous_month_start), DAY(EOMONTH(_previous_month_start,0)))
15- VAR _previous_fiscal_year_start = DATE( _fiscal_year - 2, 07, 01)
16- VAR _previous_fiscal_year_end = DATE( _fiscal_year - 1, 06, 30)
1719VAR _previous_quarter_start = EDATE(_quarter_start, -3)
1820VAR _previous_quarter_end = EOMONTH(EDATE(_quarter_start, -1), 0)
19- VAR _calendar_year_start = DATE( _calendar_year , 01, 01)
20- VAR _calendar_year_end = DATE( _calendar_year, 12, 31)
21+ VAR _previous_fiscal_year_start = DATE( _fiscal_year - 2, 07, 01)
22+ VAR _previous_fiscal_year_end = DATE( _fiscal_year - 1, 06, 30)
23+ VAR _previous_calendar_year_start = DATE( _calendar_year - 1, 01, 01)
24+ VAR _previous_calendar_year_end = DATE( _calendar_year - 1, 12, 31)
2125
2226VAR _result =
2327 UNION (
24- ADDCOLUMNS (CALENDAR ( _today_date, _today_date), "Timeframe", "Today", "Timeframe Order", 1 )
25- , ADDCOLUMNS (CALENDAR ( _yesterday_date, _yesterday_date), "Timeframe", "Yesterday", "Timeframe Order", 2 )
26- , ADDCOLUMNS (CALENDAR ( _week_start - 7, _week_end - 7 ), "Timeframe", "Previous Week", "Timeframe Order", 3 )
27- , ADDCOLUMNS (CALENDAR ( _week_start, _today_date ), "Timeframe", "WTD", "Timeframe Order", 4 )
28- , ADDCOLUMNS (CALENDAR ( _previous_month_start, _previous_month_end ), "Timeframe", "Previous Month", "Timeframe Order", 5 )
29- , ADDCOLUMNS (CALENDAR ( _month_start, _today_date ), "Timeframe", "MTD", "Timeframe Order", 6 )
30- , ADDCOLUMNS (CALENDAR ( _previous_quarter_start, _previous_quarter_end ), "Timeframe", "Previous Qtr", "Timeframe Order", 7 )
31- , ADDCOLUMNS (CALENDAR ( _quarter_start, _today_date ), "Timeframe", "QTD", "Timeframe Order", 8 )
32- , ADDCOLUMNS (CALENDAR ( _previous_fiscal_year_start, _previous_fiscal_year_end ), "Timeframe", "Previous Year", "Timeframe Order", 9 )
33- , ADDCOLUMNS (CALENDAR ( _fiscal_year_start, _today_date ), "Timeframe", "YTD", "Timeframe Order", 10 )
34- , ADDCOLUMNS (CALENDAR ( _tomorrow_date, _fiscal_year_end ), "Timeframe", "Rest of Year", "Timeframe Order", 11 )
35- , ADDCOLUMNS (CALENDAR ( _fiscal_year_start, _fiscal_year_end ), "Timeframe", "Full Year", "Timeframe Order", 12 )
36- , ADDCOLUMNS (CALENDAR ( _calendar_year_start, _today_date ), "Timeframe", "Calendar YTD", "Timeframe Order", 13 )
37- , ADDCOLUMNS (CALENDAR ( _calendar_year_start, _calendar_year_end ), "Timeframe", "Full Calendar Year", "Timeframe Order", 14 )
28+ ADDCOLUMNS (CALENDAR ( _today_date, _today_date), "Timeframe", "Today", "Timeframe Order", 1 )
29+ , ADDCOLUMNS (CALENDAR ( _yesterday_date, _yesterday_date), "Timeframe", "Yesterday", "Timeframe Order", 2 )
30+ , ADDCOLUMNS (CALENDAR ( _week_start - 7, _week_end - 7 ), "Timeframe", "Previous Week", "Timeframe Order", 3 )
31+ , ADDCOLUMNS (CALENDAR ( _week_start, _week_end ), "Timeframe", "Current Week", "Timeframe Order", 4 )
32+ , ADDCOLUMNS (CALENDAR ( _week_start, _today_date ), "Timeframe", "WTD", "Timeframe Order", 5 )
33+ , ADDCOLUMNS (CALENDAR ( _previous_month_start, _previous_month_end ), "Timeframe", "Previous Month", "Timeframe Order", 6 )
34+ , ADDCOLUMNS (CALENDAR ( _month_start, _month_end ), "Timeframe", "Current Month", "Timeframe Order", 7 )
35+ , ADDCOLUMNS (CALENDAR ( _month_start, _today_date ), "Timeframe", "MTD", "Timeframe Order", 8 )
36+ , ADDCOLUMNS (CALENDAR ( _previous_quarter_start, _previous_quarter_end ), "Timeframe", "Previous Qtr", "Timeframe Order", 9 )
37+ , ADDCOLUMNS (CALENDAR ( _quarter_start, _quarter_end ), "Timeframe", "Current Qtr", "Timeframe Order", 10 )
38+ , ADDCOLUMNS (CALENDAR ( _quarter_start, _today_date ), "Timeframe", "QTD", "Timeframe Order", 11 )
39+ , ADDCOLUMNS (CALENDAR ( _previous_fiscal_year_start, _previous_fiscal_year_end ), "Timeframe", "Previous Year", "Timeframe Order", 12 )
40+ , ADDCOLUMNS (CALENDAR ( _fiscal_year_start, _fiscal_year_end ), "Timeframe", "Current Year", "Timeframe Order", 13 )
41+ , ADDCOLUMNS (CALENDAR ( _fiscal_year_start, _today_date ), "Timeframe", "YTD", "Timeframe Order", 14 )
42+ , ADDCOLUMNS (CALENDAR ( _tomorrow_date, _fiscal_year_end ), "Timeframe", "Rest of Year", "Timeframe Order", 15 )
43+ , ADDCOLUMNS (CALENDAR ( _previous_calendar_year_start, _previous_calendar_year_end ), "Timeframe", "Previous Calendar Year", "Timeframe Order", 16 )
44+ , ADDCOLUMNS (CALENDAR ( _calendar_year_start, _calendar_year_end ), "Timeframe", "Current Calendar Year", "Timeframe Order", 17 )
45+ , ADDCOLUMNS (CALENDAR ( _calendar_year_start, _today_date ), "Timeframe", "Calendar YTD", "Timeframe Order", 18 )
46+ , ADDCOLUMNS (CALENDAR ( _tomorrow_date, _calendar_year_end ), "Timeframe", "Rest of Calendar Year", "Timeframe Order", 19 )
3847 )
3948
4049RETURN
41- _result
50+ _result
0 commit comments