Maximiser la réutilisation du code avec LookML DRY: définir une chaîne une fois pour l'utiliser dans l'ensemble de votre projet LookML

Vous pouvez utiliser le paramètre constant LookML dans le fichier manifeste de votre projet pour définir une chaîne pouvant être utilisée 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 un format HTML pour les valeurs de champ) et réutiliser cette valeur dans l'ensemble de votre projet.

Cette page contient les exemples suivants d'utilisation de constantes LookML pour définir et gérer des valeurs de chaîne réutilisables au même endroit:

Ingrédients

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 Utilisateurs de San Francisco et Commandes de San Francisco dans l'interface utilisateur, mais que vous ne souhaitiez pas 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"
}

Vous pouvez ensuite référencer cette constante 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 pour le 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 "Explorer" et dans les titres des explorations, au lieu des libellés par défaut Utilisateurs et Commandes.

Supposons que vous souhaitiez remplacer toutes les références à San Francisco par Baie de San Francisco.

Plutôt que de mettre à jour chaque référence manuellement, vous n'avez qu'à modifier une seule fois la constante place_name dans le fichier manifeste de votre projet:

constant: place_name {
  value: "Bay Area"
}

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

Exemple: Appliquer le même formatage aux valeurs négatives de plusieurs champs

Imaginons que vous souhaitiez que les valeurs de données négatives soient affichées en rouge et entre parenthèses partout où elles apparaissent dans des graphiques ou des requêtes.

En définissant ce format comme valeur d'une constante LookML, vous pouvez spécifier le format une seule fois à l'aide de variables Liquid et de HTML. Vous pouvez ensuite faire référence à la constante chaque fois que vous souhaitez appliquer ce formatage à un champ.

Par exemple, vous pouvez créer une constante appelée negative_format que vous pouvez utiliser pour appliquer ce formatage à un champ:


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

Ce code crée la constante negative_format, qui spécifie que les valeurs de données négatives doivent être affichées en rouge et entourées de parenthèses. Vous pouvez ensuite appliquer ce formatage 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 pour le 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, en rouge et entre parenthèses.

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