121 lines
3.9 KiB
SQL
121 lines
3.9 KiB
SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: Popola_FD190PatrimonioFinanziario_PTFRibilanciato
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <>
|
|
-- Create date: <>
|
|
-- Description: <caricamento tabella di generazione TB_S10PatrimonioFinanziario>
|
|
-- =============================================
|
|
|
|
-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I'
|
|
CREATE procedure [C6MartPeriodico].[Popola_FD190PatrimonioFinanziario_PTFRibilanciato]
|
|
-- Add the parameters for the stored procedure here
|
|
--@Rete char(1),
|
|
--@CodiceFiscale varchar(16)
|
|
AS
|
|
BEGIN
|
|
|
|
truncate table C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato
|
|
INSERT INTO C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato
|
|
|
|
SELECT --top 1
|
|
Rete,
|
|
cod_fiscale as CodiceFiscale,
|
|
A.BANCA AS Banca,
|
|
A.ORDINAMENTO AS Ordinamento,
|
|
A.AssetClassId AS AssetClassId,
|
|
A.AssetClassName AS AssetClassName,
|
|
a.ChiavePtfMod,
|
|
A.Controvalore,
|
|
A.percentuale,
|
|
ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) as Totale,
|
|
isnull(ptf.percentuale,0.00) as Percentuale_Modello,
|
|
A.VAR_PROG
|
|
|
|
--cast(A.Controvalore as decimal(19,5)) AS Controvalore,
|
|
--cast(A.Percentuale as decimal(19,5)) AS Percentuale,
|
|
--cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale
|
|
FROM
|
|
(
|
|
SELECT DISTINCT
|
|
CASE Rete
|
|
WHEN 'S' THEN 'Sanpaolo Invest'
|
|
WHEN 'F' THEN 'Fideuram'
|
|
ELSE 'IW Private Investments'
|
|
END AS Banca,
|
|
rete,
|
|
cod_fiscale,
|
|
ASSETCLASS.ORDINAMENTO,
|
|
VALORIASSET.ID_ASSETCLASS AS AssetClassId,
|
|
ASSETCLASS.DESCRIZIONE AS AssetClassName,
|
|
ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore,
|
|
(
|
|
SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) /
|
|
--16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO
|
|
CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0
|
|
THEN 1
|
|
ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) )
|
|
END
|
|
) * 100 AS Percentuale ,
|
|
ChiavePtfMod,
|
|
VAR_PERC_PTF as VAR_PROG
|
|
FROM (
|
|
|
|
SELECT
|
|
PATRBF.rete,
|
|
PATRBF.COD_FISCALE,
|
|
ASSETPERC.ID_ASSETCLASS,
|
|
PATRBF.CTV*ASSETPERC.PERC as Controvalore ,
|
|
PATRBF.ChiavePtfMod,
|
|
RISCHIO_AGGR_PROG.VAR_PERC_PTF
|
|
FROM
|
|
C6MartPeriodico.PATRIMONIO_BF PATRBF
|
|
INNER JOIN
|
|
C6MartPeriodico.ASSET_PERC ASSETPERC
|
|
ON
|
|
PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO
|
|
AND ASSETPERC.LIVELLO = 1
|
|
-- inner join
|
|
-- C6StagingPeriodico.RP_Progetto_Robo robo
|
|
-- on robo.chiaveProgetto=patrbf.CHIAVE_PROGETTO
|
|
LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG
|
|
ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE
|
|
AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE
|
|
AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|'
|
|
+ cast (PatrBF.ordinamento_progetto as varchar)
|
|
WHERE
|
|
--ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY
|
|
(PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC'))
|
|
and patrbf.id_area not in ('CC', 'SELF')
|
|
and patrbf.NOME_PROGETTO like '%Direct Evo%'
|
|
-- AND PATRBF.RETE = @Rete
|
|
-- AND PATRBF.COD_FISCALE = @CodiceFiscale
|
|
|
|
UNION ALL
|
|
|
|
SELECT
|
|
Asul.rete,
|
|
asul.cod_fiscale,
|
|
ASSETPERC.ID_ASSETCLASS,
|
|
ASUL.CTV*ASSETPERC.PERC as Controvalore ,
|
|
patrbf.chiaveptfmod,
|
|
RISCHIO_AGGR_PROG.VAR_PERC_PTF
|
|
|
|
FROM
|
|
C6MartPeriodico.DETTAGLIO_ASUL ASUL
|
|
INNER JOIN
|
|
C6MartPeriodico.ASSET_PERC ASSETPERC
|
|
ON
|
|
ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
|
|
---ELIMINO GLI SKANDIA
|
|
AND ASUL.COD_ISIN_SOTT = ''
|
|
AND ASSETPERC.LIVELLO = 1
|
|
|