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 LookML constant dans le fichier manifeste de votre projet pour définir une chaîne utilisable dans tout votre projet. Les constantes LookML peuvent être utiles lorsque vous devez définir une chaîne spécifique, comme un nombre, un nom ou une mise en forme HTML pour des valeurs de champ, et réutiliser cette valeur dans l'ensemble de votre projet.

Cette page comprend les exemples suivants d'utilisation de constantes LookML pour définir et gérer des valeurs de chaînes réutilisables en une seule fois:

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 (Utilisateurs de San Francisco) et San Francisco Orders (Commandes à San Francisco) dans l'interface utilisateur, sans avoir à saisir manuellement le texte de chaque étiquette.

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 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 la Bay Area.

Plutôt que de 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 Bay Area à plusieurs endroits. Les références à San Francisco par la constante place_name seront remplacées par Bay Area (Région de la baie de San Francisco). Looker affichera donc Bay Area Users (Utilisateurs dans la région de la baie de San Francisco) et Bay Area Orders (Commandes dans la région de la baie de San Francisco) dans le menu Exploration et dans les titres des explorations.

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

Imaginez que vous souhaitiez que les valeurs de données négatives s'affichent en rouge et entre parenthèses partout où elles apparaissent dans les graphiques ou les 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 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 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 Total Amount (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 faire référence à la constante negative_format dans le paramètre html pour ces champs.