CREATE OR REPLACE FORCE VIEW
"DWH_DM_ZRM"."VW_OKT_TO_KENGETAL_CUM"
("DATUM_CUMULATIEF", "GEBIED_CODE",
"GEBIED_OMSCHRIJVING", "KENGETAL",
"AANTAL_JEUGDIGEN", "EENHEID", "TYPE") AS
SELECT
'1-' || cast(K.KAL_MAAND as varchar2(2)) ||
'-' || CAST(K.KAL_JAAR as varchar2(4))
DATUM_CUMULATIEF ,
'' AS GEBIED_CODE,
'' AS
GEBIED_OMSCHRIJVING,
'OKT_AANTAL_JEUGDIGEN_CUMULATIEF'
AS KENGETAL,
MAX((SELECT
COUNT(DISTINCT FCT_CLIENTNUMMER) AANTAL FROM
DWH_DM_ZRM.ZRM_FCT_OKT_DAG SB
INNER
JOIN DWH_DM_ZRM.ZRM_DIM_KALENDER SK ON SK.KAL_DATUM_KEY = SB.FCT_PEILDATUM
WHERE SK.KAL_JAAR = K.KAL_JAAR AND SK.KAL_MAAND BETWEEN 1 AND
K.KAL_MAAND
)) AANTAL_JEUGDIGEN,
'AANTAL' AS
"EENHEID" ,
'OKT' AS
"TYPE"
FROM DWH_DM_ZRM.ZRM_DIM_KALENDER K
WHERE
K.KAL_JAAR > = 2015
GROUP BY
K.KAL_JAAR, K.KAL_MAAND
ORDER BY
TO_DATE( CAST(K.KAL_JAAR as varchar2(4)) || '-' || cast(K.KAL_MAAND as
varchar2(2)) || '-01', 'YYYY-MM-DD' );
Toelichting:
Met de het zwarte stukje
bouw je alle maanden op. Daarna kan je de k.kal_jaar en k.kal_maand meegeven
aan de subquery. Deze voert een onafhankelijk subquery uit met deze
inputparameters. Dit resultaat moet nog wel even door de max functie aangezien
anders de Group by niet werkt van de hoofdquery
Gebruikt om maandstanden cumulatief te berekenen in Derived table "D_DashboardBereikCumulatief"
is een union van sqlblokjes per soort pgb zin etc
SELECT
TO_DATE( CAST(K.KAL_JAAR as varchar2(4)) || '-' || cast(K.KAL_MAAND as varchar2(2)) || '-01', 'YYYY-MM-DD' ) DATUM_CUMULATIEF,
MAX((SELECT COUNT(DISTINCT FCT_DIM_CLIENT_KEY) AANTAL FROM DWH_DM_ZRM.ZRM_FCT_BESCHIKKING_DAG_ARCH SB
INNER JOIN DWH_DM_ZRM.ZRM_DIM_LEVERINGSVORM L ON L.LVM_DIM_LEVERINGSVORM_KEY = SB.FCT_DIM_LEVERINGSVORM_KEY
INNER JOIN DWH_DM_ZRM.ZRM_DIM_KALENDER SK ON SK.KAL_DATUM_KEY = SB.FCT_PEILDATUM
WHERE SK.KAL_JAAR = K.KAL_JAAR AND SK.KAL_MAAND BETWEEN 1 AND K.KAL_MAAND
AND L.LVM_LEVERINGSVORM_CD = 'PGB'
AND SB.FCT_DATUM_ARCHIEF = '31-12-2016'
)) AANTAL_JEUGDIGEN,
'Aantal jeugdigen PGB' Xlabel
FROM DWH_DM_ZRM.ZRM_DIM_KALENDER K
WHERE K.KAL_JAAR > = 2015
GROUP BY K.KAL_JAAR, K.KAL_MAAND;
cumulatieve maandstanden
Gebruikt om maandstanden cumulatief te berekenen in Derived table "D_DashboardBereikCumulatief"
is een union van sqlblokjes per soort pgb zin etc
SELECT
TO_DATE( CAST(K.KAL_JAAR as varchar2(4)) || '-' || cast(K.KAL_MAAND as varchar2(2)) || '-01', 'YYYY-MM-DD' ) DATUM_CUMULATIEF,
MAX((SELECT COUNT(DISTINCT FCT_DIM_CLIENT_KEY) AANTAL FROM DWH_DM_ZRM.ZRM_FCT_BESCHIKKING_DAG_ARCH SB
INNER JOIN DWH_DM_ZRM.ZRM_DIM_LEVERINGSVORM L ON L.LVM_DIM_LEVERINGSVORM_KEY = SB.FCT_DIM_LEVERINGSVORM_KEY
INNER JOIN DWH_DM_ZRM.ZRM_DIM_KALENDER SK ON SK.KAL_DATUM_KEY = SB.FCT_PEILDATUM
WHERE SK.KAL_JAAR = K.KAL_JAAR AND SK.KAL_MAAND BETWEEN 1 AND K.KAL_MAAND
AND L.LVM_LEVERINGSVORM_CD = 'PGB'
AND SB.FCT_DATUM_ARCHIEF = '31-12-2016'
)) AANTAL_JEUGDIGEN,
'Aantal jeugdigen PGB' Xlabel
FROM DWH_DM_ZRM.ZRM_DIM_KALENDER K
WHERE K.KAL_JAAR > = 2015
GROUP BY K.KAL_JAAR, K.KAL_MAAND;

