Formato condicional a través de cálculos basados en tablas

Puedes usar cálculos de combinación de teclas para realizar cálculos comunes en campos numéricos que se encuentran en la tabla de datos de una exploración sin usar las funciones y los operadores de Looker cuando tienes los permisos para crear cálculos basados en tablas.

Es importante mencionar las filas que cumplen (o no) con ciertas condiciones en algunos informes. Este patrón suele denominarse formato condicional en Hojas de cálculo de Google o en otras aplicaciones de hojas de cálculo.

Looker admite el formato condicional en las visualizaciones de varias maneras:

  • Con el parámetro de LookML html. Esto es ideal para formatear valores cuando las condiciones que impulsan el formato son coherentes en todo el análisis para un campo determinado.
  • Con cálculos de tablas. Este enfoque es ideal cuando las condiciones que determinan el formato deben poder asignarse desde la IU de Explorar de Looker.
  • Directamente en la configuración de visualización para los gráficos de tabla

El segundo enfoque, que aprovecha cálculos basados en tablas para determinar el formato condicional, se detalla en esta página con dos ejemplos que usan emojis

Para habilitarlos, haz lo siguiente:

Nota: No todas las bases de datos de backend admiten emojis en los cálculos de tablas. Es posible que el emoji falle de forma inesperada si la instancia se migra a un backend de MySQL. Considera usar el formato condicional para los gráficos de tabla desde el editor de configuración de visualizaciones de una Exploración o implementar el formato condicional usando HTML.

Ejemplo 1

El siguiente ejemplo se basa en una consulta de exploración con Inventory Items Count agrupado por Inventory Items Created Date. Un usuario quiere agregar un emoji para indicar si un valor de Inventory Items Count es mayor o menor que un número especificado.

El primer paso es crear un cálculo que use la función if a fin de especificar una condición para categorizar los valores de Inventory Items Count y la función concat para anteponer un carácter de emoji según si los valores satisfacen o no la condición.

El usuario quiere usar emojis para indicar si un valor cumple o no la condición. Un emoji con una marca de verificación verde indica un valor que cumple con la condición, mientras que un emoji rojo x indica un valor que no la cumple.

El cálculo basado en tablas es el siguiente:

concat(
  if(${inventory_items.count} > 255, "<emoji>" ,
    if(${inventory_items.count} < 260, "<different_emoji>" , " ")), " "
      ,${inventory_items.count})

Aquí, el cálculo basado en tablas se muestra con emojis en el menú Crear cálculo de tablas o en el editor de cálculo de tablas in-page cuando está habilitada la función de Labs Cálculos de tablas in-page:

Menú Crear cálculo de tablas con un cálculo basado en tablas que especifique que un emoji de marca de verificación verde cuando los valores de Inventory Items Count son superiores a 255 y un emoji con una X roja aparece cuando los valores de Inventory Items Count son inferiores a 260.

Este cálculo basado en tablas genera la siguiente visualización de tabla:

Visualización de la tabla que muestra los resultados del cálculo de la tabla Inventory Items Count como un emoji de color rojo con una X para los valores inferiores a 260 y un emoji de marca de verificación verde para los valores superiores a 255.

La columna de medición Inventory Items Count está oculta de la visualización, por lo que solo se visualiza la columna de cálculo de la tabla con el emoji antepuesto condicionalmente.

Ejemplo 2

Del mismo modo, el patrón de formato condicional del ejemplo 1 se puede aplicar a un cálculo de tabla de cambio porcentual para llamar la atención sobre las filas que pueden requerir atención adicional. El siguiente ejemplo tiene dos cálculos. En este ejemplo, también se usa la función Explorar con el valor Inventory Items Count agrupado por Inventory Items Created Date

El primer cálculo basado en tablas muestra el cambio porcentual (con la función offset para comparar valores asociados con fechas diferentes en la misma columna):

  (${inventory_items.count} - offset(${inventory_items.count},
  -1))/offset(${inventory_items.count}, -1)

En este ejemplo de una exploración, el cálculo basado en la tabla se denomina Inventory Items Count percentage change, al que se hace referencia en el segundo cálculo de la tabla.

El segundo cálculo de la tabla aplica la condición if y la función concat para anteponer un emoji x rojo a los días en los que Inventory Items Count tiene un crecimiento negativo en comparación con el día anterior:

  concat(
    if((${inventory_items_count_percentage_change}*100) < 0, "<emoji>", " "), " ",
    round(${inventory_items_count_percentage_change}*100,1),
    if(is_null(${inventory_items_count_percentage_change}), " ", "%"))

Estos dos cálculos basados en tablas generan una tabla de datos Explore con dos filas nuevas para los cálculos de tablas de emojis de valor condicional Inventory Items Count percentage change y Inventory Items Count porcentual change. La visualización de la tabla resultante muestra los resultados de todos los campos, excepto Inventory Items Count contabilizar cambios. El cálculo de la tabla Inventory Items Count count change está oculto en la visualización de la tabla: