|
|
@@ -0,0 +1,170 @@
|
|
|
+SET QUOTED_IDENTIFIER ON
|
|
|
+GO
|
|
|
+SET ANSI_NULLS ON
|
|
|
+GO
|
|
|
+CREATE VIEW [kalender].[Kalender_Matrix] AS
|
|
|
+
|
|
|
+WITH
|
|
|
+ [Kalender_Heute]
|
|
|
+ AS (SELECT [T1].*
|
|
|
+ , [T2].[Invoice Date] AS [Heute]
|
|
|
+ FROM [kalender].[Kalender_Tage] [T1]
|
|
|
+ CROSS JOIN [kalender].[Aktueller_Tag] [T2])
|
|
|
+
|
|
|
+ , [Kalender_Heute_Vorjahr_Vormonat]
|
|
|
+ AS (SELECT [Datum]
|
|
|
+ , [Tag_im_Jahr]
|
|
|
+ , [Wochentag]
|
|
|
+ , [Wochentag_int]
|
|
|
+ , [Periode]
|
|
|
+ , [Kalenderwoche]
|
|
|
+ , [Quartal_int]
|
|
|
+ , [Datum_str]
|
|
|
+ , [Datum_int]
|
|
|
+ , [MoFr]
|
|
|
+ , [MoSa]
|
|
|
+ , [Jahr]
|
|
|
+ , [Quartal]
|
|
|
+ , [Monat]
|
|
|
+ , [Tag]
|
|
|
+ , [Heute]
|
|
|
+ , dateadd(YY, -1, [Heute]) AS [Heute_Vorjahr]
|
|
|
+ , dateadd(MM, -1, [Heute]) AS [Heute_Vormonat]
|
|
|
+ FROM [Kalender_Heute])
|
|
|
+
|
|
|
+ , [Zeit_Dimension_Berechnung]
|
|
|
+ AS (SELECT [T1].*
|
|
|
+ , iif([Datum] = [Heute], 1, 0) AS "Aktueller Tag"
|
|
|
+ , iif([Datum] = dateadd(DD, -1, [Heute]), 1, 0) AS "Gestern"
|
|
|
+ , iif([Datum] <= [Heute] AND [Datum] >= [kalender].[bomonth]([Heute]), 1, 0) AS "M bisher"
|
|
|
+ , iif([Datum] <= [Heute_Vorjahr] AND [Datum] >= [kalender].[bomonth]([Heute_Vorjahr]), 1, 0) AS "M bisher Vorjahr"
|
|
|
+ -- "M bisher / M bisher VJ",
|
|
|
+ , iif([Datum] <= [Heute_Vormonat] AND [Datum] >= [kalender].[bomonth]([Heute_Vormonat]), 1, 0) AS "Voriger M bisher"
|
|
|
+ -- "M bisher gruppiert",
|
|
|
+ , iif([Datum] <= [Heute] AND [Datum] >= [kalender].[boquarter]([Heute]), 1, 0) AS "Q bisher" -- TODO
|
|
|
+ , iif([Datum] <= dateadd(MM, -3, [Heute]) AND [Datum] >= [kalender].[boquarter](dateadd(MM, -3, [Heute])), 1, 0) AS "Voriges Q bisher"
|
|
|
+ -- "Q bisher gruppiert",
|
|
|
+ , iif([Datum] <= [Heute] AND [Datum] >= datefromparts(year([Heute]), 1, 1), 1, 0) AS "J bisher"
|
|
|
+ , iif([Datum] <= [Heute_Vorjahr] AND [Datum] >= datefromparts(year([Heute]) - 1, 1, 1), 1, 0) AS "Voriges J bisher"
|
|
|
+ ,
|
|
|
+ -- "J bisher gruppiert",
|
|
|
+ -- 0 as "J bisher / VJ bisher",
|
|
|
+ iif([Datum] <= eomonth([Heute]) AND [Datum] >= [kalender].[bomonth]([Heute]), 1, 0) AS "Aktueller Monat"
|
|
|
+ , iif([Datum] <= eomonth([Heute_Vormonat]) AND [Datum] >= [kalender].[bomonth]([Heute_Vormonat]), 1, 0) AS "Vormonat (-1)"
|
|
|
+ , iif([Datum] <= eomonth(dateadd(MM, -2, [Heute])) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -2, [Heute])), 1, 0) AS "Vormonat (-2)"
|
|
|
+ , iif([Datum] <= eomonth(dateadd(MM, -3, [Heute])) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -3, [Heute])), 1, 0) AS "Vormonat (-3)"
|
|
|
+ , iif([Datum] <= eomonth([Heute_Vorjahr]) AND [Datum] >= [kalender].[bomonth]([Heute_Vorjahr]), 1, 0) AS "Akt. Monat Vorjahr"
|
|
|
+ , iif([Datum] <= eomonth(dateadd(MM, -1, [Heute_Vorjahr])) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -1, [Heute_Vorjahr])), 1, 0) AS "Vormonat (-1) Vorjahr"
|
|
|
+ , iif([Datum] <= eomonth(dateadd(MM, -2, [Heute_Vorjahr])) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -2, [Heute_Vorjahr])), 1, 0) AS "Vormonat (-2) Vorjahr"
|
|
|
+ , iif([Datum] <= eomonth(dateadd(MM, -3, [Heute_Vorjahr])) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -3, [Heute_Vorjahr])), 1, 0) AS "Vormonat (-3) Vorjahr"
|
|
|
+ , iif([Datum] <= eomonth([Heute]) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -6, [Heute])), 1, 0) AS "letzte 6 Monate"
|
|
|
+ , iif([Datum] <= eomonth([Heute]) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -12, [Heute])), 1, 0) AS "letzte 12 Monate"
|
|
|
+ , iif([Datum] <= [Heute_Vormonat] AND [Datum] >= datefromparts(year([Heute_Vormonat]), 1, 1), 1, 0) AS "per Vormonat"
|
|
|
+ , iif([Datum] <= dateadd(MM, -2, [Heute]) AND [Datum] >= datefromparts(year(dateadd(MM, -2, [Heute])), 1, 1), 1, 0) AS "per Vormonat (-2)"
|
|
|
+ , iif([Datum] <= dateadd(MM, -3, [Heute]) AND [Datum] >= datefromparts(year(dateadd(MM, -3, [Heute])), 1, 1), 1, 0) AS "per Vormonat (-3)"
|
|
|
+ , iif([Datum] <= dateadd(MM, -1, [Heute_Vorjahr]) AND [Datum] >= datefromparts(year(dateadd(MM, -1, [Heute_Vorjahr])), 1, 1), 1, 0) AS "per Vormonat Vorjahr"
|
|
|
+ , iif([Datum] <= dateadd(MM, -2, [Heute_Vorjahr]) AND [Datum] >= datefromparts(year(dateadd(MM, -2, [Heute_Vorjahr])), 1, 1), 1, 0) AS "per Vormonat (-2) Vorjahr"
|
|
|
+ , iif([Datum] <= dateadd(MM, -3, [Heute_Vorjahr]) AND [Datum] >= datefromparts(year(dateadd(MM, -3, [Heute_Vorjahr])), 1, 1), 1, 0) AS "per Vormonat (-3) Vorjahr"
|
|
|
+ , iif(year([Datum]) = year([Heute]), 1, 0) AS "Aktuelles Jahr"
|
|
|
+ , iif(year([Datum]) = year([Heute]) - 1, 1, 0) AS "letztes Jahr"
|
|
|
+ , iif([Datum] <= eomonth(dateadd(MM, -2, [Heute])) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -5, [Heute])), 1, 0) AS "3 Monate bis Vormonat (-2)"
|
|
|
+ , iif([Quartal] = [kalender].[quarter_name](dateadd(QQ, -1, [Heute])), 1, 0) AS "Quartal (-1)"
|
|
|
+ , iif([Quartal] = [kalender].[quarter_name](dateadd(QQ, -2, [Heute])), 1, 0) AS "Quartal (-2)"
|
|
|
+ , iif([Quartal] = [kalender].[quarter_name](dateadd(QQ, -3, [Heute])), 1, 0) AS "Quartal (-3)"
|
|
|
+ , iif([Quartal] = [kalender].[quarter_name](dateadd(QQ, -1, [Heute_Vorjahr])), 1, 0) AS "Quartal (-1) Vorjahr"
|
|
|
+ , iif([Quartal] = [kalender].[quarter_name](dateadd(QQ, -2, [Heute_Vorjahr])), 1, 0) AS "Quartal (-2) Vorjahr"
|
|
|
+ , iif([Quartal] = [kalender].[quarter_name](dateadd(QQ, -3, [Heute_Vorjahr])), 1, 0) AS "Quartal (-3) Vorjahr"
|
|
|
+ , iif(([Datum] <= dateadd(QQ, -1, [Heute]) AND [Datum] >= datefromparts(year(dateadd(QQ, -1, [Heute])), 1, 1)) OR [Quartal] = [kalender].[quarter_name](dateadd(QQ, -1, [Heute])), 1, 0) AS "Quartal (-1) kum."
|
|
|
+ , iif(([Datum] <= dateadd(QQ, -1, [Heute_Vorjahr]) AND [Datum] >= datefromparts(year(dateadd(QQ, -1, [Heute_Vorjahr])), 1, 1)) OR [Quartal] = [kalender].[quarter_name](dateadd(QQ, -1, [Heute_Vorjahr])), 1, 0) AS "Quartal (-1) kum. Vorjahr"
|
|
|
+ ,
|
|
|
+ --0 as "restl. Jahr",
|
|
|
+ --0 as "Gesamtjahr",
|
|
|
+ iif([Datum] <= eomonth([Heute_Vormonat]) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -12, [Heute])), 1, 0) AS "letzte 11 Monate"
|
|
|
+ , iif([Datum] <= eomonth([Heute_Vormonat]) AND [Datum] >= [kalender].[bomonth](dateadd(MM, -14, [Heute])), 1, 0) AS "letzte 13 Monate"
|
|
|
+ --0 as "12 Monate kum. rollierend"
|
|
|
+
|
|
|
+ , iif([Datum] <= [Heute] AND [Datum] > dateadd(DD, -3, [Heute]), 1, 0) AS "letzte 3 Tage"
|
|
|
+ , iif([Datum] <= [Heute] AND [Datum] > dateadd(DD, -7, [Heute]), 1, 0) AS "letzte 7 Tage"
|
|
|
+ , iif([Datum] <= [Heute] AND [Datum] > dateadd(DD, -14, [Heute]), 1, 0) AS "letzte 14 Tage"
|
|
|
+ , iif([Datum] <= [Heute] AND [Datum] > dateadd(DD, -30, [Heute]), 1, 0) AS "letzte 30 Tage"
|
|
|
+
|
|
|
+ FROM [Kalender_Heute_Vorjahr_Vormonat] [T1])
|
|
|
+
|
|
|
+
|
|
|
+ , [Zeit_Dimension_mit_Gruppen]
|
|
|
+ AS (SELECT [Datum]
|
|
|
+ , [Tag_im_Jahr]
|
|
|
+ , [Wochentag]
|
|
|
+ , [Wochentag_int]
|
|
|
+ , [Periode]
|
|
|
+ , [Kalenderwoche]
|
|
|
+ , [Quartal_int]
|
|
|
+ , [Datum_str]
|
|
|
+ , [Datum_int]
|
|
|
+ , [MoFr]
|
|
|
+ , [MoSa]
|
|
|
+ , [Jahr]
|
|
|
+ , [Quartal]
|
|
|
+ , [Monat]
|
|
|
+ , [Tag]
|
|
|
+ , [Heute]
|
|
|
+ , [Heute_Vorjahr]
|
|
|
+ , [Heute_Vormonat]
|
|
|
+ , [Aktueller Tag]
|
|
|
+ , [Gestern]
|
|
|
+ , [M bisher]
|
|
|
+ , [M bisher Vorjahr]
|
|
|
+ , [M bisher] + [M bisher Vorjahr] * 2 AS [M bisher / M bisher VJ]
|
|
|
+ , [Voriger M bisher]
|
|
|
+ , [M bisher] + [Voriger M bisher] * 2 AS [M bisher gruppiert]
|
|
|
+ , [Q bisher]
|
|
|
+ , [Voriges Q bisher]
|
|
|
+ , [Q bisher] + [Voriges Q bisher] * 2 AS [Q bisher gruppiert]
|
|
|
+ , [J bisher]
|
|
|
+ , [Voriges J bisher]
|
|
|
+ , [J bisher] + [Voriges J bisher] * 2 AS [J bisher gruppiert]
|
|
|
+ , [Aktueller Monat]
|
|
|
+ , [Vormonat (-1)]
|
|
|
+ , [Vormonat (-2)]
|
|
|
+ , [Vormonat (-3)]
|
|
|
+ , [Akt. Monat Vorjahr]
|
|
|
+ , [Vormonat (-1) Vorjahr]
|
|
|
+ , [Vormonat (-2) Vorjahr]
|
|
|
+ , [Vormonat (-3) Vorjahr]
|
|
|
+ , [letzte 6 Monate]
|
|
|
+ , [letzte 12 Monate]
|
|
|
+ , [per Vormonat]
|
|
|
+ , [per Vormonat (-2)]
|
|
|
+ , [per Vormonat (-3)]
|
|
|
+ , [per Vormonat Vorjahr]
|
|
|
+ , [per Vormonat (-2) Vorjahr]
|
|
|
+ , [per Vormonat (-3) Vorjahr]
|
|
|
+ , [Aktuelles Jahr]
|
|
|
+ , [letztes Jahr]
|
|
|
+ , [3 Monate bis Vormonat (-2)]
|
|
|
+ , [Quartal (-1)]
|
|
|
+ , [Quartal (-2)]
|
|
|
+ , [Quartal (-3)]
|
|
|
+ , [Quartal (-1) Vorjahr]
|
|
|
+ , [Quartal (-2) Vorjahr]
|
|
|
+ , [Quartal (-3) Vorjahr]
|
|
|
+ , [Quartal (-1) kum.]
|
|
|
+ , [Quartal (-1) kum. Vorjahr]
|
|
|
+ , [letzte 11 Monate]
|
|
|
+ , [letzte 13 Monate]
|
|
|
+ , [letzte 3 Tage]
|
|
|
+ , [letzte 7 Tage]
|
|
|
+ , [letzte 14 Tage]
|
|
|
+ , [letzte 30 Tage]
|
|
|
+ FROM [Zeit_Dimension_Berechnung])
|
|
|
+
|
|
|
+
|
|
|
+SELECT *
|
|
|
+FROM [Zeit_Dimension_mit_Gruppen]
|
|
|
+GO
|
|
|
+SET QUOTED_IDENTIFIER OFF
|
|
|
+GO
|
|
|
+SET ANSI_NULLS OFF
|
|
|
+GO
|
|
|
+
|
|
|
+GO
|