| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- 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
|