Utilisation
value: "string"
export: none | override_required | override_optional
}
Hiérarchie
constant |
Valeur par défaut
AucunAcceptation
|
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. Vous pouvez référencer les constantes 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 du tableau de bord LookML. Cela permet de réduire la répétition dans votre code LookML.
Les constantes doivent être définies dans le fichier manifeste du projet. Les constantes peuvent ensuite être utilisées dans tout un projet à l'aide de la syntaxe @{constant_name}
.
Vous pouvez utiliser le sous-paramètre export
de constant
pour indiquer si les développeurs doivent remplacer la valeur d'une constante lorsque les fichiers qui y font référence 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 des 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 en cours d'importation. Le paramètre export
indique si les développeurs doivent remplacer la valeur d'une constante en fournissant une nouvelle valeur à utiliser pour l'importation des projets. Le paramètre export
peut avoir les valeurs suivantes:
none
: valeur par défaut deexport
. La valeur de la constante ne peut pas être remplacée dans le projet d'importation. Le projet d'importation 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 d'importation, la valeur d'origine du projet importé est utilisée.override_required
: le projet d'importation doit remplacer la valeur constante spécifiée dans le fichier manifeste du projet importé. Si aucune nouvelle valeur constante n'est fournie dans le projet d'importation, Looker affiche une erreur.
Les constantes ne sont disponibles que pour les fichiers du projet dans lequel elles ont été définies initialement. Par conséquent, les constantes définies dans un projet dont les fichiers que vous avez importés ne peuvent être utilisées que par les fichiers importés, et non par les fichiers définis dans le projet d'importation.
Si vous souhaitez utiliser une constante dans les fichiers du projet d'importation, vous devez définir une nouvelle constante dans le fichier manifeste du projet d'importation. Une constante définie de cette manière ne sera disponible que pour les fichiers définis dans le projet d'importation.
Lorsque vous importez des fichiers qui référencent 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 d'importation afin de fournir une nouvelle valeur pour une constante dont export
est défini sur override_optional
ou override_required
.
Pour en savoir plus et voir un exemple de remplacement de constantes dans l'importation de projets, consultez la page de documentation Importer des fichiers à partir d'autres projets.
Examples
Voici quelques exemples d'utilisation du paramètre constant
pour définir des valeurs utilisables dans un projet.
Étiqueter des explorations avec le paramètre constant
Supposons que vous souhaitiez créer deux explorations, intitulées Utilisateurs de San Francisco et Commandes pour San Francisco dans l'interface utilisateur. 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 toute 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 San Francisco Users (Utilisateurs de San Francisco) et San Francisco Orders (Commandes San Francisco) dans le menu Explorer et dans les titres des explorations, plutôt que les libellés par défaut Users (Utilisateurs) et Orders (Commandes) :
Utiliser le paramètre sql_table_name
avec des constantes
Supposons que vous souhaitiez créer plusieurs vues en fonction des tables du schéma 02349_sfo
. Pour éviter de devoir spécifier la valeur 02349_sfo
plusieurs fois, créez 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 ;;
}
Cela crée une vue appelée Users basée sur la table users
à partir du schéma 02349_sfo
.
Utiliser des variables Liquid et du code HTML avec des constantes
Imaginez que vous souhaitiez afficher les valeurs de données négatives entre parenthèses et dans une police 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 code HTML. Ensuite, vous pouvez référencer la constante chaque fois que vous souhaitez appliquer cette mise en forme à un champ.
Par exemple, vous pouvez créer une constante negative_format
avec laquelle appliquer cette mise en forme à un champ:
constant: negative_format {
value: "{% dynamic if value < 0 %}<p style=\"color:red; \">({{rendered_value}})</p>{% dynamic else %} {{rendered_value}} {% dynamic endif %}"
}
Cela crée une negative_format
constante 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 cette mise en forme aux dimensions et aux mesures de votre ensemble de données à l'aide du paramètre html
.
Par exemple, vous pouvez créer la 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 Total Amount (Montant total) sont mises en forme comme spécifié dans la définition constante negative_format
, avec une police rouge et entourée de 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 la base de l'exploration.
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 la valeur de explore
sur "@{explore_name}"
pour tous les éléments du tableau de bord que vous souhaitez utiliser comme modèles thelook
et Explorer orders
.
Par exemple, supposons que vous modifiiez LookML pour un élément de graphique à colonnes. 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 constante
Lorsque vous définissez une constante, vous pouvez référencer 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
dans l'exemple ci-dessus:
constant: city_state {
value: "@{city}, California"
}
La constante state
déclarée ci-dessus sera remplacée par la chaîne "San Francisco, Californie".
Échappement de la syntaxe constante
Lorsque vous souhaitez écrire une chaîne ressemblant à une syntaxe constante, mais que vous ne souhaitez pas l'évaluer comme constante, vous pouvez échapper la syntaxe constante à l'aide du caractère d'échappement de la barre oblique inverse \` after the
@`. Exemple :
dimension: id {
type: string
label: "@\{id}"
sql: ${TABLE}.id
}
Dans l'exemple ci-dessus, le paramètre label
affiche la chaîne @{id} comme libellé pour la dimension id
, plutôt que d'évaluer la constante id
et de générer sa valeur.
Les références aux constantes ne sont 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. Ainsi, @{id
dans l'exemple ci-dessous ne serait pas évalué comme une constante.
dimension: id {
type: string
label: "@{id"
sql: ${TABLE}.id
}