Créer des niveaux dynamiques

Les niveaux peuvent être un excellent moyen de séparer les valeurs. Toutefois, avec les dimensions LookML type: tier, ces buckets sont prédéfinis et statiques. Vous pouvez parfois vouloir créer un niveau dynamique permettant aux utilisateurs de modifier la taille du bucket. Vous pouvez le faire dans Looker en utilisant des champs de filtre uniquement (appelés paramètres parameter) conjointement avec un langage de création de modèles (appelé Liquid).

Vous pouvez également utiliser le binning personnalisé pour créer des niveaux dynamiques de manière native dans la section "Explorations" lorsque vous êtes autorisé à créer ou à modifier des champs personnalisés.

Pour créer un niveau dynamique:

  1. Créez un paramètre type: number qui servira de champ de filtre d'interface dans lequel l'utilisateur pourra saisir la taille numérique de son choix.
  2. 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 dynamiquement la taille du bucket en fonction de la valeur saisie par l'utilisateur dans le champ de filtre de l'interface (paramètre parameter).

Par exemple, un développeur crée une tranche d'âge dynamique qui permet aux utilisateurs de regrouper des valeurs d'âge par plage personnalisée:

La syntaxe SQL de l'exemple suivant devra peut-être ê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 %} ;;
  }

L'utilisateur peut désormais choisir des valeurs de niveau pour la colonne Âge dans l'onglet "Explorer". Par exemple, si un utilisateur souhaite regrouper des tranches d'âge de 10 ans, saisissez la valeur 10 dans le filtre Tranche d'âge.

Explorer avec le niveau d'âge dynamique et le nombre d'utilisateurs filtrés par la valeur 10 dans le filtre "Segment d'âge des utilisateurs selon la taille du bucket".

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 de paramètre de 10, ce qui donne 2,5. La valeur 2,5 est tronquée à 2 par la fonction TRUNCATE et multipliée par la valeur de paramètre 10, soit 20. 20 devient le bucket. Toute valeur d'âge comprise entre 20 et 29 ans est incluse dans le bucket 20.