Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Expresion con 2 conjuntos

Hola, tengo un problema con una expresion de una grafica, se trata de una expresion con 2 conjuntos, pero no se en que esta fallando.

Quiero ver una estadistica del % de horas utiles de una persona al mes. Para eso, tengo una variable Dia, que es la encargada de decirme las horas que ha trabajado una persona, y DiaM que es la que me dice cuantas horas ha pasado esa persona en la oficina.

Mi expresion es la siguiente:

sum({$<esgerente={"1"} >}HRealTarea)*24/sum({$<esgerente={"1"}, DiaM={Dia} >}HorasTrabajo)

La parte en negrita es la que no me funciona, yo quiero que seleccione DiaM en funcion de Dia, pero no me hace ninguna seleccion. Supongo que estaré haciendo algo mal.

Alguien sabe como puedo solucionar este problema?

Un saludo.

7 Replies
Not applicable
Author

Alguien sabe como puedo solucionar mi problema?

gracias.

Miguel_Angel_Baeyens

Hola,

Cuando dices "variable" ¿te refieres a variable LET o SET o creada desde el menú configuraciones, o a campos de distintas tablas que tienes en el modelo de datos?

Si son campos, podrías probar

sum({$<esgerente={1} >} HRealTarea)*24/sum({$<esgerente={1}, DiaM=P(Dia) >}HorasTrabajo)

y si es una variable debería ser

sum({$<esgerente={"1"} >}HRealTarea)*24/sum({$<esgerente={"1"}, DiaM={$(=Dia)} >}HorasTrabajo)

Espero que sirva.

Miguel

Not applicable
Author

Hola Miguel, efectivamente, lo que me has comentado (campos) funciona perfectamente, siempre que seleccione un dia. Pero me gustaria saber si se puede hacer para que seleccione un mes entero y vaya sacando los avlores dia tras dia. Me explico:

En tu ejemplo, cuando selecciono, Año, Mes y Dia me da los valores correctos, pero lo que me interesaria es poder seleccionar unicamente Año y Mes, y por medio de la expresion, poder ver lo que ocurre dia a dia, sin hacer ninguna seleccion.

Eso lo conseguia antes poniendo en la dimension la siguiente sentencia:

if(Dia=DiaM, Dia)

De esta Forma, unicamente poniendo en la expresion:

sum({$<esgerente={1} >} HRealTarea)*24/sum({$<esgerente={1} >}HorasTrabajo) /*sin hacer referencia a DiaM*/

Me iba sacando en la grafica todos los valores del dia a dia de ese mes.

Mi intencion es cambiar la formula de la dimension, para dejar unicamente el Dia, ya que de la otra forma le cuesta mucho realizar la carga de la grafica, y he pensado que quizas asi mejoraria un poco el tiempo de carga.

Un saludo.

Miguel_Angel_Baeyens

Hola,

El ejemplo de los campos con la función P() debería funcionar también si seleccionas un único mes, siempre y cuando la dimensión sea Dia o DiaM (dependerá del modelo para que sea una u otra). P() devuelve la lista de valores posibles para el campo indicado, así que si seleccionas "enero" P(DiaM) debería devolverte los valores 1 a 31.

Espero que te sirva.

Miguel

Not applicable
Author

Hola Miguel, me parece que debe haber algo que hago mal, porque la grafica no funciona como necesito. Veras, los valores se encuentran en 2 tablas distintas, por un lado tengo la tabla TRABAJO donde se encuentra el campo "dia" y el campo "horas_dia", y por otra parte tengo la tabla MARCAJES donde tengo el campo "diaM" y el campo "horas_DiaM".

cuando selecciono un año y una fecha, tengo una grafica cuya dimension es "dia", y 2 expresiones, una que me saca el sumatorio de las "horas_dia" en funcion del dia "=sum(horas_dia)" , y otra que me saca el sumatorio de las "horas_diaM" en funcion de diaM "sum({$<diaM=P(dia)>} horas_DiaM)", cuando selecciono un dia si que me da los valores correctos, pero al no hacer ninguna seleccion del dia, la segunda funcion, la que esta hecha en funcion de "DiaM", me saca para cada dia un sumatorio de todos los campos "horas_DiaM" del mes, lo que me gustaria es que la segunda funcion sacase el valor unicamente del diaM. Me parece que en este caso la expresion de DiaM=P(dia) no esta funcionando bien, verdad?

Not applicable
Author

Realmente los campos no son esos, pero he reducido el problema a algo mas simple para ver si lo que intento hacer se puede hacer con la funcion P().

Un saludo

Not applicable
Author

Continúo igual, no encuentro slucion a mi problema.