Optimiser la réutilisation du code avec DRY LookML: définir une chaîne à utiliser une seule fois dans votre projet LookML

Vous pouvez utiliser le paramètre LookML constant dans le fichier manifeste de votre projet pour définir une chaîne à utiliser dans l'ensemble de votre projet. Les constantes LookML peuvent être utiles lorsque vous devez définir une chaîne spécifique (par exemple, un nombre, un nom ou une mise en forme HTML pour les valeurs de champ) et réutiliser cette valeur dans l'ensemble de votre projet.

Cette page inclut les exemples suivants d'utilisation de constantes LookML pour définir et gérer des valeurs de chaînes réutilisables en un seul endroit:

Composants

Prérequis

Exemple: utiliser la même chaîne dans les libellés de plusieurs explorations

Supposons que vous souhaitiez créer deux explorations, intitulées San Francisco Users et San Francisco Orders dans l'interface utilisateur, mais sans saisir manuellement le texte de chaque libellé.

Pour ce faire, vous pouvez définir une constante place_name avec la valeur "San Francisco" dans le fichier manifeste du projet de votre projet:

constant: place_name {
  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 @{place_name}. Dans cet exemple, vous pouvez définir les explorations users et orders, en spécifiant "@{place_name} Users" et "@{place_name} Orders" comme valeurs du paramètre label, comme dans l'exemple suivant:


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

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

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

Supposons que vous souhaitiez remplacer toutes les références à San Francisco par Région de la baie de San Francisco.

Plutôt que d'avoir à mettre à jour chaque référence manuellement, il vous suffit d'effectuer une seule mise à jour de la constante place_name dans le fichier manifeste de votre projet:

constant: place_name {
  value: "Bay Area"
}

Comme vous avez défini la constante place_name, vous n'avez pas besoin de remplacer manuellement San Francisco par Région de la baie de San Francisco à plusieurs endroits. Les références à San Francisco avec la constante place_name seront remplacées par Région de la baie de San Francisco. Looker affichera donc Utilisateurs de la région de la baie de San Francisco et Commandes dans la région de la baie de San Francisco dans le menu "Explorer" et dans le titre des explorations.

Exemple: Appliquer la même mise en forme aux valeurs négatives pour plusieurs champs

Imaginez que vous souhaitiez que les valeurs de données négatives soient affichées en rouge et entre parenthèses, là où elles apparaissent dans les rapports.

En définissant ce format comme valeur d'une constante LookML, vous pouvez spécifier la mise en forme une seule fois à l'aide des variables Liquid et de HTML. Vous pouvez ensuite 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 appelée negative_format que vous pouvez utiliser pour 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 %}"
}

Ce code crée la constante negative_format, qui spécifie que les valeurs de données négatives doivent être indiquées en rouge et 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 Total Amount (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 (Quantité totale) seront mises en forme comme indiqué dans la définition de la constante negative_format, avec une police rouge et entourées de parenthèses.

Si vous souhaitez appliquer la même mise en forme aux valeurs négatives d'autres champs, vous pouvez référencer la constante negative_format dans le paramètre html de ces champs.