Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola,
Tengo un problemilla con el set analysis, a ver si alguien me puede ayudar.
Estoy trabajando con dos cuadros de texto, en el primero me muestra el valor de un indicador para el año seleccionado, y en caso de que no haya seleccion para el valor máximo; y el segundo cuadro de texto debe mostrar el valor del mismo indicador para el mes anterior al seleccionado.
Mi campo ID_Mes viene en formato YYYYMM.
Os cuento un poco como lo he hecho.
Estas variables las he definido asi:
v_MesActual=max(ID_Mes)
v_MesAnterior=if(Right(v_MesActual,2)='01', num((Left(v_MesActual,4)-1)&'12'), v_MesActual-1)
Por tanto en mi expresion para el mes actual tengo lo siguiente:
count({<ID_Filial={1,2,3},ID_Dept={1,3,5}, ID_Mes={$(v_MesActual)}>}distinct ID_Empleado)
a la hora de definir mi expresión para el mes anterior, le tengo que decir que no "me aplique" los filtros para el mes ya que sino entiende que el mes seleccionado no se corresponde con el mes Anterior (logico) pero siempre me da 0.
count(1{<ID_Filial={1,2,3},ID_Dept={1,3,5}, ID_Mes={$(v_MesAnterior)}>}distinct ID_Empleado)
Lo hago utilizando el 1, pero yo quiero establecer la posibilidad de que filtre por todos los campos excepto por el mes que ya viene definido por la variable.
He probado con dos condiciones en el set Analysis utilizando el operador *, pero me obliga a poner el 1 en ambas. ¿Alguna idea?
Gracias
Maria
Buenas,
Gracias por vuestros comentarios. Al final solucione el tema de las variables con vuestras aportaciones y adaptándolo un poco a mi caso, ahora me funciona correctamente, las he definido así:
Esto ya lo controlo, pero sigue surgiendome la misma duda.
Si yo a mi aplicacion le añado los filtros de centro y area por ejemplo, para calcular la suma de ventas para el periodo actual y el anterior tendria que poner:
Si no pongo el 1 en la expresión anterior no me da solucion.
Ahora bien... ¿Como hago para que ese resultado me filtre por los demas campos que he añadido?
Hola María,
Lo que quieres es que tenga en cuenta las selecciones que haces en los cuadros de lista (supongo que con lo de filtro te refieres a ello) o que no las tenga en cuenta?
Si quieres que las tenga en cuenta en principio en tu fórmula ya lo tienes bien pero tendrías que quitar el 1 de ANTERIOR.
Si no quieres que tenga en cuenta centro y area podrías ponerlo así:
Saludos,
Hola Maria:
Prueba a calcular el mes anterior con un AddMonths() y el diferencial -1.
Debería funcionar sin el calificador de conjunto 1
Si pones centro=, area=, .... lo que haces es ignorar las selecciones sobre esos campos si quieres que las aplique no las incluyas en el set analysis.
Saludos,
Joaquín
Hola,
básicamente si en tu set pones el 1 descartas las selecciones que tengas efectuadas, y en contraposición si pones $ las tienes en cuenta.
Si quieres que no tenga en cuenta algún campo en particular, por ejemplo año o mes, puedes especificarlo:
{$<....., año =, mes =>} (así tendría en cuenta las selecciones excepto las que corresponden a año y mes
Espero que te ayude
Un saludo,
Buenas,
Efectivamente se que no me lo tiene en cuenta con el 1, pero no consigo que me funcione de otra forma.
Os paso un ejemplo de como lo he hecho.
Si no selecciono el mes, si que me calcula el mes actual y el anterior, pero si lo selecciono, el mes anterior sin el 1, pasa a darme 0 siempre.
Lo que quiero conseguir es que tambien se pueda filtrar por los valores de cuadro de lista que he añadido en el cuadro de seleccion multiple.
¿Alguna idea?
Yo pruebo y parece funcionar, quizás te he entendido mal pero filtrando por shipperid y employee_id los cálculos se actualizan a la selección sin problema.
En qué supuesto te falla?
En el que pone Mes Anterior, como no pongo el 1 me falla.
Y en el que pone mes Anterior con 1, no me aplica los filtros.
Pero, yo no he hecho ajustes y la información que muestra parece cuadrar con la de la tabla.
Los datos de ventas para la expresión =sum({<OrderDate={$(v_MesAnterior)}>}Sales) se ajustan al empleado 7, el shipper 2 y el mes anterior al seleccionado.
Efectivamente te sale... Pero el campo Order Date no deberia estar disponible para filtrar, solo el mes y el Año. Fijate que tal y como lo tienes selccionado, si seleccionas el mes que hay disponible (mayo), ya me da errores. Le he añadido a mi calculo en el Set Analysis la condicion de que no filtre por mes ni año y parece que funciona.
¿como lo ves?
Añade Mes= a la expresión y listos
=sum({<OrderDate={$(v_MesAnterior)}, Mes=>}Sales)
Con eso evitas que se aplique la selección de mes al cálculo, si tienes que discriminar algun campo más, haces lo mismo.
Así vas jugando con los campos, incorporándolos o no al set de datos