11Calendar Timeframe =
22VAR _today_date = TODAY() //'Properties'[Today Date]
33VAR _yesterday_date = _today_date - 1
4- VAR _week_start = _today_date - WEEKDAY ( _today_date, 1 )
5- VAR _week_end = _today_date - WEEKDAY ( _today_date, 1 ) + 6
4+ VAR _week_start = _today_date - WEEKDAY ( _today_date, 2 )
5+ VAR _week_end = _today_date - WEEKDAY ( _today_date, 2 ) + 6
66VAR _month_start = DATE( YEAR(_today_date), MONTH(_today_date), 01 )
77VAR _month_end = EOMONTH( _today_date, 0)
8- VAR _month_start_py = DATE( YEAR(_today_date) - 1, MONTH(_today_date), 01 )
9- VAR _today_date_py = DATE( YEAR(_today_date) - 1, MONTH(_today_date), DAY(_today_date) )
108VAR _quarter_start = DATE ( YEAR (_today_date), ROUNDUP ( DIVIDE ( MONTH (_today_date), 3 ), 0 ) * 3 - 2, 1 )
119VAR _quarter_end = EOMONTH(EDATE(_quarter_start, 2), 0)
12- VAR _fiscal_year = YEAR(EDATE( _today_date, 2 ))
13- VAR _fiscal_year_start = DATE( _fiscal_year - 1, 02 , 01)
14- VAR _fiscal_year_end = DATE( _fiscal_year, 01, 31 )
10+ VAR _fiscal_year = YEAR(EDATE( _today_date, 6 ))
11+ VAR _fiscal_year_start = DATE( _fiscal_year - 1, 07 , 01)
12+ VAR _fiscal_year_end = DATE( _fiscal_year, 06, 30 )
1513VAR _tomorrow_date = IF(_today_date + 1 > _fiscal_year_end, _fiscal_year_end, _today_date + 1)
1614VAR _calendar_year = YEAR(_today_date)
1715VAR _calendar_year_start = DATE( _calendar_year , 01, 01)
@@ -20,32 +18,39 @@ VAR _previous_month_start = IF(MONTH(_today_date) = 1, DATE(YEAR(_today_
2018VAR _previous_month_end = DATE(YEAR(_previous_month_start), MONTH(_previous_month_start), DAY(EOMONTH(_previous_month_start,0)))
2119VAR _previous_quarter_start = EDATE(_quarter_start, -3)
2220VAR _previous_quarter_end = EOMONTH(EDATE(_quarter_start, -1), 0)
23- VAR _previous_fiscal_year_start = DATE( _fiscal_year - 2, 02 , 01)
24- VAR _previous_fiscal_year_end = DATE( _fiscal_year - 1, 01, 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 )
2523VAR _previous_calendar_year_start = DATE( _calendar_year - 1, 01, 01)
2624VAR _previous_calendar_year_end = DATE( _calendar_year - 1, 12, 31)
25+ VAR _today_date_py = DATE( YEAR(_today_date) - 1, MONTH(_today_date), DAY(_today_date) )
26+ VAR _month_start_py = DATE( YEAR(_today_date) - 1, MONTH(_today_date), 01 )
27+ VAR _quarter_start_py = DATE( YEAR(_quarter_start) - 1, MONTH(_quarter_start), 01 )
28+ VAR _fiscal_year_start_py = DATE( YEAR(_fiscal_year_start) - 1, MONTH(_fiscal_year_start), 01 )
29+
2730VAR _result =
2831 UNION (
2932 ADDCOLUMNS (CALENDAR ( _today_date, _today_date), "Timeframe", "Today", "Timeframe Order", 1 )
3033 , ADDCOLUMNS (CALENDAR ( _yesterday_date, _yesterday_date), "Timeframe", "Yesterday", "Timeframe Order", 2 )
3134 , ADDCOLUMNS (CALENDAR ( _week_start - 7, _week_end - 7 ), "Timeframe", "Previous Week", "Timeframe Order", 3 )
3235 , ADDCOLUMNS (CALENDAR ( _week_start, _week_end ), "Timeframe", "Current Week", "Timeframe Order", 4 )
3336 , ADDCOLUMNS (CALENDAR ( _week_start, _today_date ), "Timeframe", "WTD", "Timeframe Order", 5 )
34- , ADDCOLUMNS (CALENDAR ( _previous_month_start, _previous_month_end ), "Timeframe", "Previous Month", "Timeframe Order", 6 )
35- , ADDCOLUMNS (CALENDAR ( _month_start, _month_end ), "Timeframe", "Current Month", "Timeframe Order", 7 )
36- , ADDCOLUMNS (CALENDAR ( _month_start, _today_date ), "Timeframe", "MTD", "Timeframe Order", 8 )
37- , ADDCOLUMNS (CALENDAR ( _month_start_py, _today_date_py ), "Timeframe", "MTD_PY", "Timeframe Order", 9 )
38- , ADDCOLUMNS (CALENDAR ( _previous_quarter_start, _previous_quarter_end ), "Timeframe", "Previous Qtr", "Timeframe Order", 10 )
39- , ADDCOLUMNS (CALENDAR ( _quarter_start, _quarter_end ), "Timeframe", "Current Qtr", "Timeframe Order", 11 )
40- , ADDCOLUMNS (CALENDAR ( _quarter_start, _today_date ), "Timeframe", "QTD", "Timeframe Order", 12 )
41- , ADDCOLUMNS (CALENDAR ( _previous_fiscal_year_start, _previous_fiscal_year_end ), "Timeframe", "Previous Year", "Timeframe Order", 13 )
42- , ADDCOLUMNS (CALENDAR ( _fiscal_year_start, _fiscal_year_end ), "Timeframe", "Current Year", "Timeframe Order", 14 )
43- , ADDCOLUMNS (CALENDAR ( _fiscal_year_start, _today_date ), "Timeframe", "YTD", "Timeframe Order", 15 )
44- , ADDCOLUMNS (CALENDAR ( _tomorrow_date, _fiscal_year_end ), "Timeframe", "Rest of Year", "Timeframe Order", 16 )
45- , ADDCOLUMNS (CALENDAR ( _previous_calendar_year_start, _previous_calendar_year_end ), "Timeframe", "Previous Calendar Year", "Timeframe Order", 17 )
46- , ADDCOLUMNS (CALENDAR ( _calendar_year_start, _calendar_year_end ), "Timeframe", "Current Calendar Year", "Timeframe Order", 18 )
47- , ADDCOLUMNS (CALENDAR ( _calendar_year_start, _today_date ), "Timeframe", "Calendar YTD", "Timeframe Order", 19 )
48- , ADDCOLUMNS (CALENDAR ( _tomorrow_date, _calendar_year_end ), "Timeframe", "Rest of Calendar Year", "Timeframe Order", 20 )
37+ , ADDCOLUMNS (CALENDAR ( _previous_month_start, _previous_month_end ), "Timeframe", "Previous Month", "Timeframe Order", 7 )
38+ , ADDCOLUMNS (CALENDAR ( _month_start, _month_end ), "Timeframe", "Current Month", "Timeframe Order", 8 )
39+ , ADDCOLUMNS (CALENDAR ( _month_start, _today_date ), "Timeframe", "MTD", "Timeframe Order", 9 )
40+ , ADDCOLUMNS (CALENDAR ( _month_start_py, _today_date_py ), "Timeframe", "MTD PY", "Timeframe Order", 10 )
41+ , ADDCOLUMNS (CALENDAR ( _previous_quarter_start, _previous_quarter_end ), "Timeframe", "Previous Qtr", "Timeframe Order", 11 )
42+ , ADDCOLUMNS (CALENDAR ( _quarter_start, _quarter_end ), "Timeframe", "Current Qtr", "Timeframe Order", 12 )
43+ , ADDCOLUMNS (CALENDAR ( _quarter_start, _today_date ), "Timeframe", "QTD", "Timeframe Order", 13 )
44+ , ADDCOLUMNS (CALENDAR ( _quarter_start_py, _today_date_py ), "Timeframe", "QTD PY", "Timeframe Order", 14 )
45+ , ADDCOLUMNS (CALENDAR ( _previous_fiscal_year_start, _previous_fiscal_year_end ), "Timeframe", "Previous Year", "Timeframe Order", 15 )
46+ , ADDCOLUMNS (CALENDAR ( _fiscal_year_start, _fiscal_year_end ), "Timeframe", "Current Year", "Timeframe Order", 16 )
47+ , ADDCOLUMNS (CALENDAR ( _fiscal_year_start, _today_date ), "Timeframe", "YTD", "Timeframe Order", 17 )
48+ , ADDCOLUMNS (CALENDAR ( _fiscal_year_start_py, _today_date_py ), "Timeframe", "YTD PY", "Timeframe Order", 18 )
49+ , ADDCOLUMNS (CALENDAR ( _tomorrow_date, _fiscal_year_end ), "Timeframe", "Rest of Year", "Timeframe Order", 19 )
50+ , ADDCOLUMNS (CALENDAR ( _previous_calendar_year_start, _previous_calendar_year_end ), "Timeframe", "Previous Calendar Year", "Timeframe Order", 20 )
51+ , ADDCOLUMNS (CALENDAR ( _calendar_year_start, _calendar_year_end ), "Timeframe", "Current Calendar Year", "Timeframe Order", 21 )
52+ , ADDCOLUMNS (CALENDAR ( _calendar_year_start, _today_date ), "Timeframe", "Calendar YTD", "Timeframe Order", 22 )
53+ , ADDCOLUMNS (CALENDAR ( _tomorrow_date, _calendar_year_end ), "Timeframe", "Rest of Calendar Year", "Timeframe Order", 23 )
4954 )
5055
5156RETURN
0 commit comments