constante

Utilisation

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

Acceptation
  • Un sous-paramètre value qui accepte une chaîne spécifiant la valeur de la constante
  • Un sous-paramètre export qui spécifie si la constante doit être remplacée lors de l'importation de projets

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 de export. 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 %}&#60;p style=&#92;"color:red; &#92;">({{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: "@&#92;{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
}