Cambiar el formato numérico mediante función en Qlik Sense

Introducción

En Qlik Sense, a la hora de querer dar un formato numérico a un número con muchos dígitos, podemos emplear varios formatos o máscaras que se adapten a las necesidades que tengamos en cada momento.

Dentro de los formatos predeterminados tenemos el numérico, moneda, etc. pero ¿qué ocurre cuando estamos tratando con grandes cifras y no queremos que se muestren todos los dígitos?

Es probable que en clientes como bancos o similares se trabaje siempre con cifras muy grandes y mostrar muchos números de ese tipo en pantalla puede suponer un diseño de cuadro de mando muy sobrecargado.

A continuación, comentaré varias de las opciones que tenemos disponibles, tanto nativas como creadas.

Pasos a seguir

Mediante el script de nuestra app de Qlik, tenemos una variable automática modificable en la que podemos identificar la cantidad de posiciones con la letra de abreviatura que necesitemos mostrar. Por ejemplo:

funcion qlik sense

La línea comentada es la que viene por defecto y la de arriba la que en este caso he preparado para la ocasión. En este caso indicamos que para números de más de 3 ceros (miles) mostraremos una “k”, para números con 6 ceros (millones) mostraremos una “M”, etc.

Con esto, si en un gráfico por ejemplo de tipo KPI ponemos una expresión tipo suma de valores (por ejemplo sum(Neto) ) y le establecemos el valor de representación en Automático, empleará la variable anteriormente mostrada:

importe total neto qlik

Hasta aquí todo genial… ¿cuál es el problema? Que cuando queremos hacer esto en una expresión de una tabla, el formato Automático no hace caso; y esto es así al menos hasta que Qlik quiera cambiarlo en alguna futura versión.

Entonces, ¿qué hacemos? Es posible que en la tabla detalle que quieras montar, no te importe tener los números en todo su esplendor con todos sus dígitos (básicamente porque es una tabla detalle) pero también podrías querer que el número se auto formatease en función de su longitud. Pero esto podemos forzarlo en la expresión ¿no? Sí, claro que se puede, pero ¿y si quieres usarlo en varios sitios? ¿vas a hacer if anidados en cada caso? ¿y si de repente te añaden otro formato que quieren ver? La solución que propongo es crearnos una función dentro de las variables de Qlik, que realice el proceso pasándole de parámetro la expresión a la cual queramos aplicarle el autoformato. De esta forma en caso de querer modificar este proceso de autoformato únicamente. Para esto, nos dirigimos a Variables dentro de la capa de presentación y creamos una nueva variable vFormatNumber (o el nombre que queramos) con la siguiente expresión:

variable qlik sense

Hecho esto, ahora seremos capaces de usar esta función en cualquier expresión que necesitemos, simplemente llamándola y poniendo la operación a realizar en el argumento. Por ejemplo si queremos usar una expresión Sum(Neto) aprovechando las bondades de nuestra nueva función, la llamaríamos así:

$(vFormatTime(sum(Neto)))

Y obtendremos este resultado:

resultado de función con qlik sense

En los casos que la cantidad sea pequeña podemos ver en la imagen que no pinta la “M”, adaptándose en cada caso.

Si esto lo combinamos con las expresiones maestras podemos dejar nuestra aplicación Qlik muy legible y ágil de cambiar ante nuevos requisitos.

En resumidas cuentas...

Con todo esto, hemos aprendido como poder gestionar los autoformatos numéricos de varias formas en función de las necesidades que tengamos.

Si lo usáis, no dudéis en comentarme como os ha ido. Espero que os haya sido útil.

Hasta la próxima.

Tags

He leído y acepto la política de privacidad
Acepto recibir emails sobre actividades de recruiting NTT DATA