Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola, buenas tardes:
Estoy teniendo problemas con el filtro aplicado al load siguiente:
LET v_ActualDate = Num(Today());
LOAD fecha_timestamp;
SQL SELECT * FROM TABLA
WHERE fecha_timestamp >= $(v_ActualDate);
En la tabla de base de datos (TABLA) no existe ningún registro que cumpla el filtro, y sin embargo dicha consulta me está devolviendo todos los registros cuyo campo: fecha_timestamp no es nula ni vacía.
Alguien podría decirme cómo puedo construir el filtro de manera que se evaluara correctamente la condición?
Gracias de antemano.
Un saludo
Prueba esto
WHERE DATE(TUFECHA) >= CURRENT_DATE ()
... current date es una función SQL
Hola,
yo al declarar evito la parte de timestamp así para que coja sólo el día:
LET v_ActualDate = Floor(Today());
Entendiendo que el campo fecha_timestamp existe dentro de la tabla SQL, teóricamente debería cargar todo los correspondiente al día con la instrucción:
LOAD fecha_timestamp;
SQL SELECT * FROM TABLA WHERE fecha_timestamp >= $(v_ActualDate);
Un saludo
Hola Alex:
He cambiado la definición de la variable por lo que propones y, sigo obteniendo todos los registros de la tabla, en lugar de obtener sólo los registros que satisfacen la condición fecha_timestamp >= $(v_ActualDate)
Y de hecho cuando defino la variable como:
LET v_ActualDate = Num(Now());
Se produce la siguiente excepción:
SQL##f - SqlState: 37000, ErrorCode: 1064, ErrorMsg: [MySQL][ODBC 5.1 Driver][mysqld-5.5.28]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '568136574' at line 2
SQL SELECT * FROM TABLA
WHERE fecha_timestamp >= 42058,568136574
Gracias por contestar.
Prueba esto
WHERE DATE(TUFECHA) >= CURRENT_DATE ()
... current date es una función SQL
Quizás el problema es que al utilizar la función floor se pierde la parte horaria.
Prueba a definir la variable con la función daystart:
LET v_ActualDate = DayStart(Today());
Si no funciona, quizás podrías enviar un ejemplo con algunos datos cargados para revisar donde puedes tener el problema.
Un saludo
Hola Joaquin:
Estoy si que funciona!
Muchas gracias
De nada
Hola Joaquín,
para aprovechar y entenderlo yo también,
¿entonces es como si le dijeras que te cargue todos los elementos posteriores al momento en que haces la recarga?
O sea defines el momento actual en Qlik al establecer la variable y en SQL al hacer el where, ¿verdad?
Efectivamente Alex.
Si el la BBDD no hay fechas posteriores al 'hoy' con el igual sería suficiente.
Si quieres recuperar valores anteriore usa menor o igual
Gracias Joaquín.
Un saludo