Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola tengo una hoja donde selecciono un año y un mes mediante las variables AñoSel y AñoMes
En una tabla tengo las ventas y las reservas de los años y mes que se me filtran según selecciono AñoSel y AñoMes
En una columna muestro las reservas seccionadas y necesito otra columna para mostrar las reservas del mes anterior y no consigo hacerlo, sólo si pongo en la expresión el valor a "mano".... Intenté con MesReservas=MesSel-1 dentro del conjunto pero no va pq es un texto... -->
sum( {<AñoReservas = AñoSel>}
IF(Mesreservas='JULIO', IF(UM='M2',CANTIDADPDTE)))
Si has creado NumAñoMesReservas podrías hacer:
sum({<NumAñoMesReservas={$(=(Max(AñoSel)*12)+MesSel-1)}>}
IF(UM='M2',CANTIDADPDTE))
Y si MesVentas te llega como texto puedes usar una tabla de mapeo para convertirlo a número. Puede ser en otro campo llamado NumMesSel, para seguir mostrando los textos en el selector.
Esa expresión me funciona pero necesito vaya dentro del conjunto pq sino tendria que ponerlo a mano cada mes y no sería automatico
sum( {<AñoReservas = AñoSel>}
IF(Mesreservas='JULIO', IF(UM='M2',CANTIDADPDTE)))
Hola, podrías crear un campo que tenga el año y mes en número tanto para Reservas como para Sel, así facilitaría el cálculo, y si el número es consecutivo te facilitaría el cambio de año, para que cuando se selecciones enero sepa llegar fácilmente a diciembre del año anterior.
Puedes crear el número consecutivo como:
(Year(Fecha)*12)+Month(Fecha) as NumAñoMes
Así la expresión final podría ser:
sum({<NumAñoMesReservas={$(=Max(NumAñoMesSel)-1)}>}
IF(UM='M2',CANTIDADPDTE))
Si no tienes un campo Fecha puedes crearlo usando MakeDate, o usar directamente el año y el mes en vez de las funciones Year() y Month()
Me falta poder sacar esto que no consigo cómo-->
NumAñoMesSel
AñoSel:
Load Distinct AñoVentas as AñoSel
Resident TABLAVENTAS;
MesSel:
Load Distinct MesVentas as MesSel
Resident TABLAVENTAS;
Si has creado NumAñoMesReservas podrías hacer:
sum({<NumAñoMesReservas={$(=(Max(AñoSel)*12)+MesSel-1)}>}
IF(UM='M2',CANTIDADPDTE))
Y si MesVentas te llega como texto puedes usar una tabla de mapeo para convertirlo a número. Puede ser en otro campo llamado NumMesSel, para seguir mostrando los textos en el selector.
Gracias Ruben, me ha servido de gran ayuda, saludos.
Si necesitas más información sobre el set analysis: https://community.qlik.com/t5/QlikView-Documents/Set-Analysis-An%C3%A1lisis-de-conjuntos-en-Espa%C3%...