Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Sebastián
Contributor II
Contributor II

Filtrar métricas (medida)

Hola a todos

Quisiera saber como puedo filtrar métricas, ya que tengo 3 columnas con 3 métricas distintas (monto de venta, tasa, diferencia de venta monto anterior). Entonces me gustaría poder crear un filtro (o segmentación) que me permita seleccionar una de las 3 métricas.

De esa forma, si tengo un mapa de calor por ejemplo, me gustaría que al seleccionar monto de venta, me muestre en rojo si no cumple la meta y en verde si la cumple, luego al seleccionar tasa, ese mismo mapa de calor salga en rojo si no cumple la meta y en verde si la cumple, por último, al seleccionar diferencia de venta monto anterior, que ese mismo mapa de calor me muestre en rojo si el mes anterior se vende más que el actual y en verde si el mes actual se vende más que en el anterior.

 

Labels (2)
1 Solution

Accepted Solutions
joseph_morales
Creator II
Creator II

Hola @Sebastián ,

Primero debes crear una lista de la descripciones de las medidas que vas a querer filtrar, y crear una tabla inline en el script de la siguiente manera:

Load * Inline [
ID_MEDIDA, DESC_MEDIDA
1, MEDIDA_1
2, MEDIDA_2
3, MEDIDA_3
];

Teniendo en cuenta que el filtro de la medida siempre va a estar seleccionado un solo valor, clic sobre el campo  -> Clic Configuración de campo-> Marcar la opción: Siempre una valor seleccionado.

medidas.PNG

Agregar a la hoja el campo como panel de filtrado

filtro.PNG

Sobre heatmap, el objeto que tiene Qlik Sense de heatmap tiene varias paletas de colores de diferentes tonalidades, no ajustables por lo que revise. Te recomendaria hacerlo con un pivot table, donde colocas una dimension como columna y otra en fila, en la expresión sería algo así:

PICK(MATCH(ID_MEDIDA,1,2,3),
//Cantidades
SUM(TOTALTRX),
//Montos
SUM(MONTOTRX),
//Total
SUM(TOTALMONTOTRANSACCIONES)
)

Donde va a comparar contra que ID del filtro de medidas estas usando y aplicará la formula correspondiente, ahi en cada uno reemplazas con tus formulas.

Sobre el color de fondo sobre las propiedades de la medida usar la opción de color de fondo, la formula sería similar a la anterior pero comparando contra la meta e indicando el valor del color.

COLOR.PNG

 

 
PICK(MATCH(ID_MEDIDA,1,2,3),
//Cantidades
if(SUM(TOTALTRX)<SUM(AGGR(sum({<ID_META={1}>}META),TIPO,CODSUBSEGMENTO_CLIENTE)),RGB(255,0,0),RGB(0,255,0)),
//Montos
if(SUM(MONTOTRX)<SUM(AGGR(sum({<ID_META={2}>}META),TIPO,CODSUBSEGMENTO_CLIENTE)),RGB(255,0,0),RGB(0,255,0)),
//Total
if(SUM(TOTALMONTOTRANSACCIONES)<SUM(AGGR(sum({<ID_META={3}>}META),TIPO,CODSUBSEGMENTO_CLIENTE)),RGB(255,0,0),RGB(0,255,0))
)

Hoja heatmap.PNG

Best Regards,
Joseph Morales

View solution in original post

3 Replies
joseph_morales
Creator II
Creator II

Hola @Sebastián ,

Primero debes crear una lista de la descripciones de las medidas que vas a querer filtrar, y crear una tabla inline en el script de la siguiente manera:

Load * Inline [
ID_MEDIDA, DESC_MEDIDA
1, MEDIDA_1
2, MEDIDA_2
3, MEDIDA_3
];

Teniendo en cuenta que el filtro de la medida siempre va a estar seleccionado un solo valor, clic sobre el campo  -> Clic Configuración de campo-> Marcar la opción: Siempre una valor seleccionado.

medidas.PNG

Agregar a la hoja el campo como panel de filtrado

filtro.PNG

Sobre heatmap, el objeto que tiene Qlik Sense de heatmap tiene varias paletas de colores de diferentes tonalidades, no ajustables por lo que revise. Te recomendaria hacerlo con un pivot table, donde colocas una dimension como columna y otra en fila, en la expresión sería algo así:

PICK(MATCH(ID_MEDIDA,1,2,3),
//Cantidades
SUM(TOTALTRX),
//Montos
SUM(MONTOTRX),
//Total
SUM(TOTALMONTOTRANSACCIONES)
)

Donde va a comparar contra que ID del filtro de medidas estas usando y aplicará la formula correspondiente, ahi en cada uno reemplazas con tus formulas.

Sobre el color de fondo sobre las propiedades de la medida usar la opción de color de fondo, la formula sería similar a la anterior pero comparando contra la meta e indicando el valor del color.

COLOR.PNG

 

 
PICK(MATCH(ID_MEDIDA,1,2,3),
//Cantidades
if(SUM(TOTALTRX)<SUM(AGGR(sum({<ID_META={1}>}META),TIPO,CODSUBSEGMENTO_CLIENTE)),RGB(255,0,0),RGB(0,255,0)),
//Montos
if(SUM(MONTOTRX)<SUM(AGGR(sum({<ID_META={2}>}META),TIPO,CODSUBSEGMENTO_CLIENTE)),RGB(255,0,0),RGB(0,255,0)),
//Total
if(SUM(TOTALMONTOTRANSACCIONES)<SUM(AGGR(sum({<ID_META={3}>}META),TIPO,CODSUBSEGMENTO_CLIENTE)),RGB(255,0,0),RGB(0,255,0))
)

Hoja heatmap.PNG

Best Regards,
Joseph Morales
Sebastián
Contributor II
Contributor II
Author

Muchas gracias por tu ayuda, creo que entendí todo menos la primera parte sobre crear una tabla inline en el script.  Más específicamente este código:

Load * Inline [
ID_MEDIDA, DESC_MEDIDA
1, MEDIDA_1
2, MEDIDA_2
3, MEDIDA_3
];

Cuando pones ID_MEDIDA ¿debo poner alguna variable ID que identifique las transacciones o debo poner literalmente lo mismo?

Cuando pones

1, MEDIDA_1
2, MEDIDA_2
3, MEDIDA_3

¿Solo estas poniendo el nombre que quieres que tengan las métricas (monto, monto MA y tasa ponderada) o estas llenando de datos con las 3 variables que ocupare?

Supongo que acá lo que haces es crear una tabla con dos columnas id_medida y desc_medida, que pose 3xn filas ¿o no?

Y esa tabla ¿debo unirla con las demás tablas o no es necesario?

joseph_morales
Creator II
Creator II

Hola @Sebastián

Para tu primera consulta sobre ID_MEDIDA, el 1,2,3 son correlativos de manera secuencial, como indicaste que tenias 3, en caso de tener mas se continua la numeracion.

Con la descripcion, MEDIDA_1 a _3 los reemplazar por los nombres de tus metricas.

Puedes reemplazar el inline, y puedes crear una tabla en un excel con las 2 columnas, no hay diferencia. Y no es necesario unirlo al modelo.

Saludos.

Best Regards,
Joseph Morales