Error en cantidad de evaluaciones parciales

Hola
Estoy migrando a la versión 3.19.1
Luego de correr el módulo de Parciales, encuentro el siguiente error:

sga_evaluaciones Error: Cantidad de evaluaciones no coinciden... 5.851,00 5.848,00
Cómo puedo hacer para identificar los que no pasaron? Así analizo la causa. Gracias!!

Iris

Iris, las querys para contar las evaluaciones parciales de G2 y G3 son estas:
– G2
SELECT count(*) FROM mig._cnv_pk_atr_eval_parc;

– G3
SELECT count(*)
FROM sga_evaluaciones as e, sga_evaluaciones_tipos as t
WHERE t.evaluacion_tipo = e.evaluacion_tipo
AND t.automatica = ‘N’
AND t.aplica_a = ‘C’; – Evaluaciones parciales

Fijate si podes ver cuales son esas que no estan en G3. Debe ser evaluaciones que no estaban bien registradas en G2.
Cuando pueda veo el modelo de datos de G2 y armo la query para ver diferencias…

Hola
Si, si, las consultas para ver las cantidades las tengo. Pero no se cómo identificar los casos, ya que son 5851… y sólo 3 no pasaron… ni idea cómo identificarlos… Y quiero entender el motivo, para analizar los casos puntuales.
Gracias!!!

Iris

Corre la siguiente consulta, veamos si se recuperan esas 3 evaluaciones que faltan.
La primer consulta lo hace sobre el esquema mig sin join con tablas de migracion ni de G3.
La 2da query es la que se usa para cargar datos en la tabla de evaluaciones parciales (sga_evaluaciones).

SELECT 
cron.comision,
cron.evaluacion,
evg2.tipo_evaluac_parc,
evg2.descripcion, 
cron.fecha_hora::time, 
date(cron.fecha_hora), 
tev.tipo_evaluac_parc
  FROM 
	mig.sga_cron_eval_parc as cron,
  	mig.sga_eval_parc as evg2,
	mig.sga_atr_eval_parc as atr,
	mig.sga_tipo_eval_parc as tev
	
 WHERE 
 	cron.evaluacion  = evg2.evaluacion AND
 	atr.comision    = cron.comision AND
 	atr.evaluacion  = cron.evaluacion AND
 	tev.tipo_evaluac_parc = evg2.tipo_evaluac_parc 
EXCEPT
SELECT 
cron.comision,
cron.evaluacion,
evg2.tipo_evaluac_parc,
evg2.descripcion, 
cron.fecha_hora::time, 
date(cron.fecha_hora), 
tev.tipo_evaluac_parc
  FROM 
  	mig._cnv_pk_atr_eval_parc as catr,
  	mig.sga_eval_parc as evg2,
	mig._rel_esc_notas as men,
	mig.sga_cron_eval_parc as cron,
	mig.sga_atr_eval_parc as atr,
	mig._cnv_pk_evaluaciones_tipos as cte,
	mig.sga_tipo_eval_parc as tev,
	mig._cnv_pk_comisiones as cc,
	sga_comisiones,
	vw_periodos_lectivos as pl
 WHERE 
    evg2.evaluacion = catr.evaluacion_g2 AND
 	
 	cron.comision   = catr.comision AND
 	cron.evaluacion = catr.evaluacion_g2 AND

 	atr.comision    = catr.comision AND
 	atr.evaluacion  = catr.evaluacion_g2 AND
 	
 	cte.tipo_evaluac_parc = evg2.tipo_evaluac_parc AND
 	tev.tipo_evaluac_parc = evg2.tipo_evaluac_parc AND
 	
 	men.escala_original = atr.escala_notas AND 
 	(men.tipo = 'R' or men.tipo = '' or men.tipo IS NULL) AND
 	cc.comision_g2 = atr.comision AND
 	sga_comisiones.comision = cc.comision AND

	pl.periodo_lectivo = sga_comisiones.periodo_lectivo;

2

Hola
En esta nueva vuelta de prueba de migración de G2 a G3.20, vuelvo a encontrarme con el mismo error, hay 3 evaluaciones parciales que no pasan…

[tr]
[td]sga_evaluaciones [/td][td]Error: Cantidad de evaluaciones no coinciden…[/td][td] 5.853,00 [/td][td]5.850,00[/td]
[/tr]

SELECT count(*) --INTO cnt_evaluacion_g2 = 5853
	FROM mig._cnv_pk_atr_eval_parc; 
	
SELECT count(*) --INTO cnt_evaluacion_g3 = 5850
	FROM sga_evaluaciones as e, sga_evaluaciones_tipos as t
	WHERE t.evaluacion_tipo = e.evaluacion_tipo
	   AND t.automatica = 'N'
	   AND t.aplica_a = 'C';  -- Evaluaciones parciales

La consulta que sugerís corra para intentar recuperar esas 3 evaluaciones que faltan, no retorna nada.
Y si ejecuto los SELECT por separado, ambos retornan 5850 registros.

Cómo puedo hacer para identificar esas 3 evaluaciones que se están perdiendo?
Gracias!

Iris

La siguiente consulta cuanto da?

SELECT  count(*)
  FROM mig.sga_eval_parc as evg2
 JOIN mig.sga_cron_eval_parc as cron ON cron.evaluacion = evg2.evaluacion
 JOIN mig.sga_atr_eval_parc as atr ON atr.comision = cron.comision AND atr.evaluacion  = cron.evaluacion; 	

Envio el pos-control de evaluaciones parciales. Se cambió la query que cuenta evaluaciones parciales de la base de Guarani 2.

2


fx_pos_ctrl_parciales_clases.sql (2.56 KB)

Hola Alejandro

La consulta que indicás retorna 5850. Que es la cantidad de registros migrados a G3.

Corriendo el nuevo post-control, no da error. En ambos casos la cantidad de tuplas es 5850.

Es decir, migraron bien las evaluaciones parciales? No hay nada que se esté perdiendo?

Gracias y saludos.

Iris

Si, se migraron bien. Estaba mal la query que contaba evaluaciones parciales de la base de Guarani 2.

Esa diferencia de 3 evaluaciones debe estar aca:

SELECT evaluacion FROM mig.sga_eval_parc
EXCEPT
SELECT evaluacion FROM mig.sga_atr_eval_parc

Esas evaluaciones no deben haber quedado asociadas con ninguna comision:

SELECT * from mig.sga_eval_parc where evaluacion in (......);

Si consultas las evaluaciones anteriores estas querys no deben retornar registros:

SELECT * from mig.sga_atr_eval_parc where evaluacion in (.........);
SELECT * from mig.sga_cron_eval_parc where evaluacion in (............);
SELECT * from mig.sga_eval_parc_alum where evaluacion in (...........);

Hola Alejandro

Esta consulta:

SELECT evaluacion FROM mig.sga_eval_parc EXCEPT SELECT evaluacion FROM mig.sga_atr_eval_parc

No retorna nada…

No logro identificar cuales pueden ser la diferencia… Más que nada quiero quedarme tranquila de no estar perdiendo información.
Muchas gracias por tu paciencia…
Saludos

Iris

Que retorna cada una de estas consultas?

SELECT count(*) from mig.sga_eval_parc;
SELECT count(*) from mig.sga_atr_eval_parc;
SELECT count(*) from mig.sga_cron_eval_parc;

Hola Alejandro

Ahí está la diferencia.

Esta consulta:

SELECT * from sga_atr_eval_parc 
WHERE comision NOT IN (SELECT comision FROM sga_cron_eval_parc
			WHERE evaluacion = sga_atr_eval_parc.evaluacion);

Retorna las 3 evaluaciones parciales que difieren. Están en sga_atr_eval_parc pero no en sga_cron_eval_parc.

Esas 3 comision-evaluacion tampoco están en sga_eval_parc_alum.

Deduzco que se pueden borrar de sga_atr_eval_parc sin inconvenientes.

Gracias
Iris

Asi es, podes borrarlas. Quedo mal la definición de esas 3 evaluaciones parciales en Guarani 2.
Fiajte que ninguna de las 3 tiene registrada la fecha (sga_cron_eval_parc) y donde se lo asocia con la comision, ni tampoco tiene alumnos.
Por eso esas evaluaciones no se pasan.