Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estimados, necesito un poco de sus conocimientos.
Tengo que crear un reporte diario en el cual la información es histórica de hace 3 años, pero se me pidió que el reporte tenga solo los datos de los últimos 15 días.
les dejo una imagen de los campos.
Se me ocurre hacerle al campo:
FechaDoc <= 15 no me funciona
Today(FechaDoc)<= 15 no me funciono
quedo atento a sus respuestas y desde ya muchas gracias.
Hola, si es el where del SQL habría que crear primero la fecha tal como la espera el SQL, por ejemplo:
LET vFechaInicio = Date(Today()-15);
Y luego usar el contenido de la variable en el where:
SELECT ... FROM... WHERE CampoFecha >='$(vFechaInicio)'
Hola.
Si te devuelve 0 y -1, correcto. Te está funcionando bien. Está evaluando la expresión y te está diciendo si se cumple o no se cumple y ese valor lo mete en el campo Fecha2.contrato.
Recuerda que el valor -1 es TRUE y 0 es FALSE.
Una vez que tienes eso en tu modelo, puedes usarlo para identificar las fechas que cumplen la condición. en cada expresión tendrías que usar un set analysis del tipo SUM({<Fecha2.contrato={-1}> Ventas). De esta forma sólo tendría en cuenta las fechas de menos de 15 dáis.
Pero añadir el set analysis en cada expresión de cada gráfico es un poco tedioso, por lo que yo seguiría con el plan A: Filtrar los datos en el script.
Si no te reconoce TODAY() en el WHERE es porque lo estás poniendo en el WHERE del SQL y por supuesto esa función no es de ORACLE, por eso falla.
Tienes que poner el WHERE en la sentencia LOAD o hacer el WHERE del SQL como te dice Ruben en el POST anterior.
Tu script tiene que quedar así:
NOMBRETABLA:
LOAD campo1 AS xxxxx,
campo2 AS yyyyy,
campo3 AS zzzzz,
ERDAT AS Fecha
WHERE Interval(Today() - ERDAT, 'D') <=15;
SQL SELECT campo1,
campo2,
campo3,
ERDAT
FROM tabla_oracle
;
Estimado, muchas gracias por tu ayuda, puse:
WHERE Interval(Today() - ERDAT, 'D') <=14; en el load y funciono.
Muchas gracias nuevamente y a todos en realidad.
Saludos!!
Hola de nuevo.
Una vez resuelto, marca como correcta alguna de la respuesta parra que sirva de ayuda a otros compañeros cuando tengan un problema similar.
Gracias.
Listo!
Saludos.
El equivalente a today() de qlikSense en sql server es GETDATE() w3schools ejemplo y en oracle es SYSDATE.
en cualquiera de los dos casos para tu ejemplo podrias hacer getDate()-15 o sysdate -15
un saludo.