DECLARE @DimFiscalYearCalendar TABLE
(
[ID] INT NOT NULL IDENTITY(1,1),
[Month] INT NOT NULL,
[Year] INT NOT NULL,
[F_Year] INT NOT NULL,
[Quarter] varchar(2) NOT NULL,
[Date] DATETIME NOT NULL
)
DECLARE @startDate datetime
DECLARE @endDate datetime
DECLARE @index int
DECLARE @days int
DECLARE @date date
SET @startDate = '2014-09-01'
SET @endDate = '2015-08-31'
SET @index = 0
SELECT @days = DATEDIFF(day, @startDate, @endDate)
WHILE @index <= @days BEGIN
SET @date = @startDate + @index
INSERT INTO @DimFiscalYearCalendar (
[Month],
[Year],
[F_Year],
[Quarter],
[Date]
)
SELECT
MONTH(@date) AS [Month],
YEAR(@date) AS [Year],
CASE
WHEN MONTH(@date) >= 9 THEN YEAR(@date) + 1
ELSE YEAR(@date)
END AS [F_Year],
CASE
WHEN MONTH(@date) >= 9 AND MONTH(@date) <= 11 THEN 'Q1'
WHEN MONTH(@date) IN(1, 2, 12) THEN 'Q2'
WHEN MONTH(@date) >= 3 AND MONTH(@date) <= 5 THEN 'Q3'
WHEN MONTH(@date) >= 6 AND MONTH(@date) <= 8 THEN 'Q4'
END AS [Quarter],
@date AS [Date]
SET @index = @index + 1
END
SELECT * FROM @DimFiscalYearCalendar
A Fan of SSIS, SSRS and SSAS
No comments:
Post a Comment