-- Schema: C6MartPeriodico -- Stored Procedure: PL_MP_S133BISPrincipaliProdotti -- ============================================= -- Author: -- Create date: <07/05/2013> -- Description: -- ============================================= -- [C6martPeriodico].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B CREATE procedure [C6MartPeriodico].[PL_MP_S133BISPrincipaliProdotti] -- Add the parameters for the stored procedure here @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SELECT TOP 10 ANAGPROD.DESCR_PRODOTTO AS descrProdotto ,PATRBF.CTV AS Controvalore ,CASE WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 ELSE RISCHIO_PROD.VAR_PERC_PTF END AS VaRprodotto ,((CASE WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 END) / (CASE WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') END))*100 as rischioRelativo ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo ,PATRBF.ID_AREA AS codAreaBisogno FROM C6MartPeriodico.PATRIMONIO_BF PATRBF INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE AND RISCHIO_PROD.COD_AGGREG = CASE WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' END + PATRBF.POSITION_ID WHERE PATRBF.RETE = @Rete AND PATRBF.COD_FISCALE = @CodiceFiscale AND PATRBF.CTV <>0 AND PATRBF.ID_AREA <> 'Cc' ORDER BY rischioRelativo DESC END