Error en Promedio de Certificado Analitico

Hola, les escribo porque en el Certificado Analítico de Materias para un alumno, al obtener el promedio académico (incluye aplazos) en el reporte aparece como “8,00”, pero en realidad realizando el cálculo debería dar “7,92”. Estuve revisando en diversos documentos, en el SP sp_promgralt y en el foro pero no encontré qué podría ser. Les adjunto un listado con las materias y las notas correspondientes:

plan version materia resultado escala_notas nota
1657 1 EN001 A 4 8.00
1657 1 EN002 A 4 6.00
1657 1 EN003 A 3 7.00
1657 1 EN004 A 3 8.00
1657 1 EN005 A 4 6.00
1657 1 EN006 A 3 9.00
1657 1 EN007 A 3 9.00
1657 1 EN008 A 3 7.00
1657 1 EN009 A 4 9.00
1657 1 EN010 A 4 9.00
1657 1 EN011 A 3 7.00
1657 1 EN012 A 3 9.00
1657 1 EN013 A 4 7.00
1657 1 EN014 A 4 5.00
1657 1 EN015 A 3 8.00
1657 1 EN016 A 3 9.00
1657 1 EN017 A 1 8.00
1657 1 EN018 A 3 8.00
1657 1 EN019 A 3 7.00
1657 1 EN020 A 1 8.00
1657 1 EN021 A 3 9.00
1657 1 EN022 A 3 9.00
1657 1 EN023 A 1 9.00
1657 1 EN024 A 1 8.00
1657 1 EN025 A 4 4.00
1657 1 EN026 A 4 7.00
1657 1 EN027 A 4 7.00
1657 1 EN028 A 3 8.00
1657 1 EN029 A 3 8.00
1657 1 EN030 A 4 8.00
1657 1 EN031 A 3 9.00
1657 1 EN032 A 4 9.00
1657 1 EN033 A 4 9.00
1657 1 EN034 A 3 9.00
1657 1 EN035 A 4 9.00
1657 1 EN036 A 4 8.00
1657 1 EN037 A 4 9.00

El total da 293 y son 37 materias, dando un promedio de 7,92, pero figura 8.00

Muchas gracias.

Saludos.

Guillermo.

Guillermo:

No alcanza con la información esa para poder orientarte, pueden ser distintas cosas. Habría que revisar:

  1. Si todas las materias están como promediables en el plan de estudio con el cual aprobó la materia, o a alguna le falta el tilde
  2. Que valores numéricos tienen asociadas esas notas en su respectiva escala (no te olvides que la nota es un alfanumérico y lo que se utiliza para el cálculo del promedio es el valor numérico de esa nota)
  3. Si cada una de esas notas está en la escala de notas que corresponde

Se me ocurre que lo más fácil es hacerle un trace a ese SP y analizarlo, empezando por ver cual es el numerador y el divisor en el cociente que da finalmente el promedio, es decir si en numerador (o suma de las notas) es realmente 293 y si la cantidad de materias utilizadas para el cálculo son las 37 que decís.

Saludos

Gustavo

Hola, gracias por la respuesta. Consulté con la gente del Instituto y esto me responden:

  1. Me fijé tanto en la Carrera de Licenciatura en Enfermería como el Ciclo y todas las materias están promediables.
  2. Para ver el tema de los valores numéricos, adjunto en un archivo Word un ejemplo de cómo está cada escala de notas, todas estarían correctas, salvo la escala 1 (0/10) que sólo toma números enteros, y es una escala que utilizamos cuando comenzamos a usar el sistema, pero luego comprobamos que no nos servía y la anulamos, las actualmente en curso son las escalas de promoción y regularidades.
  3. Con respecto a este punto también adjunto un archivo pdf con un ejemplo de un analítico que su promedio no coincide con el real, y en él podrás ver que resalté cuatro materias que a simple vista el número es distinto al resto de las notas, es decir, podrás ver que las notas son por ejemplo 7.00 y esas cuatro que te resalto son 7 (falta el .00) por lo que ví en la escala esas deberían estar en escala 1 (pero no puedo determinarlo ya que no tengo acceso a esas mesas, con lo cuál, deberían verlo a través de la base). Puede que alguna de esas notas o todas ellas estén no promediándose y que por ahí vaya el tema del promedio.

Aclaración: lo que expongo en el punto 3, es sólo, lo que yo pienso, quizás sirva de ayuda.

<<

Adjunto también la documentación a la que hacen referencia

Saludos.


ejemplo de analAtico con diferencia de promedio-1.png

ejemplo de analAtico con diferencia de promedio-2.png

Escala de Notas con sus valores numAricos.doc (274 KB)

Guillermo:

Para poder empezar a ver que pasa, necesitaría si me podés pasar en un Excel, con encabezados de columna, los resultados de las siguientes consultas:

select * from vw_hist_academica where legajo = “legajodelproblema”;

select * from sga_atrib_mat_plan where carrera = “carreradelalumno” and plan = “plandel alumno” and versión = “ultimaversiondel plan”;

Te adjunto además los SP de calculo de promedios de la versión 2.07.0, donde podés ir viendo el código que se ejecuta en cada uno de los casos, son bastante parecidos todos pero tienen pequeñas diferencias.

Como te decía, si no encontramos facilmente la causa analizando los resultados de las consultas solicitadas, tendrás que poner un TRACE en el SP que corresponda para ver lo que va calculando.

Saludos

Gustavo


sp_prom_alu_resul.sql (4.71 KB)

sp_promgralt.sql (3.91 KB)

sp_promsinaplazost.sql (4.2 KB)

Ahí te adjunto los archivos excel con los resultados de las consultas.

Saludos.

Guillermo


consultas.rar (20.7 KB)

Podes enviar el siguiente resultado en un archivo sobre las notas de las escalas de notas 1, 3 y 4 que son las que aparecen en el listado que enviaste?


SELECT escala_notas, nota, valor_numerico FROM sga_det_escala WHERE escala_notas in (1,3,4) ORDER BY escala_notas, valor_numerico;

Por otro lado, fijate si existe alguna materia NO PROMEDIABLE en el plan 1657, version 1 y si existe alguna ver si esta en ese listado de materias del certificado que estas verificando que no coinicide el promedio final con aplazos:


SELECT materia, nombre_materia, romediable, obligatoria FROM sga_atrib_mat_plan WHERE unidad_academica = XXXX AND carrera = XXXXX AND plan = '1657' and version = '1' 
ORDER BY materia;

Te mando adjuntado los resultados de las consultas


consultas2.rar (32.5 KB)

Ahora, fijate la misma consulta, pero ver si estan todas esas materias de ese plan de estudios en el título de nivel final de esa carrera.


SELECT DISTINCT vw_sga_mat_plan.materia
   FROM vw_sga_mat_plan,
	sga_atrib_mat_plan
    WHERE vw_sga_mat_plan.unidad_academica        = 
     AND vw_sga_mat_plan.carrera        = 
     AND vw_sga_mat_plan.plan           = 
     AND vw_sga_mat_plan.version        = 
     AND vw_sga_mat_plan.titulo         =       <Titulo de Nivel Final>
     AND sga_atrib_mat_plan.unidad_academica = vw_sga_mat_plan.unidad_academica
     AND sga_atrib_mat_plan.carrera          = vw_sga_mat_plan.carrera
     AND sga_atrib_mat_plan.plan             = vw_sga_mat_plan.plan
     AND sga_atrib_mat_plan.version          = vw_sga_mat_plan.version
     AND sga_atrib_mat_plan.materia          = vw_sga_mat_plan.materia
ORDER BY 1;

Ese promedio general y el otro que no incluye los aplazos se encuentran en la tabla donde se registra el titulo otorgado, fijate que valores estan alli:


SELECT fecha_egreso,
             prom_general,        -- incluye los aplazos (Proceso sp_promgralt)
             prom_sin_aplazos  -- Solo materias aprobadas (Proceso sp_promsinaplazost)
FROM sga_titulos_otorg
    WHERE unidad_academica = 
     AND carrera = 
     AND legajo = 
     AND titulo = 

Como te indicó Gustavo, podes ejecutar esos dos procedures y hacer un trace para verificar que datos esta recuperando y como esta calculando el promedio en cada caso.
En los dos promedios anteriores, solo se consideran las materias promediables que esten en ese título.

Ok, el primer select me devolvió las 37 materias que corresponde a esa carrera. Hice el segundo select y obtengo el mismo promedio erróneo (8 en vez de 7,92, aparece igual en el general como en el sin aplazos) que se está imprimiendo. Quisiera ver cómo llega a ese promedio, cómo lo calcula. Cómo debería hacer para hacer el trace en el SP?

Gracias.

Guillermo.

Tenés que poner las siguientes sentencias:

SET DEBUG FILE TO nombredelarchivo.txt;
TRACE ON;

Estas van antes del primer SELECT o EXECUTE PROCEDURE del SP que quieras debuggear.

Al final debés “apagar” el trace con la sentencia:

TRACE OFF;

Después se ejecuta el SP donde está el trace con la sentencia

EXECUTE PROCEDURE nombredelSP (parámetros que espera el SP);

Y luego de que te da el resultado hay que ir a ver y analizar el contenido del archivo .txt que contiene el Trace.

Saludos

No logro generar el archivo txt, o al menos no encuentro donde lo deja.

En el sp_promgralt agregué la sentencias antes de la primera llamada a un SP que hay ahí adentro (EXECUTE PROCEDURE sp_plan_de_alumno)

SET DEBUG FILE TO ‘C:\temp\test.txt’;
TRACE ON;

Luego puse TRACE OFF; antes del END. Ejecuté los cambios

Ejecuté el sp_promgralt con los parámetros correspondientes.

Dónde se graba ese txt? Probé lo mismo directamente en el servidor, tampoco genera nada.

El archivo lo genera en el servidor donde esta instalado el informix.

Gracias a todos, hablé telefonicamente con Gustavo Palau y me pudo ayudar a solucionar el tema.

Abrazo.

Guillermo.

Ale:

El problema con el trace era que no se había catalogado el SP modificado.

El problema real no era finalmente con los SP de promedio, sino que el promedio mal generado estaba guardado en la tabla sga_titulos_otorg.

Simplemente ejecutando la operación de Egresados que modifica datos del egresado cuando se modificó alguna acta, se corrigió el problema.

Saludos

Gustavo

Guillermo y Gustavo… para entender mejor el problema que tuvieron y trataré de detallar los pasos realizados:

  1. Se le solicitó el título al alumno. En este momento se registra el promedio general con y sin aplazos en la tabla de titulos otorgados.

  2. Por algun motivo luego de la solicitud del título se rectificó algun acta, modificando alguna nota a ese alumno, lo que hace que los promedios definidos en el punto 1 queden diferente a la realidad si se muestra la historia académica y se intenta calcular el nuevo promedio.

  3. Al mirar la ficha del alumno, sigue mostrando los promedios del punto 1, porque muestra los que tiene registrado en la tabla, no se recalculan cada vez que se muestra los titulos otorgados al alumno.

Toda la discución se dio hasta este punto 3 en esta consulta del foro.

  1. Fueron a la operación que revisa si hay datos modificados luego de la solicitud del título y ahi verificaron que el promedio estaba diferente, con lo cual registraron los nuevos promedios en el título para ese alumno.
    Entonces a partir de haber realizado esto, en la ficha del alumno se muestra correctamente el promedio que corresponde.

¿Es asi?

Gustavo: no es que el promedio estaba mal registrado. En realidad al momento de la solicitud del titulo el promedio era el que correspondía a ese momento. Si luego de haberse solicitado el título, en alguna revision posterior detectan que hay algun error en actas, y rectifican alguna nota, entonces esto hace que el promedio pueda cambiar (alguno de los dos promedios con/sin desaprobados) y que deba ser actualiado en la solicitud del título.

Ale:

El problema se plantea con el primer post de Guillermo.
Por todo lo escrito y hablado por TE deduzco que él se encontró con que el promedio estaba mal de acuerdo a las notas que tenía en su HA y planteó el problema en el foro como que había una falla en algún lado. Y yo traté de orientarlo para que viera cual era el problema con los SP, y si existía o no tal problema, siempre sin saber que el alumno en cuestión ya estaba registrado en la tabla sga_titulos_otorg.

Luego de todo lo escrito y hablado se llegó a las conclusiones que vos enunciás.

Desconozco si la diferencia en las notas fue por una rectificación de un acta con posterioridad a la solicitud de título o porque las notas se modificaron por SQLEditor, esto lo podrá decir Guillermo o alguien de la institución.

Cuando me expresé como que estaba “mal registrado” fue una manera de decir que en la tabla había un promedio y de la HA académica surgía otro. Está claro que es como vos decís, que en su momento se debe haber registrado en base a las notas que estaban en la HA al momento de solicitar el título.

Sobre como se generaron los problemas antes de la consulta al foro te lo tendrá que explicar Guillermo.

Saludos

Gustavo