Untitled
unknown
plain_text
3 years ago
8.0 kB
4
Indexable
EXEC(' CREATE OR ALTER VIEW[dwh].[ALG_DimDatum] as WITH DateRange as ( SELECT CurrentDate = DATEADD(DAY, rn - 1, DATEFROMPARTS(YEAR(GETDATE())-10,1,1)) FROM ( SELECT TOP (DATEDIFF(DAY, DATEFROMPARTS(YEAR(GETDATE())-10,1,1), DATEFROMPARTS(YEAR(GETDATE())+2,1,1))) rn = ROW_NUMBER() OVER (ORDER BY a.object_id) FROM sys.all_objects a CROSS JOIN sys.all_objects b ) AS dates where DATEADD(DAY, rn - 1, DATEFROMPARTS(YEAR(GETDATE())-10,1,1))>=''2018-01-01'' ), DateQueryENG as (SELECT DateBK = CONVERT (char(8),CurrentDate,112) ,DateAsInteger = CONVERT(int,CONVERT (char(8),CurrentDate,112)) ,Date = CurrentDate ,DayOfMonth = DATEPART(DD, CurrentDate) ,DayName = DATENAME(DW, CurrentDate) ,DayOfWeek = DATEPART(DW, CurrentDate) ,DayOfYear = DATEPART(DY, CurrentDate) ,WeekOfMonth = DATEPART(WW, CurrentDate) + 1 - DATEPART(WW, CONVERT(VARCHAR, DATEPART(MM, CurrentDate)) + ''/1/'' + CONVERT(VARCHAR, DATEPART(YY, CurrentDate))) ,WeekOfQuarter = (DATEDIFF(DD, DATEADD(QQ, DATEDIFF(QQ, 0, CurrentDate), 0), CurrentDate) / 7) + 1 ,WeekOfYear = DATEPART(ISO_WEEK, CurrentDate) ,Month = DATEPART(MM, CurrentDate) ,MonthName = DATENAME(MM, CurrentDate) ,MonthNumName = RIGHT(''00'' + CONVERT(VARCHAR(2),MONTH(CurrentDate)),2) + '' - '' + CONVERT(VARCHAR, DATENAME(MM, CurrentDate)) ,MonthOfQuarter = CASE WHEN DATEPART(MM, CurrentDate) IN (1, 4, 7, 10) THEN 1 WHEN DATEPART(MM, CurrentDate) IN (2, 5, 8, 11) THEN 2 WHEN DATEPART(MM, CurrentDate) IN (3, 6, 9, 12) THEN 3 END ,Quarter = DATEPART(QQ, CurrentDate) ,QuarterName = CONCAT(''Q'',DATEPART(QQ, CurrentDate)) ,Year = DATEPART(YEAR, CurrentDate) ,MonthYear = LEFT(DATENAME(MM, CurrentDate), 3) + ''-'' + CONVERT(VARCHAR, DATEPART(YY, CurrentDate)) ,MMYYYY = RIGHT(''0'' + CONVERT(VARCHAR, DATEPART(MM, CurrentDate)),2) + CONVERT(VARCHAR, DATEPART(YY, CurrentDate)) ,YYYYMM = CONVERT(char(6),CurrentDate,112) ,FirstDayOfMonth = CONVERT(date, CONVERT(DATE, DATEADD(DD, - (DATEPART(DD, CurrentDate) - 1), CurrentDate))) ,LastDayOfMonth = CONVERT(date, CONVERT(DATE, DATEADD(DD, - (DATEPART(DD, (DATEADD(MM, 1, CurrentDate)))), DATEADD(MM, 1, CurrentDate)))) ,FirstDayOfQuarter = CONVERT(date, DATEADD(QQ, DATEDIFF(QQ, 0, CurrentDate), 0)) ,LastDayOfQuarter = CONVERT(date, DATEADD(QQ, DATEDIFF(QQ, -1, CurrentDate), -1)) ,FirstDayOfYear = CONVERT(date, ''01/01/'' + CONVERT(VARCHAR, DATEPART(YY, CurrentDate))) ,LastDayOfYear = CONVERT(date, ''12/31/'' + CONVERT(VARCHAR, DATEPART(YY, CurrentDate))) ,IsWeekDay = CASE DATEPART(DW, CurrentDate) WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 3 THEN 1 WHEN 4 THEN 1 WHEN 5 THEN 1 WHEN 6 THEN 1 WHEN 7 THEN 0 END ,[IsCurrentYear] = CASE WHEN YEAR(CurrentDate) = YEAR(GETDATE()) THEN 1 ELSE 0 END ,[IsCurrentQuarter] = CASE WHEN CASE WHEN YEAR(CurrentDate) = YEAR(GETDATE()) THEN 1 ELSE 0 END = 1 AND DATEPART(QUARTER, CurrentDate) = DATEPART(QUARTER, GETDATE()) THEN 1 ELSE 0 END ,[IsCurrentMonth] = CASE WHEN CASE WHEN YEAR(CurrentDate) = YEAR(GETDATE()) THEN 1 ELSE 0 END = 1 AND DATEPART(MONTH, CurrentDate) = DATEPART(MONTH, GETDATE()) THEN 1 ELSE 0 END ,[IsCurrentWeek] = CASE WHEN CASE WHEN YEAR(CurrentDate) = YEAR(GETDATE()) THEN 1 ELSE 0 END = 1 AND DATEPART(WEEK, CurrentDate) = DATEPART(WEEK, GETDATE()) THEN 1 ELSE 0 END ,[IsCurrentDay] = CASE WHEN CurrentDate = CONVERT (char(8), GETDATE(),112) THEN 1 ELSE 0 END ,[IsPreviousYear] = CASE WHEN YEAR(CurrentDate) = YEAR(DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) - 1, 0)) THEN 1 ELSE 0 END ,[IsCurrentQuarterLY] = CASE WHEN YEAR(CurrentDate) = YEAR(DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) - 1, 0)) AND DATEPART(QUARTER, CurrentDate) = DATEPART(QUARTER, GETDATE()) THEN 1 ELSE 0 END ,[IsCurrentMonthLY] = CASE WHEN YEAR(CurrentDate) = YEAR(DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) - 1, 0)) AND DATEPART(MONTH, CurrentDate) = DATEPART(MONTH, GETDATE()) THEN 1 ELSE 0 END ,[IsCurrentWeekLY] = CASE WHEN YEAR(CurrentDate) = YEAR(DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) - 1, 0)) AND DATEPART(WEEK, CurrentDate) = DATEPART(WEEK, GETDATE()) THEN 1 ELSE 0 END ,[IsPreviousQuarter] = CASE WHEN CurrentDate BETWEEN DATEADD(QQ, DATEDIFF(qq, -1, GETDATE()) - 2, 0) AND DATEADD(ss, -1, DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0)) THEN 1 ELSE 0 END ,[IsPreviousMonth] = CASE WHEN CurrentDate BETWEEN DATEADD(month, DATEDIFF(month, -1, GETDATE()) - 2, 0) AND DATEADD(ss, -1, DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)) THEN 1 ELSE 0 END ,[IsPreviousWeek] = CASE WHEN CurrentDate BETWEEN DATEADD(WEEK, DATEDIFF(WEEK, -1, GETDATE()) - 1, 0) AND DATEADD(ss, -1, DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()), 0)) THEN 1 ELSE 0 END FROM DateRange dr ) select DatumBK = DateBK ,DatumInteger = DateAsInteger ,Datum = Date ,DagVanMaand = DayOfMonth ,DagNaam = CASE DayName WHEN ''Monday'' THEN ''Maandag'' WHEN ''Tuesday'' THEN ''Dinsdag'' WHEN ''Wednesday'' THEN ''Woensdag'' WHEN ''Thursday'' THEN ''Donderdag'' WHEN ''Friday'' THEN ''Vrijdag'' WHEN ''Saturday'' THEN ''Zaterdag'' WHEN ''Sunday'' THEN ''Zondag'' Else NULL end ,DagVanWeek = DayOfWeek ,DagVanJaar = DayOfYear ,WeekVanMaand = WeekOfMonth ,WeekVanKwartaal = WeekOfQuarter ,WeekVanJaar = WeekOfYear ,Maand = Month ,MaandNaam = CASE Month WHEN 1 THEN ''januari'' WHEN 2 THEN ''februari'' WHEN 3 THEN ''maart'' WHEN 4 THEN ''april'' WHEN 5 THEN ''mei'' WHEN 6 THEN ''juni'' WHEN 7 THEN ''juli'' WHEN 8 THEN ''augustus'' WHEN 9 THEN ''september'' WHEN 10 THEN ''oktober'' WHEN 11 THEN ''november'' WHEN 12 THEN ''december'' ELSE NULL END ,MaandNumName = CONCAT(LEFT(MonthNumName,5), CASE Month WHEN 1 THEN ''januari'' WHEN 2 THEN ''februari'' WHEN 3 THEN ''maart'' WHEN 4 THEN ''april'' WHEN 5 THEN ''mei'' WHEN 6 THEN ''juni'' WHEN 7 THEN ''juli'' WHEN 8 THEN ''augustus'' WHEN 9 THEN ''september'' WHEN 10 THEN ''oktober'' WHEN 11 THEN ''november'' WHEN 12 THEN ''december'' ELSE NULL END) ,MaandOfKwartaal = MonthOfQuarter ,Kwartaal = Quarter ,KwartaalName = QuarterName ,Jaar = Year ,MaandJaar = MonthYear ,MMYYYY = MMYYYY ,YYYYMM = YYYYMM ,EersteDagOfMaand = FirstDayOfMonth ,LaatsteDagOfMaand = LastDayOfMonth ,EersteDagOfKwartaal = FirstDayOfQuarter ,LaatsteDagOfKwartaal = LastDayOfQuarter ,EersteDagOfJaar = FirstDayOfYear ,LaatsteDagOfJaar = LastDayOfYear ,IsWeekDag = IsWeekDay ,[IsHuidigJaar] = [IsCurrentYear] ,[IsHuidigKwartaal] = [IsCurrentQuarter] ,[IsHuidigMaand] = [IsCurrentMonth] ,[IsHuidigWeek] = [IsCurrentWeek] ,[IsHuidigDag] = [IsCurrentDay] ,[IsVorigJaar] = [IsPreviousYear] ,[IsHuidigKwartaalVJ] = [IsCurrentQuarterLY] ,[IsHuidigMaandVJ] = [IsCurrentMonthLY] ,[IsHuidigWeekVJ] = [IsCurrentWeekLY] ,[IsVorigeKwartaal] = [IsPreviousQuarter] ,[IsVorigeMaand] = [IsPreviousMonth] ,[IsVorigeWeek] = [IsPreviousWeek] from DateQueryENG')
Editor is loading...