| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_NULLS ON
- GO
- CREATE VIEW [kalender].[Kalender_Dimension] AS
- WITH
- [Zeit_Dimension_mit_Text]
- 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]
- , iif([Aktueller Tag] = 1, [Tag], NULL) AS [Aktueller Tag]
- , iif([Gestern] = 1, [Tag], NULL) AS [Gestern]
- , iif([M bisher] = 1, [Tag], NULL) AS [M bisher]
- , iif([M bisher Vorjahr] = 1, [Tag], NULL) AS [M bisher Vorjahr]
- , convert(varchar(30), CASE WHEN [M bisher / M bisher VJ] = 1 THEN 'M bisher' WHEN [M bisher / M bisher VJ] = 2 THEN 'M bisher VJ' ELSE NULL END) AS [M bisher / M bisher VJ]
- , iif([Voriger M bisher] = 1, [Tag], NULL) AS [Voriger M bisher]
- , convert(varchar(30), CASE WHEN [M bisher gruppiert] = 1 THEN 'M bisher' WHEN [M bisher gruppiert] = 2 THEN 'Voriger M bisher' ELSE NULL END) AS [M bisher gruppiert]
- , iif([Q bisher] = 1, [Quartal], NULL) AS [Q bisher]
- , iif([Voriges Q bisher] = 1, [Quartal], NULL) AS [Voriges Q bisher]
- , convert(varchar(30), CASE WHEN [Q bisher gruppiert] = 1 THEN 'Q bisher' WHEN [Q bisher gruppiert] = 2 THEN 'Voriges Q bisher' ELSE NULL END) AS [Q bisher gruppiert]
- , iif([J bisher] = 1, [Quartal], NULL) AS [J bisher]
- , iif([Voriges J bisher] = 1, [Quartal], NULL) AS [Voriges J bisher]
- , convert(varchar(30), CASE WHEN [J bisher gruppiert] = 1 THEN 'J bisher' WHEN [J bisher gruppiert] = 2 THEN 'Voriges J bisher' ELSE NULL END) AS [J bisher gruppiert]
- , iif([Aktueller Monat] = 1, [Monat], NULL) AS [Aktueller Monat]
- , iif([Vormonat (-1)] = 1, [Monat], NULL) AS [Vormonat (-1)]
- , iif([Vormonat (-2)] = 1, [Monat], NULL) AS [Vormonat (-2)]
- , iif([Vormonat (-3)] = 1, [Monat], NULL) AS [Vormonat (-3)]
- , iif([Akt. Monat Vorjahr] = 1, [Monat], NULL) AS [Akt. Monat Vorjahr]
- , iif([Vormonat (-1) Vorjahr] = 1, [Monat], NULL) AS [Vormonat (-1) Vorjahr]
- , iif([Vormonat (-2) Vorjahr] = 1, [Monat], NULL) AS [Vormonat (-2) Vorjahr]
- , iif([Vormonat (-3) Vorjahr] = 1, [Monat], NULL) AS [Vormonat (-3) Vorjahr]
- , iif([letzte 6 Monate] = 1, [Monat], NULL) AS [letzte 6 Monate]
- , iif([letzte 12 Monate] = 1, [Monat], NULL) AS [letzte 12 Monate]
- , iif([per Vormonat] = 1, [Quartal], NULL) AS [per Vormonat]
- , iif([per Vormonat (-2)] = 1, [Quartal], NULL) AS [per Vormonat (-2)]
- , iif([per Vormonat (-3)] = 1, [Quartal], NULL) AS [per Vormonat (-3)]
- , iif([per Vormonat Vorjahr] = 1, [Quartal], NULL) AS [per Vormonat Vorjahr]
- , iif([per Vormonat (-2) Vorjahr] = 1, [Quartal], NULL) AS [per Vormonat (-2) Vorjahr]
- , iif([per Vormonat (-3) Vorjahr] = 1, [Quartal], NULL) AS [per Vormonat (-3) Vorjahr]
- , iif([Aktuelles Jahr] = 1, [Jahr], NULL) AS [Aktuelles Jahr]
- , iif([letztes Jahr] = 1, [Jahr], NULL) AS [letztes Jahr]
- , iif([3 Monate bis Vormonat (-2)] = 1, [Monat], NULL) AS [3 Monate bis Vormonat (-2)]
- , iif([Quartal (-1)] = 1, [Quartal], NULL) AS [Quartal (-1)]
- , iif([Quartal (-2)] = 1, [Quartal], NULL) AS [Quartal (-2)]
- , iif([Quartal (-3)] = 1, [Quartal], NULL) AS [Quartal (-3)]
- , iif([Quartal (-1) Vorjahr] = 1, [Quartal], NULL) AS [Quartal (-1) Vorjahr]
- , iif([Quartal (-2) Vorjahr] = 1, [Quartal], NULL) AS [Quartal (-2) Vorjahr]
- , iif([Quartal (-3) Vorjahr] = 1, [Quartal], NULL) AS [Quartal (-3) Vorjahr]
- , iif([Quartal (-1) kum.] = 1, [Quartal], NULL) AS [Quartal (-1) kum.]
- , iif([Quartal (-1) kum. Vorjahr] = 1, [Quartal], NULL) AS [Quartal (-1) kum. Vorjahr]
- , iif([letzte 11 Monate] = 1, [Monat], NULL) AS [letzte 11 Monate]
- , iif([letzte 13 Monate] = 1, [Monat], NULL) AS [letzte 13 Monate]
- , iif([letzte 3 Tage] = 1, [Tag], NULL) AS [letzte 3 Tage]
- , iif([letzte 7 Tage] = 1, [Tag], NULL) AS [letzte 7 Tage]
- , iif([letzte 14 Tage] = 1, [Tag], NULL) AS [letzte 14 Tage]
- , iif([letzte 30 Tage] = 1, [Tag], NULL) AS [letzte 30 Tage]
- FROM [kalender].[Kalender_Matrix])
- , [Zeit_Pivot]
- AS (SELECT [Datum], [Zeit_Spezialkategorie], [Zeit_Ebene1]
- FROM (SELECT [Datum]
- , [Aktueller Tag]
- , [Gestern]
- , [M bisher]
- , [M bisher Vorjahr]
- , [M bisher / M bisher VJ]
- , [Voriger M bisher]
- , [M bisher gruppiert]
- , [Q bisher]
- , [Voriges Q bisher]
- , [Q bisher gruppiert]
- , [J bisher]
- , [Voriges J bisher]
- , [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_mit_Text]) [p]
- UNPIVOT
- ([Zeit_Ebene1] FOR [Zeit_Spezialkategorie] IN
- ([Aktueller Tag]
- ,[Gestern]
- ,[M bisher]
- ,[M bisher Vorjahr]
- ,[M bisher / M bisher VJ]
- ,[Voriger M bisher]
- ,[M bisher gruppiert]
- ,[Q bisher]
- ,[Voriges Q bisher]
- ,[Q bisher gruppiert]
- ,[J bisher]
- ,[Voriges J bisher]
- ,[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])
- ) AS [unpvt]
- WHERE [Zeit_Ebene1] IS NOT NULL)
- , [Zeit_Pivot_fuer_Datum]
- AS (SELECT [T1].[Datum]
- , [T2].[Jahr]
- , [T2].[Quartal]
- , [T2].[Monat]
- , [T2].[Tag]
- , [T1].[Zeit_Spezialkategorie]
- , [T1].[Zeit_Ebene1]
- FROM [Zeit_Pivot] [T1]
- INNER JOIN [kalender].[Kalender_Tage] [T2] ON [T1].[Datum] = [T2].[Datum])
- , [Zeit_Spezial_Ebene2]
- AS (SELECT [Datum]
- , [Jahr]
- , [Quartal]
- , [Monat]
- , [Tag]
- , [Zeit_Spezialkategorie]
- , [Zeit_Ebene1]
- , CASE
- WHEN [Zeit_Ebene1] = [Jahr] THEN [Quartal]
- WHEN [Zeit_Ebene1] = [Quartal] THEN [Monat]
- WHEN [Zeit_Ebene1] = [Monat] THEN [Tag]
- WHEN [Zeit_Spezialkategorie] IN ('J bisher gruppiert') THEN [Quartal]
- WHEN [Zeit_Spezialkategorie] IN ('Q bisher gruppiert') THEN [Monat]
- WHEN [Zeit_Spezialkategorie] IN ('M bisher / M bisher VJ', 'M bisher gruppiert') THEN [Tag]
- END AS [Zeit_Ebene2]
- FROM [Zeit_Pivot_fuer_Datum])
- , [Zeit_Spezial_Ebene3]
- AS (SELECT [Datum]
- , [Jahr]
- , [Quartal]
- , [Monat]
- , [Tag]
- , [Zeit_Spezialkategorie]
- , [Zeit_Ebene1]
- , [Zeit_Ebene2]
- , CASE
- WHEN [Zeit_Ebene2] = [Quartal] THEN [Monat]
- WHEN [Zeit_Ebene2] = [Monat] THEN [Tag]
- END AS [Zeit_Ebene3]
- FROM [Zeit_Spezial_Ebene2])
- , [Zeit_Spezial_Ebene4]
- AS (SELECT [Datum]
- , [Jahr]
- , [Quartal]
- , [Monat]
- , [Tag]
- , [Zeit_Spezialkategorie]
- , [Zeit_Ebene1]
- , [Zeit_Ebene2]
- , [Zeit_Ebene3]
- , CASE
- WHEN [Zeit_Ebene3] = [Monat] THEN [Tag]
- END AS [Zeit_Ebene4]
- FROM [Zeit_Spezial_Ebene3])
- SELECT *
- FROM [Zeit_Spezial_Ebene4]
- GO
- SET QUOTED_IDENTIFIER OFF
- GO
- SET ANSI_NULLS OFF
- GO
- GO
|