Crear niveles dinámicos

Los niveles pueden ser una forma estupenda de agrupar valores. Sin embargo, con las dimensiones de type: tier de LookML, esos contenedores están predefinidos y son estáticos. En ocasiones, puede que quieras crear un nivel dinámico que permita a los usuarios cambiar el tamaño del contenedor. En Looker, puedes hacerlo usando campos solo para filtros (llamados parámetros parameter) junto con un lenguaje de plantillas (llamado Liquid).

También puede usar el agrupamiento en contenedores personalizado para crear niveles dinámicos de forma nativa en Exploraciones cuando tenga permiso para crear o editar campos personalizados.

Para crear un nivel dinámico, sigue estos pasos:

  1. Crea un parámetro de type: number que sirva como campo de filtro frontend en el que el usuario pueda introducir el tamaño del contenedor numérico que quiera.
  2. Crea una dimensión que haga referencia al valor del parámetro con la variable de Liquid {% parameter parameter_name %}. Esta dimensión determina los distintos segmentos y cambiará dinámicamente el tamaño del segmento al valor que introduzca el usuario en el campo de filtro del frontend (el parámetro parameter).

Por ejemplo, un desarrollador crea un nivel de edad dinámico que permite a los usuarios agrupar los valores de edad por intervalos personalizados:

Es posible que tenga que adaptar la sintaxis SQL del siguiente ejemplo a su dialecto de base de datos.
  parameter: age_tier_bucket_size {
    type: number
  }

  dimension: dynamic_age_tier {
    type: number
    sql: TRUNCATE(${TABLE}.age / {% parameter age_tier_bucket_size %}, 0)
          * {% parameter age_tier_bucket_size %} ;;
  }

Ahora los usuarios pueden elegir valores de nivel para la columna Edad en un Explorar. Por ejemplo, un usuario puede querer ver las edades agrupadas en intervalos de 10 años, por lo que introduciría el valor 10 en el filtro Tamaño del intervalo de edad:

Explora la dimensión Edad dinámica de los usuarios y el número de usuarios filtrados por el valor 10 en el filtro Tamaño del segmento de edad de los usuarios.

La expresión SQL de la dimensión dynamic_age_tier divide un valor de edad de la columna ${TABLE}.age subyacente (por ejemplo, 25) entre el valor del parámetro 10, lo que da como resultado 2,5. La función TRUNCATE trunca el valor 2,5 a 2, que se multiplica por el valor del parámetro 10, lo que da como resultado 20. 20 se convierte en el segmento. Cualquier valor de edad entre 20 y 29 se incluye en el segmento 20.