Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buen@s,
Me ha surgido un problema el cual no encuentro la forma de solucionarlo y agradecería mucho vuestra colaboración.
Mi problema es que que no consigo obtener correctamente la fecha correspondiente al año anterior a día de hoy, es decir, hoy, 27/03/2014 se corresponde con el jueves en la semana y lo que quiero obtener es la fecha equivalente en el año pasado que seria en el mismo día de la semana, en este caso seria 28/03/2014 que cae en jueves dentro de la semana correspondiente a la fecha de hoy.
He conseguido obtenerlo sin problemas para fechas que se consideran normales (en medio del año, etc), pero cuando se trata de fechas de principio de año y de fin de año y años bisiestos, los datos que obtengo son erróneos.
Utilizo las funciones que ofrece el Qlikview para obtener los datos con respecto a las semanas como week(), weekday(), weekyear(), makeweekdata(), etc
os pongo una aproximación que tengo hasta ahora en la que obtengo la fecha y que creo que para fechas de principio de año funciona bien pero que falla para fechas de finales de año:
if((weekyear(makedate(varAño,varMes,varDia))-weekyear(makedate(varAño-1,varMes,varDia)))>1,
makeweekdate(varAño-1,week(makedate(varAño,varMes,varDia)),num(weekday(makedate(varAño,varMes,varDia)))),
makeweekdate(weekyear(makedate(varAño-1,varMes,varDia)),week(makedate(varAño,varMes,varDia)),num(weekday(makedate(varAño,varMes,varDia))))
)
utilizo la funcion MakeWeekDate() porque se le indica el año, la semana y el dia de semana) pero el problema es determinar correctamente que datos debo indicar para obtener la fecha deseada.
Espero haber sido claro explicando mi problema.
Un cordial saludo a tod@s y gracias de antemano.
Antonio, a ver si entiendo. Hoy es Sábado 29/03/14, lo que necesitás saber es: "De la semana del mismo día del año anterior, cuál era el Sábado?". O también podrías preguntar: "qué Sábado estaba más cerca del 29/03/13"???. Esto es una aproximación, no es un dato certero. Pero también podrías preguntar: "Ok, hoy 29/3/14 es el 13vo Sábado del 2014, cuál fue el 13vo Sábado del 2013??"
Para el primer caso, usá:
=Date(
AddYears(Today(),-1)-num(Weekday(AddYears(Today(),-1))) // Comienzo de semana del mismo día del año anterior
+num(Weekday(Today())) // Día de la semana actual
)
Si este no es el cálculo que necesitás, avisame. Es probable que todos den resultados similares, pero si te ponés a pensar, no son lo mismo.
se me ocurre una idea nose si te valdra o no.
Cuenta los dias desde el comienzo del año hasta el dia que quieras ver.
la diferencia a hoy por ejemplo 85 dias. luego suma a año menos 1 als 2013 los 85 dias, y deberia funcionar segun entiendo.
Un saludo
Gracias Facundo de la Cal, es un punto de vista que no se me había ocurrido pero no lo entiendo muy bien. ¿Podrías poner un ejemplo?
Gracias.
Antonio, a ver si entiendo. Hoy es Sábado 29/03/14, lo que necesitás saber es: "De la semana del mismo día del año anterior, cuál era el Sábado?". O también podrías preguntar: "qué Sábado estaba más cerca del 29/03/13"???. Esto es una aproximación, no es un dato certero. Pero también podrías preguntar: "Ok, hoy 29/3/14 es el 13vo Sábado del 2014, cuál fue el 13vo Sábado del 2013??"
Para el primer caso, usá:
=Date(
AddYears(Today(),-1)-num(Weekday(AddYears(Today(),-1))) // Comienzo de semana del mismo día del año anterior
+num(Weekday(Today())) // Día de la semana actual
)
Si este no es el cálculo que necesitás, avisame. Es probable que todos den resultados similares, pero si te ponés a pensar, no son lo mismo.
Gracias Sebastián, es una aproximación muy buena, de hecho es lo que buscaba.
Gracias a todos por ayudarme.