Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les niveaux peuvent être un excellent moyen de regrouper des valeurs. Toutefois, avec les dimensions type: tier LookML, ces buckets sont prédéfinis et statiques. Il peut arriver que vous souhaitiez créer un niveau dynamique permettant aux utilisateurs de modifier la taille des buckets. Pour ce faire, utilisez des champs de filtre uniquement (appelés paramètres parameter) avec un langage de création de modèles (Liquid).
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 fait référence à la valeur du paramètre avec 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ètre parameter).
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.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/31 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/31 (UTC)."],[],[],null,["# Creating dynamic tiers\n\nTiers can be a great way to bucket values. However, with LookML [`type: tier`](/looker/docs/reference/param-dimension-filter-parameter-types#tier) dimensions, those buckets are predefined and static. Sometimes you may want to create a dynamic tier that lets users change the bucket size. You can do this in Looker using filter-only fields (called [`parameter` parameters](/looker/docs/reference/param-field-parameter)) in conjunction with a templating language (called [Liquid)](/looker/docs/liquid-variable-reference).\n\n\nYou can also use [custom binning](/looker/docs/custom-fields#custom_binning) to create dynamic tiers natively in Explores when you have [permission to create or edit custom fields](/looker/docs/admin-panel-users-roles#create_custom_fields).\n\n\nTo create a dynamic tier:\n\n1. Create a parameter of `type: number` to serve as the frontend filter field where the user can enter the numerical bucket size they would like.\n2. Create a dimension that references the parameter value with the Liquid variable [`{% parameter parameter_name %}`](/looker/docs/liquid-variable-reference#liquid_variable_definitions). This dimension determines the various buckets and will dynamically change the bucket size to the value entered by the user in the frontend filter field (the `parameter` parameter).\n\n\nFor example, a developer creates a dynamic age tier that lets users bucket age values by custom ranges:\nThe SQL syntax for the following example may need to be adapted to suit your database dialect. \n\n```\n parameter: age_tier_bucket_size {\n type: number\n }\n\n dimension: dynamic_age_tier {\n type: number\n sql: TRUNCATE(${TABLE}.age / {% parameter age_tier_bucket_size %}, 0)\n * {% parameter age_tier_bucket_size %} ;;\n }\n```\n\n\nA user can now choose tier values for the **Age** column in an Explore. For example, a user might want to see ages grouped into 10-year buckets and so enter the value **10** in the **Age Tier Bucket Size** filter:\n\n\nThe SQL expression in the `dynamic_age_tier` dimension divides an age value from the underlying `${TABLE}.age` column --- for example, 25 --- by the parameter value of 10, resulting in 2.5. The value 2.5 is truncated to 2 by the `TRUNCATE` function and is multiplied by the parameter value 10, resulting in 20. 20 becomes the bucket; any age value between 20 and 29 is included in the **20** bucket.\n\n\u003cbr /\u003e"]]