Script Deloitte - Primer Paso Consolidación por OAID y sus derivados para tener los estados puestos en columnas
1.- Verificación de última fecha cargada
select max(STR_TO_DATE(Fecha,'%d/%m/%Y')) from AdxionConsolidacionDiaria where source="Deloitte"
Resultado : 23/04/2020
2.- Carga incremental diaria
Buscar las fechas entre el día siguiente al determinado en punto 1 (2020-04-24 00:00:00) y anterior a hoy con hora 00:00:00 consolidarlas por OAID y sus amiguitos en la tabla AdxionConsolidacionDiaria
insert into `AdxionConsolidacionDiaria` (source, adserver, Fecha, websiteid, zoneid, OAID, Todos, Start, FirstQuartile, MidPoint, ThirdQuartile, Complete)
select
source, adserver,
DATE_FORMAT(a.fechahora, '%d/%m/%Y') Fecha , a.websiteid, a.zoneid,
a.OAID,
1 as 'Todos',
ifnull((select 1 from AdxionVideosMetricaDetallada xb where (xb.OAID=a.OAID and xb.evento="start" and not exists(select 1 from AdxionVideosMetricaDetallada d1 where d1.OAID=a.OAID and d1.evento="firstquartile") ) LIMIT 1),0) as 'Start',
ifnull((select 1 from AdxionVideosMetricaDetallada b where (b.OAID=a.OAID and b.evento="firstquartile"
and not exists(select 1 from AdxionVideosMetricaDetallada d1 where d1.OAID=a.OAID and d1.evento="midpoint")
)
LIMIT 1),0) as 'FirstQuartile',
ifnull((select 1 from AdxionVideosMetricaDetallada c where (c.OAID=a.OAID and c.evento="midpoint"
and not exists(select 1 from AdxionVideosMetricaDetallada d1 where d1.OAID=a.OAID and d1.evento="thirdquartile")
)
LIMIT 1),0) as 'MidPoint',
ifnull((select 1 from AdxionVideosMetricaDetallada d where (d.OAID=a.OAID and d.evento="thirdquartile"
and not exists(select 1 from AdxionVideosMetricaDetallada d1 where d1.OAID=a.OAID and d1.evento="complete")
) LIMIT 1) ,0) as 'ThirdQuartile',
ifnull((select 1 from AdxionVideosMetricaDetallada e where e.OAID=a.OAID and e.evento="complete" LIMIT 1),0) as 'Complete'
from AdxionVideosMetricaDetallada a
where fechahora >= "2020-04-24 00:00:00" and fechahora<"2020-04-28 00:00:00"
and source="Deloitte"
group by source, adserver, DATE_FORMAT(a.fechahora, '%d/%m/%Y') , a.websiteid, a.zoneid,a.OAID
// Segundo Paso - Consolidación por Fecha
3.- Verificar cargas previas resumidas en AdxionConsolidacionPorFecha
select * from AdxionConsolidacionPorFecha where source="Deloitte"
Source Fecha Inicio Primero Segundo Tercero Completo
Deloitte 21-04-2020 2371 1386 1041 916 31733
Deloitte 22-04-2020 2129 1447 951 907 29439
Deloitte 23-04-2020 1970 1127 903 805 28291
Ajustar la inserción a fechas mayores que 23/04/2020,o la que corresponda al resultado de select max(STR_TO_DATE(Fecha,'%d/%m/%Y')) from AdxionConsolidacionPorFecha where source="Deloitte"
insert into AdxionConsolidacionPorFecha (source, Fecha, Inicio, Primero, Segundo, Tercero, Completo)
select source, Fecha, sum(Start),sum(FirstQuartile),sum(MidPoint),sum(ThirdQuartile),sum(Complete)
from AdxionConsolidacionDiaria
where source="Deloitte" and STR_TO_DATE(Fecha,'%d/%m/%Y')>="2020-04-24 00:00:00"
group by source, Fecha