Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buen dia
Como puedo crear un calendario donde a cada fecha le correspondan 3 fechas vinculadas que sean los 3 dias previos. Esto es crear una tabla con la siguiente estructura
FECHA FECHAS VINCULADAS
01/01/2018 29/12/2017
01/01/2018 30/12/2017
01/01/2018 31/12/2017
02/01/2018 30/12/2017
02/01/2018 31/12/2018
02/01/2018 01/01/2018
Muchas gracias
Saludos
Yo arme una solucion que me parece demasiado precaria
LET vFechaMin = 43000;
LET vFechaMax = Today()-1;
FechasTemp:
LOAD DISTINCT
Temp_Fecha;
LOAD DISTINCT
DayStart($(vFechaMin) + IterNo()) as Temp_Fecha
AUTOGENERATE (1)
WHILE $(vFechaMin) + IterNo() <= $(vFechaMax);
//--- Remove the temporary variables
LET vFechaMin = Null();
LET vFechaMax = Null();
left join
LOAD * INLINE [
DIAS
1
2
3
4
5
6
7
];
NoConcatenate
Fechas:
LOAD Temp_Fecha,
Temp_Fecha+DIAS as FechasVinculadas
Resident FechasTemp;
DROP Table FechasTemp;
si tuviera que agregar 45 dias el Inline es kilometrico. Quisiera algo que incluyera un Loop o algo asi
Saludos
Ahora llegue a una mejor solucion que comparto.
//--- Asignamos los límites máx y min a variables
LET vFechaMin = 43000;
LET vFechaMax = Today()-1;
FechasTemp:
LOAD DISTINCT
Temp_Fecha;
LOAD DISTINCT
DayStart($(vFechaMin) + IterNo()) as Temp_Fecha
AUTOGENERATE (1)
WHILE $(vFechaMin) + IterNo() <= $(vFechaMax);
//--- Remove the temporary variables
LET vFechaMin = Null();
LET vFechaMax = Null();
left join
LOAD DISTINCT
IterNo() as DIAS
AUTOGENERATE (1)
WHILE IterNo() <= 7;
NoConcatenate
Fechas:
LOAD Temp_Fecha,
emp_Fecha-DIAS as FechasVinculadas
Resident FechasTemp;
DROP Table FechasTemp;
Hola Alejandro,
En este ejemplo tienes una tabla de partida con las fechas originales y luego lo que se hace es un bucle con tantas iteraciones como días anteriores quieres que cada fecha tenga y creas una tabla con las asociaciones:
T1:
LOAD *
INLINE [
Fecha Original
01/01/2018
02/01/2018
03/01/2018
04/01/2018
05/01/2018
06/01/2018
07/01/2018
08/01/2018
09/01/2018
10/01/2018
];
FOR vsContador = 1 TO 3
T2:
LOAD DISTINCT [Fecha Original] AS [Fecha Original],
Date([Fecha Original] - $(vsContador)) AS [Fecha Previa]
RESIDENT T1;
NEXT
DROP TABLE T1;
Espero que te sirva,
Saludos,
H
Muchas gracias estimado!!!
Saludos
De nada, si necesitas algo más nos dices... Saludos!
Hola Alejandro, además de IterNo() se puede usar RecNo(), que está asociado al índice del autogenerate:
LET vFechaMin = 43000;
LET vFechaMax = Today()-1;
FechasTemp:
LOAD
DayStart($(vFechaMin) + IterNo()) as FECHA,
DayStart($(vFechaMin) + IterNo()-RecNo()) as [FECHAS VINCULADAS]
AUTOGENERATE (3)
WHILE $(vFechaMin) + IterNo() <= $(vFechaMax);
Muchas gracias estimado
Saludos