Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Quiero crear rangos de colores mediante una expresión y lo quiero hacer dividiendo el rango en iguales amplitudes (min-máx /3, máx /3-máx*2/3 y máx*2/3-max)
El problema que tengo es que cuando quiero armar los rangos me pone como que todos los valores entran en el rango más alto.
La expresión que estoy usando es la siguiente:
=If($(vShareClientesZC) < Max(Aggr(Count(distinct ClienteId)/sum(HogaresxMzna),ManzanaKey))/3 ,'#ff0b05',
If($(vShareClientesZC) < Max(Aggr(Count(distinct ClienteId)/sum(HogaresxMzna),ManzanaKey))*2/3 ,'#ffff05',
if(IsNull($(vShareClientesZC)),'#ff0b05','#40ff00')))
Lo que yo creo que está pasando es que Qlik está comparando cada share con el mismo valor de share divido 3, etc... No está comparándolo con el valor max de share de todas las filas.
¿Alguien sabe como puedo solucionarlo?
Muchas gracias por adelantado.
Hola Juan Pablo,
Mírate el 'análisis de conjuntos' porque así vas a poder crear una expresión que te permita asignar un valor fijo a una variable.
Por ejemplo, si en una variable almaceno = Max(Year(Fecha_Venta)), cada vez que la use contra un registro me va a tener en cuenta los valores de Fecha_Venta asociados con él y además el resto de valores seleccionados en los demás campos y con todos ellos va a calcular el año máximo. Si a la misma variable le asigno = Max({1} Year(Fecha_Venta)), esta va a almacenar siempre el año máximo independientemente de contra qué lo compare o qué esté seleccionado. Para ello uso el conjunto {1} que es el de todos los datos del modelo independientemente de las selecciones.
Espero que te sirva.
Saludos,
H
Hola Juan Pablo, puedes añadir las expresiones por separado para comprobar los valores y ver que está haciendo:
- $(vShareClientesZC)
- Max(Aggr(Count(distinct ClienteId)/sum(HogaresxMzna),ManzanaKey))
Puede que falten algunos 'TOTAL' o '{1}' en la parte del max, si es un valor global igual sería mejor calcularlo en una variable para poder usar algo como:
If($(vShareClientesZC) < $(vMaxShare)/3 ,'#ff0b05', ...