Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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
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.
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?
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!