Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
edgarestrada
Contributor II
Contributor II

Carga incremental a Sense Desktop

Hola!

Gracias por aceptarme en el grupo.

Quisiera saber si alguien tiene experiencia en cargas incrementales para Sense Desktop.

Mi BD remota tiene muchos registros, y cada que le doy "load data" vuelve a bajar todo.

Hay forma de que solo baje los ultimos registros?

Tengo campos de identificcion unicos por registro, y tambien campos de fecha y hora.

Alguna sugerencia?

Gracias!

20 Replies
edgarestrada
Contributor II
Contributor II
Author

Alejandro,

Gracias por tu paciencia, de verdad lo agradezco mucho.

Hice lo que me dijiste:

MaxFecha:

LOAD MAX(Momento) AS Momento

FROM "lib://QVDMasOrganica/VistaLecturas.qvd" (qvd);

LET vFecha = peek('Momento', 'MaxFecha');

A la hora de correr el debugger, me indica que la variable vFecha es NULL -- la ventana de output dice que no extrajo registros -- pero la tabla si tiene registros, incluso cree una nueva hoja con un componente TABLE desplegando la dimension "Momento".. y tiene todos los registros....

Será el tipo de dato? mis registros en ese campo son asi:

MM/DD/AAAA HH:MM:SS A/P

Gracias

alexdataiq
Partner - Creator III
Partner - Creator III

Te falta el segundo parámetro, un 0 en el Peek:


LET vFecha = Peek('Momento', 0, 'MaxFecha');



Saludos

edgarestrada
Contributor II
Contributor II
Author

Mismo resultado.

Como te comentaba, observo en el apartado de OUTPUT que dice:

MaxFecha << VistaLecturas

Lines fetched: 0
Esto lo arroja despues del LOAD MAX....

alexdataiq
Partner - Creator III
Partner - Creator III

Tienes razón, puede ser el formato de la fecha y por eso Max no sabe interpretarlo.

Prueba convirtiendo tu fecha así:

MaxFecha: 

LOAD

     Max(Num(Date(Momento))) as Momento

FROM "lib://QVDMasOrganica/VistaLecturas.qvd" (qvd); 




Saludos



edgarestrada
Contributor II
Contributor II
Author

No funcionó.

Fijate que hice un "LOAD * FROM "lib://QVDMasOrganica/VistaLecturas.qvd" (qvd);

Y no cargo ni un solo registro a MaxFecha.

Pregunta: Acaso hay que abrir / cerrar archivos primero? No me manda error acerca de la existencia del QVD, pero el output dice:

10:34:04 TT

MaxFecha << VistaLecturas

Lines fetched: 0

alexdataiq
Partner - Creator III
Partner - Creator III

Eso no me parece normal, sí estás haciendo un LOAD * a un QVD y no carga ningún registro es porqué está vacío.

¿Estás seguro que el STORE con el que generaste VistaLecturas.qvd se ejecutó correctamente? ¿Cuántos registros aproximadamente trae tu tabla central.dbo.vistaLecturas y qué tamaño tiene tú archivo QVD? Si es tamaño es muy pequeño probablemente esté vacío el QVD.

edgarestrada
Contributor II
Contributor II
Author

Estoy rehaciendo la carga en este momento.

edgarestrada
Contributor II
Contributor II
Author

Alejandro:

1) La carga estaba mal, ya quedo.

2) El ultimo registro del campo momento de la carga inicial trae el valor serial de la fecha 4294.374571759

3) Cuando le doy el PEEK, me arroja 4294.437071759

Pregunta: el QLIK Altera de alguna forma la fecha y hora de los campos seriales de fecha?

alexdataiq
Partner - Creator III
Partner - Creator III

El cambio en la fecha es porqué se aplicó la función Num al campo Momento, lo cual es recomendable. Lo que está antes del punto decimal corresponde a la fecha y lo que está después a la hora. Aunque el valor de la fecha aparezca como serial es fácil mostrarlo como Fecha o Timestamp en las propiedades de número en los objetos.

edgarestrada
Contributor II
Contributor II
Author

Alejandro:

Ya quedo arreglado.

Tuve que agregar un campo ID único a mi base de datos, y desde ese momento todo fue mucho mas sencillo.

Moraleja: Trabajar con fechas, horas, minutos en Qlik sense ++ MS SQL es un DOLOR de CABEZA.

Saludos!!