Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola a todos! tengo una base de datos bastante problemática en Firebird y el problema principal es que aparentemente muchos de los datos los duplica, los graba dos veces y el Qlik lo levanta así y la información sale mal.
ejemplos: tabla Mascotas y Eventos
Mascotas:
- IdMascota
- PesoNacimiento
- FechaNacimiento
- Raza
etcétera.
Eventos:
- IdEvento
- IdMascota
- FechaEvento
- PesoEvento
etcétera.
El sistema que graba la información lo hace de la siguiente manera:
IdMascota FechaNacimiento PesoNacimiento IdEvento FechaEvento PesoEvento
1 23/06/2014 2 0005 12/07/2014 4
2 12/05/2014 2 0001 10/06/2014 5
2 12/05/2014 2 0001 10/06/2014 5
Entonces el Qlik lo muestra así:
IdMascota FechaNacimiento PesoNacimiento IdEvento FechaEvento PesoEvento
1 23/06/2014 2 0005 12/07/2014 4
2 12/05/2014 2 0001 10/06/2014 10
Me duplica el peso del evento. Y no sería problema si pasara en todos los casos porque dividiría por dos y listo, lo problemático es que no lo hace siempre sino en la mayoría de los casos (7 de cada 10).
Se me ocurre hacer algo en el script que verifique que no se repita el IdMascota para la misma FechaEvento ya que nb se pesan dos veces en el mismo día jamás. Bueno cualquier ayuda será muy bienvenida, muchas gracias!
Walter
Hola Walter,
Te saldrá un 10 en PesoEvento si tienes un SUM sin más, si utilizas un SUM con el DISTINCT no te lo duplicará. De todas formas, si no quieres tocar tus expresiones, puedes solucionarlo en el script de una sola vez. Para ello, tendrás que hacer un Group By en las consultas a las tablas donde tienes las duplicidades.
Un saludo y espero haberte ayudado.
Buenas tardes, hice una prueba y a mi no me duplica el valor, puedes subir un qvd con algunos datos para revisar.
Saludos
Hola Walter,
Te saldrá un 10 en PesoEvento si tienes un SUM sin más, si utilizas un SUM con el DISTINCT no te lo duplicará. De todas formas, si no quieres tocar tus expresiones, puedes solucionarlo en el script de una sola vez. Para ello, tendrás que hacer un Group By en las consultas a las tablas donde tienes las duplicidades.
Un saludo y espero haberte ayudado.
Las dos maneras me sirvieron! pero como estoy medio complicado para hacer la recarga porque la base de datos es Firebird en un server de 32 bits y el server del Qlik es 64 bits tengo que hacer la recarga en otra máquina de 32 y después pasarla al servidor del Qlik. Entonces modifiqué solamente las expresiones mientras encuentro una solución mas práctica para la recarga y ahí poder usar Group by. Muchas Gracias Emilio! nuevamente me salvaste el día. Saludos!
Gracias Adrian!
Me alegro de haberte ayudado.
Por otro lado, si quieres, podrías crear una nueva consulta con el problema que comentas sobre Firebird 32bits y QV 64bits, para ver si te podemos ayudar en algo.
¿No dispones de un driver de 32bits para Firebird en tu Server de 64bits donde tienes QV? Así, podrías hacer las recargas sin pasar por la otra maquina de 32bits.
O podrías tener en la otra máquina de 32bits un documento/aplicación de QV que te genere los QVDs necesarios, para alimentar al documento/aplicación donde tienes las gráficas. De esta forma, podrías hacer todas las recargas que necesites porque estarán mirando QVDs y no conectarían directamente a la BBDD.
Un saludo.
Lo voy a hacer. Gracias nuevamente