Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola amigos! mi consulta tiene que ver con la selección correcta de los meses en el calendario creado con cuadros de listas. Tengo dos años diferentes, 2013 y 2014. El problema es que al querer seleccionar los últimos 3 meses (para un análisis) necesito solo Diciembre de 2013, Enero de 2014 y Febrero de 2014 y cuando hago la selección común me trae todos los datos que necesito y también Enero 2013 y Febrero 2013 porque los junta con los mismos meses de 2014. Qué puedo hacer para seleccionar solo lo que quiero?
Hola Walter,
Para la construcción de la variable ten en cuenta la siguiente expression:
Num(Year(Fecha)&If(Len(Num(Month(Fecha)))=1,'0'&Num(Month(Fecha)),Num(Month(Fecha)))) as Año_Mes,
Y para trimestre móvil, un set expression así:
{<Año_Mes={">=$(=Num(If(Num(Right(Max(Año_Mes),2))=2,(Max(Año)-1)&'12',If(Num(Right(Max(Año_Mes),2))=1,(Max(Año)-1)&'11',(Max(Año_Mes))-2))))<=$(=Num(Max(Año_Mes)))"}>}
Esta expression la puedes emplear en un Sum({"aquí va la expression"} Ventas), y te realiza el cálculo de acuerdo al mes seleccionado o al mes actual.
-JFlorian
Para este caso, me imagino que tienes una grafica, lo mejor es hacer una variable que le puedas especificar los meses que quieres ver hacia atras y asi lo selecciona. Tal y como lo tienes ahora no es posible, ya que diciembre pertenece tanto a 2013 como a 2014.
Otra opcion es que hasta un campo con la funcion MonthName(Fecha) en el script y le pongas MesAno. Aqui QV te devuelve Dic 2013, Ene 2014... etc. Haces una lista con este campo y lo puedes seleccionar. Tal vez esta opcion no es tan practica.
mmmm. en mi caso el filtro afectaba gráficas y tablas lo que hicimos fue en una de las tablas agregamos la fecha completa, le dimos selectores desplegables y ya el cliente podría filtrar cosas de este tipo <2012/01/15<2013/01/20
espero te sirva
Hola Walter,
En proyectos que he modificado, he tenido que emplear YYYYMM para poder manejar por ejemplo, graficos o pivot table para trimestre móvil, es decir, traer info para 201312, 201401 y 201402.
Por lo tanto tu puedes traer:
- Mes actual: Max(Añomes),
- Trimestre móvil: Max(Año_Mes))-2
- Año actual: Max(Año),
-JFlorian
Gracias por tu aporte Javier, me parece factible así que lo voy a intentar! Un abrazo.
La mejor opción sin duda es la de Javier
Lo estuve intentando y me queda por ejemplo enero de 2013 así "20131". No consigo que me queden los meses de dos dígitos, con el cero delante en aquellos que solo tienen uno. Porque sino Enero de 2014 (20141) es más chico que Diciembre de 2013 (201312). Como hago que los meses tengan el formato de dos dígitos? es decir 01, 02, 03, ...., 11, 12
Prueba con algo como esto:
if mes<10 then
mes1='0' & mes
else
mes1=mes
end if
Fecha=$(Año) & &(mes1)
Hola Walter,
Para la construcción de la variable ten en cuenta la siguiente expression:
Num(Year(Fecha)&If(Len(Num(Month(Fecha)))=1,'0'&Num(Month(Fecha)),Num(Month(Fecha)))) as Año_Mes,
Y para trimestre móvil, un set expression así:
{<Año_Mes={">=$(=Num(If(Num(Right(Max(Año_Mes),2))=2,(Max(Año)-1)&'12',If(Num(Right(Max(Año_Mes),2))=1,(Max(Año)-1)&'11',(Max(Año_Mes))-2))))<=$(=Num(Max(Año_Mes)))"}>}
Esta expression la puedes emplear en un Sum({"aquí va la expression"} Ventas), y te realiza el cálculo de acuerdo al mes seleccionado o al mes actual.
-JFlorian