64 lines
2.6 KiB
SQL
64 lines
2.6 KiB
SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: PL_D_S158PiramideModello
|
|
|
|
-- =============================================
|
|
-- Author: Paolo Giovanetti
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <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
|
|
|
|
|
|
|