-- ============================================= -- Author: Paolo Giovanetti -- Create date: -- Description: -- ============================================= -- [C6Mart].[PL_S37PiramideModello] 'F','RSSGPL33R01L219K' CREATE procedure [C6Mart].[PL_S37PiramideModello] @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN -- VECCHIA VERSIONE CON UNA RIGA DI TROPPO PER L'AREA INV -- SELECT -- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO -- PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) -- ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO -- PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO -- SUM(CASE WHEN PIRAMIDE_MOD.NOME_PROGETTO IS NULL THEN ISNULL(PIRAMIDE_MOD.PERC_AREA,0) ELSE 0 END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI -- SUM(CASE WHEN PIRAMIDE_MOD.NOME_PROGETTO IS NULL THEN ISNULL(PIRAMIDE_MOD.PERC_AREA,0) ELSE 0 END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, -- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, -- AREA_BISOGNO.ORDINAMENTO -- FROM C6MART.AREA_BISOGNO -- LEFT JOIN C6MART.PIRAMIDE_MOD ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA -- AND PIRAMIDE_MOD.RETE = @Rete -- AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale -- WHERE AREA_BISOGNO.ORDINAMENTO < 6 -- ORDER BY AREA_BISOGNO.ORDINAMENTO SELECT AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, AREA_BISOGNO.ORDINAMENTO FROM C6MART.AREA_BISOGNO LEFT JOIN C6MART.PIRAMIDE_MOD ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA AND((PIRAMIDE_MOD.ID_AREA = 'INV' AND (PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL OR PIRAMIDE_MOD.NOME_PROGETTO = 'Default')) OR PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) AND PIRAMIDE_MOD.RETE = @Rete AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale WHERE AREA_BISOGNO.ORDINAMENTO < 6 ORDER BY AREA_BISOGNO.ORDINAMENTO END