Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Mes seleccionado menos el mes anterior en análisis de conjuntos

Hola, a ver si alguien puede ayudarme.

Cómo puedo hacer con análisis de conjuntos que a un valor del Mes seleccionado por el usuario se le reste un valor del mes anterior al seleccionado?

Un saludo y gracias.

4 Replies
male_carrasco
Creator
Creator

Hola Juan,

Una opción es usar la función AddMonths

Sum( {<Mes={"=GetFieldSelections(Mes)"}>} X ) -

Sum( {<Mes={"=Month(AddMonths(addmonths ('YYYY-MM-DD',-1)))"}>} X )

La fecha del AddMonths la puedes formar con Makedate y para el mes usas =GetFieldSelections(Mes)

Espero te sea de ayuda.

Slds

etendero
Partner - Creator
Partner - Creator

Hola Juan Vicente,

Prueba con la siguiente expresión, pienso que es más que suficiente:

Sum(Valor) - Sum({<Mes = {"$(=Mes - 1)"}>} Valor)


Como el minuendo utiliza el mes seleccionado, no es necesario utilizar análisis de conjuntos, cuestión que si hace falta para el sustraendo.

Con el siguiente ejemplo, evitas el problema de que si algún Sum devuelve nulo, toda la expresión no funcione.

RangeSum(Sum(Valor), Sum({<Mes = {"$(=Mes - 1)"}>} Valor) + (-1))


Con estas expresiones, hay que tener la precaución de que se está seleccionado enero, como no tiene mes anterior, no restará nada. Si necesitaras buscar el valor de diciembre del año anterior para restar, necesitaríamos un campo Fecha o Año. Si fuera este tu caso, me lo comentas y te preparo un ejemplo.

También tienes que tener en cuenta, que sólo puede haber un mes seleccionado, porque si hubiera varios, no funcionaría. Para lo cual podrías utilizar una función tipo Max o Min para resolverlo:

RangeSum(Sum({<Mes = {"$(=Max(Mes))"}>} Valor), Sum({<Mes = {"$(=Max(Mes) - 1)"}>} Valor) + (-1))

No se si la anterior consulta que has lanzado en la comunidad, te le hemos resuelto. Agradeceríamos que nos lo comunicaras.

Un saludo y espero haberte ayudado.

Not applicable
Author

Emilio buenos días, estoy en una situación similar. Pero con operaciones mas sencillas, que son sumas entre las ventas del mes seleccionado y del mes anterior. Utilizo para el mes anterior:

Sum({$<Mes={$((Mes)-1)}>}Ventas)

Y mes es la unión entre el Mes y Año, por ejemplo para Diciembre de 2014 Mes = 201412

Pero me da error cuando selecciono Enero ya que no tiene mes anterior. Como lo soluciono?

julian_rodriguez
Partner - Specialist
Partner - Specialist

Hola DN

Te recomiendo para tu caso, usar el Master Calendar creado por ROB WINDERLICH, que te permite hacer muchas operaciones con fechas, entre ellas, analizar "Rolling Months"...

En este enlace encuentras el enlace para descargarlas

http://community.qlik.com/message/597642#597642

Saludos!