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:
-
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. -
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ámetroparameter
).
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:
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.