Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
imoratal
Creator
Creator

Operaciones de conjuntos

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)))

1 Solution

Accepted Solutions
rubenmarin

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.

View solution in original post

6 Replies
imoratal
Creator
Creator
Author

 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)))

rubenmarin

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()

imoratal
Creator
Creator
Author

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;

 

rubenmarin

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.

imoratal
Creator
Creator
Author

Gracias Ruben, me ha servido de gran ayuda, saludos.

jmmayoral3
Creator
Creator