constante

Utilisation

constant: constant_name {
  value: "string"
  export: none | override_required | override_optional
}
Hiérarchie
constant
Valeur par défaut
Aucun

Acceptation
  • Sous-paramètre value, qui accepte une chaîne spécifiant la valeur de la constante
  • Sous-paramètre export qui indique si la constante doit être remplacée lorsqu'elle est utilisée dans des projets d'importation

Définition

Le paramètre constant définit une constante LookML, ce qui vous permet de spécifier une valeur qui peut être réutilisée dans un projet. Les constantes peuvent être référencées n'importe où dans le modèle où les chaînes sont acceptées et avec les paramètres model et explore d'un élément de tableau de bord LookML, ce qui permet de réduire les répétitions dans votre code LookML.

Les constantes doivent être définies dans le fichier manifeste du projet. Les constantes peuvent ensuite être utilisées dans un projet à l'aide de la syntaxe @{constant_name}.

Vous pouvez utiliser le sous-paramètre export de constant pour spécifier si les développeurs doivent remplacer la valeur d'une constante lorsque les fichiers qui la référencent sont importés dans un autre projet.

export

Vous pouvez utiliser le sous-paramètre export de constant pour déterminer comment une constante peut être utilisée lorsque les fichiers qui référencent cette constante sont importés dans d'autres projets.

Par défaut, les fichiers importés qui font référence à une constante utilisent la valeur spécifiée dans le fichier manifeste du projet importé dans le projet importateur. Le paramètre export indique si les développeurs doivent remplacer la valeur d'une constante en fournissant une nouvelle valeur à utiliser pour cette constante dans les projets d'importation. Le paramètre export peut prendre les valeurs suivantes :

  • none : valeur par défaut pour export. La valeur de la constante ne peut pas être remplacée dans le projet importateur. Le projet importateur utilise la valeur constante spécifiée dans le fichier manifeste du projet importé.
  • override_optional : la valeur de la constante peut éventuellement être remplacée dans votre projet d'importation. Si aucune valeur n'est fournie dans le fichier manifeste du projet importateur, la valeur d'origine du projet importé est utilisée.
  • override_required : le projet importateur doit remplacer la valeur constante initialement spécifiée dans le fichier manifeste du projet importé. Si aucune nouvelle valeur constante n'est fournie dans le projet importateur, Looker affichera une erreur.

Les constantes ne sont disponibles que pour les fichiers du projet dans lequel elles sont définies à l'origine. Par conséquent, les constantes définies dans un projet dont vous avez importé les fichiers ne peuvent être utilisées que par les fichiers importés, et non par les fichiers définis dans le projet importateur.

Si vous souhaitez utiliser une constante dans les fichiers du projet importateur, vous devez définir une nouvelle constante dans le fichier manifeste du projet importateur. Une constante définie de cette manière ne sera disponible que pour les fichiers définis dans le projet importateur.

Lorsque vous importez des fichiers qui font référence à une constante dans un autre projet, vous pouvez utiliser le sous-paramètre override_constant de local_dependency ou remote_dependency dans le fichier manifeste du projet importateur pour fournir une nouvelle valeur à une constante dont export est défini sur override_optional ou override_required.

Pour en savoir plus et obtenir un exemple de remplacement des constantes dans les projets d'importation, consultez la page de documentation Importer des fichiers d'autres projets.

Exemples

Voici quelques exemples d'utilisation du paramètre constant pour définir des valeurs pouvant être utilisées dans un projet.

Identifier les explorations avec le paramètre constant

Imaginons que vous souhaitiez créer deux explorations, intitulées Utilisateurs de San Francisco et Commandes de San Francisco dans l'UI. Pour ce faire, vous pouvez définir une constante city avec la valeur "San Francisco" dans le fichier manifest.lkml de votre projet :

constant: city {
  value: "San Francisco"
}

Cette constante peut ensuite être référencée dans n'importe quelle partie de votre projet où une chaîne est acceptée, à l'aide de la syntaxe @{city}. Dans cet exemple, vous pouvez définir les explorations users et orders en spécifiant "@{city} Users" et "@{city} Orders" comme valeurs pour le paramètre label, comme dans l'exemple suivant :


explore: users {
  label: "@{city} Users"
}

explore: orders {
  label: "@{city} Orders"
}

Dans cet exemple, Looker affiche Utilisateurs de San Francisco et Commandes de San Francisco dans le menu "Explorer" et dans les titres des explorations, au lieu des libellés par défaut Utilisateurs et Commandes.

Utiliser le paramètre sql_table_name avec des constantes

Supposons que vous souhaitiez créer plusieurs vues basées sur des tables du schéma 02349_sfo. Pour éviter d'avoir à spécifier la valeur 02349_sfo plusieurs fois, vous pouvez créer une constante nommée schema dans le fichier manifest.lkml de votre projet, comme suit :


constant: schema {
  value: "02349_sfo"
}

Vous pouvez ensuite créer des vues basées sur le schéma 02349_sfo en spécifiant @{schema}.view_name comme valeur du paramètre sql_table_name :


view: users {
  sql_table_name: @{schema}.users ;;
}

Cette action crée une vue appelée Users (Utilisateurs) basée sur la table users du schéma 02349_sfo.

Utiliser des variables Liquid et du code HTML avec des constantes

Imaginez que vous souhaitez que les valeurs de données négatives s'affichent entre parenthèses et en rouge. En définissant cette mise en forme comme valeur d'une constante LookML, vous pouvez la spécifier une seule fois à l'aide des variables Liquid et du HTML. Vous pouvez ensuite faire référence à la constante chaque fois que vous souhaitez appliquer ce format à un champ.

Par exemple, vous pouvez créer une constante negative_format pour appliquer ce format à un champ :


constant: negative_format {
  value: "{% if value < 0 %}<p style='color:red;'>({{rendered_value}})</p>{% else %} {{rendered_value}} {% endif %}"
}

Cela crée une constante negative_format qui spécifie que les valeurs de données négatives doivent avoir une police rouge et être entourées de parenthèses. Vous pouvez ensuite appliquer ce format aux dimensions et aux mesures de votre ensemble de données à l'aide du paramètre html.

Par exemple, vous pouvez créer une mesure Montant total de type: sum et spécifier @{negative_format} comme valeur du paramètre html :


measure: total_amount {
  type: sum
  value_format_name: usd
  sql: ${amount} ;;
  html: @{negative_format} ;;
}

Dans votre tableau, les valeurs négatives de la mesure Montant total seront mises en forme comme spécifié dans la définition de la constante negative_format, avec une police rouge et entre parenthèses.

Utiliser des constantes dans les tableaux de bord LookML

Lorsque vous définissez un élément de tableau de bord pour un tableau de bord LookML, vous pouvez utiliser des constantes LookML pour définir le modèle et l'exploration sur lesquels un élément est basé.

Par exemple, supposons que vous ayez défini les constantes model_name et explore_name dans le fichier manifest.lkml de votre projet :


constant: model_name {
  value: "thelook"
}

constant: explore_name {
  value: "orders"
}

Dans votre fichier de tableau de bord, vous pouvez définir la valeur de model sur "@{model_name}" et celle de explore sur "@{explore_name}" pour tous les éléments de tableau de bord que vous souhaitez baser sur le modèle thelook et l'exploration orders.

Par exemple, supposons que vous modifiiez le code LookML d'un élément de graphique à barres. Dans le fichier du tableau de bord, vous pouvez spécifier les valeurs des paramètres model et explore comme suit :


- dashboard: dashboard_name
  title: "dashboard title"
  layout: newspaper
  elements:
  - title: Element Title
    name: element_name
    model: "@{model_name}"
    explore: "@{explore_name}"
    type: looker_column

Bon à savoir

Faire référence à des constantes dans une définition de constante

Lorsque vous définissez une constante, vous pouvez faire référence à d'autres constantes définies dans le fichier manifeste de votre projet. Supposons que vous ayez déjà déclaré une constante city :


constant: city {
  value: "San Francisco"
}

Vous pouvez ensuite déclarer une constante state qui fait référence à la constante city :


constant: city_state {
  value: "@{city}, California"
}

La constante state sera résolue en chaîne "San Francisco, Californie".

Syntaxe des constantes d'échappement

Lorsque vous souhaitez écrire une chaîne qui ressemble à une syntaxe constante, mais que vous ne voulez pas que cette chaîne soit évaluée comme une constante, vous pouvez échapper la syntaxe constante à l'aide du caractère d'échappement barre oblique inverse \ après le caractère @. Exemple :


dimension: id {
  type: string
  label: "@\{id}"
  sql: ${TABLE}.id
}

Dans cet exemple, le paramètre label affiche la chaîne @{id} comme libellé de la dimension id, au lieu d'évaluer la constante id et d'afficher sa valeur.

Les références constantes ne seront pas évaluées si les crochets ne sont pas fermés. Dans ce cas, il n'est pas nécessaire d'échapper la syntaxe constante. Par conséquent, @{id dans l'exemple suivant ne serait pas évalué comme une constante.


dimension: id {
  type: string
  label: "@{id"
  sql: ${TABLE}.id
}