PDC_REPORT_CreazioneDB/sql/storedCollaudo/dbo_RP_Popola_PiramideModello.sql
2025-06-06 19:02:52 +02:00

65 lines
2.4 KiB
Transact-SQL

-- Schema: dbo
-- Stored Procedure: RP_Popola_PiramideModello
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[RP_Popola_PiramideModello]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @datacongelamento as datetime
declare @dataInizioTrimestre as datetime
declare @FineTrimestre as datetime
set @datacongelamento = C6MartPeriodico.getDataCongelamento()
set @FineTrimestre = C6MartPeriodico.getDataCongelamento()+1
--convert (date, DATEADD(month, 0, '2020-10-31 00:00:00.000'))
--Sostituire la data congelamento con la reale data di congelament tramite la funzione già esistente
set @dataInizioTrimestre = DATEADD(m,-3,DATEADD(mm, DATEDIFF(m,0,@datacongelamento), 0))
--print @datacongelamento
--print @FineTrimestre
--print @dataInizioTrimestre
-- Insert statements for procedure here
select Rete,
Cod_fiscale,
Data_foto
into #ClientiPiramideIniziale
from [C6MartPeriodico].[MONITORAGGIO_INIZIALE]
where data_foto between @dataInizioTrimestre and @FineTrimestre
--select min(data_foto) from [C6MartPeriodico].[MONITORAGGIO_INIZIALE] where data_foto >= '2020-05-30 00:00:00.000'
insert into C6StagingPeriodico.Popola_PiramideModello
select Rete,
Cod_fiscale,
Data_foto,
isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ext'),0.00) as PERC_EXT,
isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Inv'),0.00) as PERC_INV,
isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Pre'),0.00) as PERC_PRE,
isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ris'),0.00) as PERC_RIS,
isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Liq'),0.00) as PERC_LIQ
from #ClientiPiramideIniziale
where rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105))) not in
(select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105)))) from C6StagingPeriodico.Popola_PiramideModello)
--and rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale)) not in
--(select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))) from C6StagingPeriodico.Popola_PiramideModello)
END