| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_NULLS ON
- GO
- CREATE VIEW [kalender].[Kalender_Mandant] AS
- WITH
- [Kalender_Mandant_mit_Arbeitstag]
- AS (SELECT [T1].[Hauptbetrieb_ID]
- , [T1].[Standort_ID]
- , [T1].[Bundesland_ID]
- , [T2].[Datum]
- , [T2].[Tag_im_Jahr]
- , [T2].[Wochentag]
- , [T2].[Wochentag_int]
- , [T2].[Periode]
- , [T2].[Kalenderwoche]
- , [T2].[Quartal]
- , [T2].[Datum_str]
- , [T2].[Datum_int]
- , [T1].[Samstag_Arbeitstag]
- , iif([T1].[Samstag_Arbeitstag] = 1, [T2].[MoSa], [T2].[MoFr]) AS [Arbeitstag]
- FROM [kalender].[Konfiguration_Mandant] [T1]
- CROSS JOIN [kalender].[Kalender_Tage] [T2])
- , [Kalender_Mandant_mit_Feiertag]
- AS (SELECT [T1].[Hauptbetrieb_ID]
- , [T1].[Standort_ID]
- , [T1].[Bundesland_ID]
- -- , [T2].[Bundesland_Kuerzel]
- , [T1].[Datum]
- , [T1].[Tag_im_Jahr]
- , [T1].[Wochentag]
- , [T1].[Wochentag_int]
- , [T1].[Periode]
- , [T1].[Kalenderwoche]
- , [T1].[Quartal]
- , [T1].[Datum_str]
- , [T1].[Datum_int]
- , [T2].[Feiertag_Name]
- , iif([T2].[Feiertag_ID] IS NOT NULL, 1, 0) AS [Feiertag]
- , [T1].[Samstag_Arbeitstag]
- , [T1].[Arbeitstag] * iif([T2].[Feiertag_ID] IS NULL, 1, 0) AS [Arbeitstag]
- FROM [Kalender_Mandant_mit_Arbeitstag] [T1]
- LEFT JOIN [kalender].[Feiertage_Berechnet] [T2] ON [T1].[Bundesland_ID] = [T2].[Bundesland_ID]
- AND [T1].[Datum] = [T2].[Datum])
- , [Kalender_Mandant_mit_Summe]
- AS (SELECT [Hauptbetrieb_ID]
- , [Standort_ID]
- , [Bundesland_ID]
- -- , [Bundesland_Kuerzel]
- , [Datum]
- , [Tag_im_Jahr]
- , [Wochentag]
- , [Wochentag_int]
- , [Periode]
- , [Kalenderwoche]
- , [Quartal]
- , [Datum_str]
- , [Datum_int]
- , [Feiertag_Name]
- , [Feiertag]
- , [Samstag_Arbeitstag]
- , [Arbeitstag]
- , rank() OVER (
- PARTITION BY [Arbeitstag],
- [Hauptbetrieb_ID],
- [Standort_ID],
- [Periode] ORDER BY [Datum]
- ) * [Arbeitstag] AS [Arbeitstag_Zaehler_Monat]
- , rank() OVER (
- PARTITION BY [Arbeitstag],
- [Hauptbetrieb_ID],
- [Standort_ID],
- year([Datum]) ORDER BY [Datum]
- ) * [Arbeitstag] AS [Arbeitstag_Zaehler_Jahr]
- , rank() OVER (
- PARTITION BY [Arbeitstag],
- [Hauptbetrieb_ID],
- [Standort_ID] ORDER BY [Datum]
- ) * [Arbeitstag] AS [Arbeitstag_Zaehler_Absolut]
- , sum([Arbeitstag]) OVER (
- PARTITION BY [Hauptbetrieb_ID],
- [Standort_ID],
- [Periode]
- ) AS [Arbeitstag_Summe_Monat]
- , sum([Arbeitstag]) OVER (
- PARTITION BY [Hauptbetrieb_ID],
- [Standort_ID],
- year([Datum])
- ) AS [Arbeitstag_Summe_Jahr]
- FROM [Kalender_Mandant_mit_Feiertag])
- , [Kalender_Mandant_mit_produktiv]
- AS (SELECT [Hauptbetrieb_ID]
- , [Standort_ID]
- , [Bundesland_ID]
- -- , [Bundesland_Kuerzel]
- , [T1].[Datum]
- , [T1].[Datum] AS "Invoice Date"
- , [T1].[Datum] AS "Bookkeep Date"
- , [Tag_im_Jahr]
- , [Wochentag]
- , [Wochentag_int]
- , [Periode]
- , [Kalenderwoche]
- , [Quartal]
- , [Datum_str]
- , [Datum_int]
- , [Feiertag_Name]
- , [Feiertag]
- , [Samstag_Arbeitstag]
- , [Arbeitstag]
- , [Arbeitstag_Zaehler_Absolut]
- , [Arbeitstag_Zaehler_Jahr]
- , [Arbeitstag_Summe_Jahr]
- , 1.0 * [Arbeitstag] / [Arbeitstag_Summe_Jahr] AS [ProduktivFaktorJahr]
- , [Arbeitstag_Zaehler_Monat]
- , [Arbeitstag_Summe_Monat]
- , 1.0 * [Arbeitstag] / [Arbeitstag_Summe_Monat] AS [ProduktivFaktorMonat]
- , month([T1].[Datum]) AS [Monat]
- FROM [Kalender_Mandant_mit_Summe] [T1]
- -- CROSS JOIN [kalender].[Buchungsbelege] [T2]
- -- WHERE [T1].[Datum] BETWEEN datefromparts(year([T2].[Buchung_von]), 1, 1) AND eomonth([T2].[Buchung_bis]))
- INNER JOIN [kalender].[Datum_Heute] [T2] ON [T1].[Datum] <= datefromparts(year([T2].[Datum]), 12, 31))
- --WHERE [Datum] <= datefromparts(year(getdate()), 12, 31))
- , [Kalender_Mandant_produktiv_Monatswerte]
- AS (SELECT *
- , iif([Monat] = 1, [ProduktivFaktorMonat], 0.0) AS [Monat_01]
- , iif([Monat] = 2, [ProduktivFaktorMonat], 0.0) AS [Monat_02]
- , iif([Monat] = 3, [ProduktivFaktorMonat], 0.0) AS [Monat_03]
- , iif([Monat] = 4, [ProduktivFaktorMonat], 0.0) AS [Monat_04]
- , iif([Monat] = 5, [ProduktivFaktorMonat], 0.0) AS [Monat_05]
- , iif([Monat] = 6, [ProduktivFaktorMonat], 0.0) AS [Monat_06]
- , iif([Monat] = 7, [ProduktivFaktorMonat], 0.0) AS [Monat_07]
- , iif([Monat] = 8, [ProduktivFaktorMonat], 0.0) AS [Monat_08]
- , iif([Monat] = 9, [ProduktivFaktorMonat], 0.0) AS [Monat_09]
- , iif([Monat] = 10, [ProduktivFaktorMonat], 0.0) AS [Monat_10]
- , iif([Monat] = 11, [ProduktivFaktorMonat], 0.0) AS [Monat_11]
- , iif([Monat] = 12, [ProduktivFaktorMonat], 0.0) AS [Monat_12]
- FROM [Kalender_Mandant_mit_produktiv])
- SELECT *
- FROM [Kalender_Mandant_produktiv_Monatswerte]
- GO
- SET QUOTED_IDENTIFIER OFF
- GO
- SET ANSI_NULLS OFF
- GO
- GO
|