Autor Tema: Error en cantidad datos censales migrados  (Leído 367 veces)

0 Usuarios y 1 Visitante están viendo este tema.

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Error en cantidad datos censales migrados
« on: Diciembre 29, 2021, 11:25:02 am »
Hola
Estamos haciendo pruebas de migración de G2 a G3.20.
Estoy migrando una segunda unidad académica, sobre una base que ya cuenta con los datos de otra.

Los postcontroles del módulo 20_Datos Censales da los siguientes errores.

tabla   resultado   cant_g2   cant_g3
mdp_datos_censales   ERROR: la Cantidad de datos_censales no coinciden...   9.018,00   9.019,00
mdp_datos_personales   ERROR: la Cantidad de datos_personales no coinciden...   9.018,00   9.020,00
mdp_datos_actividades   ERROR: la Cantidad de datos_actividades no coinciden...   9.018,00   9.020,00
mdp_datos_economicos   ERROR: la Cantidad de datos_economicos no coinciden...   9.018,00   9.020,00

Los precontroles no emitieron error o advertencia alguna.
El error sólo se da en posctrl_Datos_Censales01.
posctrl_Datos_Censales02 está todo OK.

No logro identificar cuáles son los casos para tratar de analizar qué es lo que puede estar sucediendo.
Podrían darme una mano?
Gracias!!

Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8297
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en cantidad datos censales migrados
« Respuesta #1 on: Enero 01, 2022, 12:37:51 pm »
¿Que valores retornan estas tres consultas?
Código: [Seleccionar]
SELECT count(*)  FROM mdp_datos_censales; -- Esta es la consulta actual del pos-control

SELECT count(DISTINCT persona)  FROM mdp_datos_censales;

SELECT filas FROM mig._tablas_g3 where tabla='mdp_datos_censales';


¿Y estas tres relacionadas a la tabla de datos personales?
Código: [Seleccionar]
SELECT count(*)
 FROM mdp_datos_personales  as mdp
 JOIN mdp_datos_censales as mdc ON mdp.dato_censal = mdc.dato_censal;  -- esta es la consulta actual.

SELECT count(*)
 FROM mdp_datos_personales  as mdp
    JOIN mdp_datos_censales as mdc ON mdp.dato_censal = mdc.dato_censal
    JOIN mig._cnv_pk_personas as mcp ON mcp.persona = mdc.persona
WHERE  mcp.migrar = 1
      AND  mcp.migrar_datos_censales = 1;

SELECT filas FROM mig._tablas_g3 where tabla='q_datos_pers_cens';



ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en cantidad datos censales migrados
« Respuesta #2 on: Enero 05, 2022, 03:11:35 pm »
Hola Alejandro

Estas son las cantidades que me retornan dicha consultas..

Código: [Seleccionar]
SELECT count(*)  FROM mdp_datos_censales; -- Esta es la consulta actual del pos-control18604

Código: [Seleccionar]
SELECT count(DISTINCT persona)  FROM mdp_datos_censales;18604

Código: [Seleccionar]
SELECT filas FROM mig._tablas_g3 where tabla='mdp_datos_censales';9585         

Código: [Seleccionar]
SELECT count(*)
 FROM mdp_datos_personales  as mdp
 JOIN mdp_datos_censales as mdc ON mdp.dato_censal = mdc.dato_censal;  -- esta es la consulta actual.
18604

Código: [Seleccionar]
SELECT count(*)
 FROM mdp_datos_personales  as mdp
    JOIN mdp_datos_censales as mdc ON mdp.dato_censal = mdc.dato_censal
    JOIN mig._cnv_pk_personas as mcp ON mcp.persona = mdc.persona
WHERE  mcp.migrar = 1
      AND  mcp.migrar_datos_censales = 1;
9018

Código: [Seleccionar]
SELECT filas FROM mig._tablas_g3 where tabla='q_datos_pers_cens';9584

Gracias por la ayuda.

Iris

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en cantidad datos censales migrados
« Respuesta #3 on: Enero 21, 2022, 03:15:34 pm »
Hola de nuevo

Estuve siguiendo esto un poco más y observo que esta consulta está incluyendo al usuario Toba. (persona = 1 = Toba)
Código: [Seleccionar]
SELECT count(DISTINCT persona)  FROM mdp_datos_censales where persona <> 1;La consulta anterior retorna 18603.

Con lo cual considero que parte del error es en la cantidad 18604.

Código: [Seleccionar]
SELECT count(*)
FROM mdp_datos_personales  as mdp
JOIN mdp_datos_censales as mdc ON mdp.dato_censal = mdc.dato_censal
where mdc.persona <> 1;
También retorna 18603.

Lo que me queda por identificar aún, es esta diferencia:
Código: [Seleccionar]
SELECT filas FROM mig._tablas_g3 where tabla='mdp_datos_censales'; --9585
SELECT filas FROM mig._tablas_g3 where tabla='q_datos_pers_cens'; --9584

Ya que aplicando ese cambio sigo obteniendo esto en los postcontroles del módulo 20_Datos Censales:

tabla resultado       cant_g2 cant_g3
mdp_datos_personales    ERROR: la Cantidad de datos_personales no coinciden...      9.018,00       9.019,00
mdp_datos_actividades  ERROR: la Cantidad de datos_actividades no coinciden...      9.018,00       9.019,00
mdp_datos_economicos ERROR: la Cantidad de datos_economicos no coinciden...      9.018,00       9.019,00

Agradeceré me ayuden a identificar ese caso que genera la diferencia.
Saludos

Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8297
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en cantidad datos censales migrados
« Respuesta #4 on: Enero 25, 2022, 12:05:23 am »
Cuanto dan estas dos consultas?
Código: [Seleccionar]
SELECT count(distinct msp.nro_inscripcion)
FROM   mig._cnv_pk_personas mcp, mig.sga_datos_cen_aux2 msp
LEFT JOIN mig.aca_usuarios_ag ag ON ag.unidad_academica = msp.unidad_academica AND  ag.nro_inscripcion = msp.nro_inscripcion
 WHERE mcp.migrar = 1 AND
   mcp.migrar_datos_censales = 1 AND
   mcp.unidad_academica = msp.unidad_academica AND
    mcp.nro_inscripcion = msp.nro_inscripcion;

Y esta misma sin el filtro de migrar los datos censales:
Código: [Seleccionar]
SELECT count(distinct msp.nro_inscripcion)
FROM   mig._cnv_pk_personas mcp, mig.sga_datos_cen_aux2 msp
LEFT JOIN mig.aca_usuarios_ag ag ON ag.unidad_academica = msp.unidad_academica AND  ag.nro_inscripcion = msp.nro_inscripcion
 WHERE mcp.migrar = 1 AND
--   mcp.migrar_datos_censales = 1 AND
   mcp.unidad_academica = msp.unidad_academica AND
    mcp.nro_inscripcion = msp.nro_inscripcion;

Y estas otras de G3 que valores retornan:
Código: [Seleccionar]
SELECT count(*), count(distinct persona)
  FROM mdp_datos_personales  as mdp
  JOIN mdp_datos_censales as mdc ON mdp.dato_censal = mdc.dato_censal;

SELECT filas FROM mig._tablas_g3 where tabla='q_datos_pers_cens';


ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en cantidad datos censales migrados
« Respuesta #5 on: Enero 25, 2022, 11:39:34 am »
Hola Aljandro

Las 2 primeras consultas dan 9018
   
Las de G3:
1) 18604   18604
2) 9584

Cuál puede ser la diferencia?
Gracias por la ayuda.

Saludos
Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8297
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en cantidad datos censales migrados
« Respuesta #6 on: Enero 26, 2022, 10:09:15 am »
Esta diferencia:
Código: [Seleccionar]
SELECT filas FROM mig._tablas_g3 where tabla='mdp_datos_censales'; --9585
SELECT filas FROM mig._tablas_g3 where tabla='q_datos_pers_cens'; --9584

Fijate si existe algun registro de dato censal que no se encuentre en la tabla mdp_datos_personales:
Código: [Seleccionar]
SELECT *
FROM mdp_personas as p
JOIN mdp_datos_censales as dc ON dc.persona = p.persona
WHERE dc.dato_censal IN
(SELECT dato_censal FROM mdp_datos_censales
EXCEPT
SELECT dato_censal FROM mdp_datos_personales
)
« Última Modificación: Enero 26, 2022, 10:10:52 am por Alejandro Delú »

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en cantidad datos censales migrados
« Respuesta #7 on: Enero 26, 2022, 12:13:21 pm »
Hola Alejandro

Cita
Fijate si existe algun registro de dato censal que no se encuentre en la tabla mdp_datos_personales:
Esa consulta no devuelve ningún registro....

Esta otra consulta tampoco devuelve ningún registro:
Código: [Seleccionar]
SELECT dato_censal FROM mdp_datos_personales
EXCEPT
SELECT dato_censal FROM mdp_datos_censales;

Pero esta otra si, devuelve 8 registros: ¿es correcto?
Código: [Seleccionar]
SELECT persona FROM mdp_personas
EXCEPT
SELECT persona FROM mdp_datos_censales;

Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8297
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en cantidad datos censales migrados
« Respuesta #8 on: Enero 26, 2022, 03:48:52 pm »
No es correcto si corresponden a alumnos, fijate si tienen registro en la tabla de alumnos:
Código: [Seleccionar]
select * from sga_alumnos where persona in (persona1, persona2, ..., persona8)

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en cantidad datos censales migrados
« Respuesta #9 on: Enero 27, 2022, 10:00:30 am »
Hola Alejandro

No, esta consulta no devuelve ningún registro:
Código: [Seleccionar]
SELECT * FROM sga_alumnos
WHERE persona IN
(SELECT persona FROM mdp_personas
EXCEPT
SELECT persona FROM mdp_datos_censales);

Aún me falta identificar el porqué de la diferencia en los postcontroles del módulo 20_Datos Censales.
Gracias por la orientación que puedan darme.
Saludos

Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8297
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en cantidad datos censales migrados
« Respuesta #10 on: Enero 27, 2022, 11:27:27 am »
Esto se da en una 2da/3er/... migracion, no es la primera porque veo que la tabla mig._tablas_g3 tiene registros con lo cual no es la primer migracion.
Puede ser que el registro de persona de "Toba" este dando esta diferencia porque no deberia considerarlo si es la primer migracion, y si considerarlo si es una 2da/3er/...  migracion ya que en este caso ese dato del usuario de toba estará contabilizado en la tabla mig._tablas_g3 que es la que se registran datos antes de comenzar a migrar, datos que ya estan en la base de G3 por migracion previa.

Adjunto el archivo de controles.
Fiajte de crear la funcion en la base, reemplaza
Código: [Seleccionar]
SET search_path = ${pg_esquema};por
Código: [Seleccionar]
SET search_path = negocio;
Luego crea la funcion y ejecutala y veamos que devuelve:
Código: [Seleccionar]
select * from mig.sp_pos_ctrl_datos_censales();

2
« Última Modificación: Enero 27, 2022, 11:35:15 am por Alejandro Delú »

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en cantidad datos censales migrados
« Respuesta #11 on: Enero 27, 2022, 11:49:10 am »
Hola Alejandro
Si, como te explicaba, es una 2da base la que estoy migrando.
Ya había tenido en cuenta no considerar el usuario toba.
Pero así y todo sigue habiendo la diferencia de 1 dato censal.

Esto es lo que retorna la ejecución de la función que me pasaste:

tablaresultadocant_g2cant_g3
mdp_datos_censalesOK: Cantidad de datos_censales...9.0189.018
mdp_datos_personalesERROR: la Cantidad de datos_personales no coinciden...9.0189.019
mdp_datos_actividadesERROR: la Cantidad de datos_actividades no coinciden...9.0189.019
mdp_datos_economicosERROR: la Cantidad de datos_economicos no coinciden...9.0189.019

Sigo sin identificar a cuál corresponde y el por qué.
Gracias por la paciencia!!
Saludos

Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8297
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en cantidad datos censales migrados
« Respuesta #12 on: Enero 27, 2022, 01:27:04 pm »
Veamos que persona tiene dos registros en mdp_datos_personales, mdp_datos_economicos y mdp_datos_actividades
Código: [Seleccionar]
SELECT dc.persona, count(*)
    FROM mdp_datos_censales as dc
    JOIN mdp_datos_personales as dp ON dp.dato_censal = dc.dato_censal
GROUP BY dc.persona
HAVING COUNT(*) > 1;

SELECT dc.persona, count(*)
    FROM mdp_datos_censales as dc
    JOIN mdp_datos_actividades as da ON da.dato_censal = dc.dato_censal
GROUP BY dc.persona
HAVING COUNT(*) > 1;

SELECT dc.persona, count(*)
    FROM mdp_datos_censales as dc
    JOIN mdp_datos_economicos as de ON de.dato_censal = dc.dato_censal
GROUP BY dc.persona
HAVING COUNT(*) > 1;

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en cantidad datos censales migrados
« Respuesta #13 on: Enero 27, 2022, 01:32:32 pm »
Hola Alejandro

Ninguna de las consultas devuelve algún registro.. Todos los resultados son vacíos..
Estarán mal las cantidades iniciales en mig._tablas_g3?

Estoy por hacer una nueva prueba de migración. Querés que verifique algo antes de comenzar a migrar la 2da base?

Gracias!

Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8297
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en cantidad datos censales migrados
« Respuesta #14 on: Enero 27, 2022, 02:39:18 pm »
Y estas consultas que devuelven?

Código: [Seleccionar]
SELECT dc.dato_censal, count(*)
    FROM mdp_datos_censales as dc
    JOIN mdp_datos_personales as dp ON dp.dato_censal = dc.dato_censal
GROUP BY dc.dato_censal
HAVING COUNT(*) > 1;

SELECT dc.dato_censal, count(*)
    FROM mdp_datos_censales as dc
    JOIN mdp_datos_actividades as da ON da.dato_censal = dc.dato_censal
GROUP BY dc.dato_censal
HAVING COUNT(*) > 1;

SELECT dc.dato_censal, count(*)
    FROM mdp_datos_censales as dc
    JOIN mdp_datos_economicos as de ON de.dato_censal = dc.dato_censal
GROUP BY dc.dato_censal
HAVING COUNT(*) > 1;
Puede ser que un dato censal este dos veces para una misma persona