Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Cargar datos de la ULTIMA semana

Hola soy el mas pregunton, claro que supongo que tambien el mas torpe

Hasta ahora cuando queria cargar desde una fecha concreta, lo hacia con....

Where (Fecha > '01/01/2010)

No se me ocurre ningun Where que diga UNA SEMANA ANTES DE LA RECARGA

Y eso me obliga a entrar todas las semanas en el Script y cambiar la fecha

Lo estoy intentando con Variables, pero no lo consigo

¿Alguien me puede ayudar?

Gracias

El Pregunton

4 Replies
mbernales
Contributor III
Contributor III

Hola Luis,

Te recomiendo primero que la fecha la captures en una variable al inicio del script, como ejemplo:

LET Hoy = TODAY();

Luego puedes jugar con esa fecha como por ejemplo con la funcion

WeekStart( fecha [, desplazamiento = 0 [,desplazamientodesemana = 0]] )

Con esto obtienes el lunes de la fecha analizada

LET Lunes = WEEKSTART($(Hoy))

Eso te entregaría la fecha del lunes de la semana, pero tu quieres obtener de la semana anterior. Para esto debes darle un desplazamiento negativo

LET LunesAnterior = WEEKSTART($(Hoy), -1 )

Luegos lo puedes llamar en la carga de la tabla de la siguiente manera:

LOAD *

FROM TABLA

Where (Fecha >= $(LunesAnterior ))

De esta manera tomas desde el inicio de la semana anterior a la fecha actual.

Espero que te sirva



Not applicable
Author

Mil gracias Manuel

Esto es lo que necesito

Lo estoy probando y no sabia porque no me funcionaba, pero al poner el depurador lo he visto

LET Hoy = TODAY(); Me da el dia de hoy

PERO ... LET Lunes = WEEKSTART($(Hoy)) me da la siguiente fecha 25/12/1899

Por lo que....LET LunesAnterior = WEEKSTART($(Hoy), -1 ) de da 18/12/1899

He probado otras funciones como MonthStart, y el problema sigue siendo el mismo, el año que me aporta es 1899

Por mas que busco no encuentro la razon

MIL GRACIAS MANUEL

mbernales
Contributor III
Contributor III

Hola Luis,

Esto se soluciona fácilmente solo le agregas cremillas, de esta manera:

LET HOY = TODAY();
LET Lunes = WEEKSTART('$(HOY)');
LET LunesAnterior = WEEKSTART('$(HOY)', -1 )

Prueba y me cuentas

Not applicable
Author

MADRE MIA

¿Solo eso?

Uf cuanto me queda por aprender

Gracias otra vez Manuel