-- Schema: C6MartPeriodico -- Stored Procedure: PL_D_S158PiramideModello -- ============================================= -- Author: Paolo Giovanetti -- Create date: -- Description: -- ============================================= -- [C6MartPeriodico].[PL_D_S158PiramideModello] 'F','CLRLCU75R04B573X' CREATE procedure [C6MartPeriodico].[PL_D_S158PiramideModello] @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN SELECT BF.NOME_PROGETTO AS NomePrg, PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, AGGR.VAR_PERC_PTF as VarPrg, SUM(BF.CTV)AS ControvalorePrg FROM C6MartPeriodico.PATRIMONIO_BF BF INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR ON BF.RETE= AGGR.RETE AND BF.COD_FISCALE= AGGR.COD_FISCALE AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD ON BF.RETE= PIRMOD.RETE AND BF.COD_FISCALE= PIRMOD.COD_FISCALE AND BF.ID_AREA = PIRMOD.ID_AREA AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO WHERE 1=1 AND BF.ID_AREA = 'inv' AND BF.RETE = @Rete AND BF.COD_FISCALE = @CodiceFiscale AND BF.CTV > 0 group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF --SELECT -- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO -- PIRMOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) -- ISNULL(PIRMOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO -- PIRMOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO -- PIRMOD.CTV_PROGETTO AS Controvalore, -- Controvalore Progetto -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS Totale, -- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS NumeroProgettiInv, -- AREA_BISOGNO.ORDINAMENTO AS Ordinamento --FROM C6MartPeriodico.AREA_BISOGNO --LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD -- ON PIRMOD.ID_AREA = AREA_BISOGNO.ID_AREA -- AND((PIRMOD.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL )--OR PIRAMIDE_MOD.tipo_progetto<>'Default' -- OR PIRMOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) -- AND PIRMOD.RETE = @Rete -- AND PIRMOD.COD_FISCALE = @CodiceFiscale --WHERE AREA_BISOGNO.ORDINAMENTO < 6 --ORDER BY AREA_BISOGNO.ORDINAMENTO END