Les niveaux peuvent être un excellent moyen de regrouper des valeurs. Toutefois, avec les dimensions LookML type: tier
, ces buckets sont prédéfinis et statiques. Parfois, vous souhaiterez peut-être créer un niveau dynamique permettant aux utilisateurs de modifier la taille du bucket. Pour ce faire, dans Looker, utilisez des champs de filtre uniquement (appelés paramètres parameter
) en association avec un langage de création de modèles (Liquid).
Vous pouvez également utiliser le binning personnalisé pour créer des niveaux dynamiques en mode natif dans les explorations lorsque vous disposez de l'autorisation de créer ou de modifier des champs personnalisés.
Pour créer un niveau dynamique:
-
Créez un paramètre
type: number
qui servira de champ de filtre côté client, dans lequel l'utilisateur pourra saisir la taille de bucket numérique souhaitée. -
Créez une dimension qui référence la valeur du paramètre à l'aide de la variable Liquid
{% parameter parameter_name %}
. Cette dimension détermine les différents buckets et modifie de manière dynamique la taille des buckets en fonction de la valeur saisie par l'utilisateur dans le champ de filtre du frontend (paramètreparameter
).
Par exemple, un développeur crée un niveau d'âge dynamique qui permet aux utilisateurs de regrouper les valeurs d'âge par plages personnalisées :
La syntaxe SQL de l'exemple suivant peut nécessiter d'être adaptée au dialecte de votre base de données.
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 %} ;; }
Un utilisateur peut désormais choisir des valeurs de niveau pour la colonne Âge dans une exploration. Par exemple, un utilisateur peut vouloir voir les âges regroupés par tranches de 10 ans. Il doit alors saisir la valeur 10 dans le filtre Taille des buckets par tranche d'âge :
L'expression SQL de la dimension dynamic_age_tier
divise une valeur d'âge de la colonne ${TABLE}.age
sous-jacente (par exemple, 25) par la valeur du paramètre (10), ce qui donne 2,5. La valeur 2,5 est tronquée à 2 par la fonction TRUNCATE
et est multipliée par la valeur du paramètre 10, ce qui donne 20. 20 devient le bucket ; toute valeur d'âge comprise entre 20 et 29 est incluse dans le bucket 20.