Autor Tema: Problema con perfiles de datos y dimensiones  (Leído 76 veces)

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

mbarreda

  • Toba
  • *
  • Mensajes: 421
    • MSN Messenger - martinbarreda@hotmail.com
    • Ver Perfil
    • Email
  • Institución: UPSO
  • Nombre y apellido: Martin Barreda
  • Sistema: Toba
  • Teléfono laboral: 0291154261646
Problema con perfiles de datos y dimensiones
« : noviembre 29, 2019, 06:52:50 pm »
Hola! como estan?
Estoy teniendo un problema para hacer funcionar un perfil de datos.
Creo tener todo configurado, pero algo se me está escapando porque no filtra de acuerdo a lo indicado (o a lo que debería!)
Adjunto la forma en que están definidas las relaciones entre las tablas, la dimensión, los perfiles de datos, su asignación a un usuario y el perfil de previsualización.
De todas formas, el resultado de esta consulta, no me filtra por la Sede Andina:

Código: [Seleccionar]
function get_listado_docentes_sin_presentacion()
{
$sql = "SELECT DISTINCT UPPER(d.apellido ||', '||d.nombres) as docente_nombre,
d.legajo, d.nro_inscripcion, d.nro_documento, dt.abreviatura as tipo_documento, d.revalida, d.investigador,
co.anio_academico anio_adeudado
FROM docentes d
INNER JOIN documentos_tipos dt ON (d.tipo_documento=dt.id)
INNER JOIN docentes_comisiones dc ON( d.legajo = dc.docente )
INNER JOIN comisiones co ON (dc.comision = co.comision)
INNER JOIN carreras c ON co.carrera = c.codigo
INNER JOIN materias m ON co.materia = m.codigo
INNER JOIN sedes_localidades sl ON (co.sede_localidad = sl.id)
INNER JOIN sedes s ON (s.sede=sl.sede)
WHERE d.legajo not in (SELECT docente FROM presentaciones p WHERE p.anio_academico = co.anio_academico)
ORDER BY anio_adeudado DESC, docente_nombre
";
$sql = toba::perfil_de_datos()->filtrar($sql);
return toba::db()->consultar($sql);
}

Podrán darme alguna pista de como salir adelante?
Estoy trabajando con Toba 2.3.7

Gracias

richard

  • Moderador Global
  • *****
  • Mensajes: 2679
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Problema con perfiles de datos y dimensiones
« Respuesta #1 : diciembre 02, 2019, 12:23:19 pm »
Hola Martin,

veo que tenes una subconsulta incluida en el where, eso podria estar confundiendo al parser y hacer que incluya las condiciones en el lugar equivocado.

Por otro lado, si esta devolviendo una SQL exactamente igual a la que pasas.. habria que ver por que motivo no reconoce los gatillos.

Podes pasarme mas info?.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

mbarreda

  • Toba
  • *
  • Mensajes: 421
    • MSN Messenger - martinbarreda@hotmail.com
    • Ver Perfil
    • Email
  • Institución: UPSO
  • Nombre y apellido: Martin Barreda
  • Sistema: Toba
  • Teléfono laboral: 0291154261646
Re:Problema con perfiles de datos y dimensiones
« Respuesta #2 : diciembre 02, 2019, 12:51:49 pm »
Hola!
Citar
veo que tenes una subconsulta incluida en el where, eso podria estar confundiendo al parser y hacer que incluya las condiciones en el lugar equivocado.
Vi el comentario en el código de toba... tiene alguna solución esto? porque "abuso" de ese tipo de subconsultas.

Citar
Por otro lado, si esta devolviendo una SQL exactamente igual a la que pasas.. habria que ver por que motivo no reconoce los gatillos.
La devuelve exactamente igual, hace de cuenta que no la toma.

Que info te serviría? capaz algun log en particular en alguna consulta de la api?

Gracias!

richard

  • Moderador Global
  • *****
  • Mensajes: 2679
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Problema con perfiles de datos y dimensiones
« Respuesta #3 : diciembre 04, 2019, 12:10:59 pm »
Hola Martin,
Vi el comentario en el código de toba... tiene alguna solución esto? porque "abuso" de ese tipo de subconsultas.
con la forma de parsear las SQL en este momento, la unica solucion es filtrar la/s SQL/s de manera separada y luego integrarlas antes de realizar la ejecucion de la misma.
En tu caso, filtraria la SQL original y luego le pegaria la clausula where al resultado del filtrado.

Citar
La devuelve exactamente igual, hace de cuenta que no la toma.
Que info te serviría? capaz algun log en particular en alguna consulta de la api?
Si la devuelve exactamente igual, entonces es que no esta reconociendo los gatillos de las dimensiones implicadas.
Algo que acabo de notar es que el perfil de datos tiene asignados dos dimensiones para fuentes distintas, en que fuente estas filtrando la SQL?, el proyecto tiene mas de una fuente?, podrias pasarle como segundo parametro la fuente para que especificamente intente filtrar por esa?.

Lo que serviria es saber si el metodo toba_perfil_datos::get_clausula_from() esta obteniendo adecuadamente esa parte de la SQL o no, como para despues empezar a ver si la pifia buscando los gatillos o de movida.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.