-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathCalendario Fiscal ES.txt
More file actions
98 lines (98 loc) · 3.6 KB
/
Calendario Fiscal ES.txt
File metadata and controls
98 lines (98 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Calendario Fiscal =
VAR FirstFiscalMonth = 3 -- First month of the fiscal year
VAR FirstDayOfWeek = 0 -- 0 = Sunday, 1 = Monday, ...
VAR FirstSalesDate =
MIN ( Pedidos[Fecha de Pedido] )
VAR LastSalesDate =
MAX ( Pedidos[Fecha de Llegada] )
VAR FirstFiscalYear =
-- Customizes the first fiscal year to use
YEAR ( FirstSalesDate )
+ 1
* (
MONTH ( FirstSalesDate ) >= FirstFiscalMonth
&& FirstFiscalMonth > 1
)
VAR LastFiscalYear =
-- Customizes the last fiscal year to use
YEAR ( LastSalesDate )
+ 1
* (
MONTH ( LastSalesDate ) >= FirstFiscalMonth
&& FirstFiscalMonth > 1
)
RETURN
GENERATE (
VAR FirstDay =
DATE ( FirstFiscalYear - 1 * ( FirstFiscalMonth > 1 ), FirstFiscalMonth, 1 )
VAR LastDay =
DATE ( LastFiscalYear + 1 * ( FirstFiscalMonth = 1 ), FirstFiscalMonth, 1 ) - 1
RETURN
CALENDAR ( FirstDay, LastDay ),
VAR CurrentDate = [Date]
VAR Yr =
YEAR ( CurrentDate ) -- Year Number
VAR Mn =
MONTH ( CurrentDate ) -- Month Number (1-12)
VAR Mdn =
DAY ( CurrentDate ) -- Day of Month
VAR DateKey = Yr * 10000 + Mn * 100 + Mdn
VAR Wd =
-- Weekday Number (0 = Sunday, 1 = Monday, ...)
WEEKDAY (
CurrentDate + 7 - FirstDayOfWeek,
1
)
VAR WorkingDay =
-- Working Day (1 = working, 0 = non-working)
(
WEEKDAY ( CurrentDate, 1 ) IN { 2, 3, 4, 5, 6 }
)
VAR Fyr = -- Fiscal Year Number
Yr + 1 * ( FirstFiscalMonth > 1
&& Mn >= FirstFiscalMonth )
VAR Fmn = -- Fiscal Month Number (1-12)
Mn - FirstFiscalMonth + 1 + 12 * ( Mn < FirstFiscalMonth )
VAR Fqrn =
-- Fiscal Quarter (string)
ROUNDUP ( Fmn / 3, 0 )
VAR Fmqn =
MOD ( FMn - 1, 3 ) + 1
VAR Fqr =
-- Fiscal Quarter (string)
FORMAT ( Fqrn, "\Q0" )
VAR FirstDayOfYear =
DATE ( Fyr - 1 * ( FirstFiscalMonth > 1 ), FirstFiscalMonth, 1 )
VAR Fydn =
SUMX (
CALENDAR ( FirstDayOfYear, CurrentDate ),
1
* (
MONTH ( [Date] ) <> 2
|| DAY ( [Date] ) <> 29
)
)
RETURN
ROW (
"DateKey", INT ( DateKey ),
"Sequential Day Number", INT ( [Date] ),
"Year Month", FORMAT ( CurrentDate, "mmm yyyy" ),
"Year Month Number",
Yr * 12 + Mn - 1,
"Fiscal Year", "FY " & Fyr,
"Fiscal Year Number", Fyr,
"Fiscal Year Quarter",
"F" & Fqr & "-" & Fyr,
"Fiscal Year Quarter Number",
CONVERT ( Fyr * 4 + FQrn - 1, INTEGER ),
"Fiscal Quarter", "F" & Fqr,
"Month", FORMAT ( CurrentDate, "mmm" ),
"Fiscal Month Number", Fmn,
"Fiscal Month in Quarter Number", Fmqn,
"Day of Week", FORMAT ( CurrentDate, "ddd" ),
"Day of Week Number", Wd,
"Day of Month Number", Mdn,
"Day of Fiscal Year Number", Fydn,
"Working Day", IF ( WorkingDay, "Working Day", "Non-Working Day" )
)
)