Utiliser Liquid dans les libellés de façon intéressante

Cette page présente des façons utiles d'utiliser le champ parameter de Looker avec certains des sous-paramètres label qui acceptent les variables Liquid.

Pour consulter les exemples présentés sur cette page, vous devez connaître Liquid. Pour en savoir plus sur l'utilisation de Liquid dans Looker, consultez la page de documentation de référence sur les variables Liquid.

Utiliser view_label pour les noms d'affichages dynamiques

Le paramètre view_label de Looker permet de regrouper des dimensions sous un nom plus contextuel et plus convivial dans le sélecteur de champ d'exploration. Pour en savoir plus sur les libellés de vue, consultez la page de documentation view_label (pour les champs).

L'attribution du même view_label aux dimensions simplifie les explorations pour les utilisateurs. Des groupes de champs clairs et descriptifs permettent aux utilisateurs de trouver les données dont ils ont besoin.

Exemple : Écrire du code DRY (Don't Repeat Yourself) avec un view_label Liquid

Par exemple, supposons que certains de vos champs soient organisés sous la rubrique view_label Finance et Comptabilité dans une exploration appelée Éléments d'inventaire:

dimension: cost {
  view_label: "Finance & Accounting"
  type: number
  sql: ${TABLE}.COST ;;
}

dimension: cost_ex_vat { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST_EX_VAT ;; }

dimension: cost_eur { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST_EUR ;; }

Que se passe-t-il si vous souhaitez remplacer Finance et comptabilité par Zone d'argent pour les utilisateurs ? L'utilisation de Liquid peut éviter de réécrire le code de manière répétitive.

Vous pouvez créer un type de pseudo-variable du nom de la vue souhaitée à l'aide du champ parameter de Looker. Lorsque vous modifiez le nom de la vue dans parameter, tous les champs sont mis à jour.

parameter: view_label {
  type: string
  default_value: "The Money Zone"
}

dimension: cost { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST ;; }

dimension: cost_ex_vat { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST_EX_VAT ;; }

dimension: cost_eur { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST_EUR ;; }

Sélecteur de champ "Explorer les articles de l'inventaire" affichant les champs "Coût", "Coût en euros" et "Coût hors TVA" sous l'étiquette de vue "Zone d'argent".

Remarque:Si vous ne souhaitez pas que les guillemets s'affichent dans le menu, parameter doit être défini sur type:unquoted, et default_value doit être une chaîne sans espaces, par exemple The_Money_Zone. Si le paramètre est type:string, les guillemets apparaîtront.

Libellés de champ dynamiques

Plusieurs groupes d'utilisateurs peuvent interpréter le nom d'un champ différemment. Par exemple, certains utilisateurs peuvent appeler la marge brute une marge opérationnelle, tandis que d'autres peuvent l'appeler une marge standard, selon leur cas d'utilisation.

Le nom d'un champ peut être différent pour chaque utilisateur en fonction de la façon dont vous combinez les attributs utilisateur et les variables Liquid.

Exemple: Différents libellés pour différents attributs utilisateur

En extrapolant l'exemple précédent, vous pouvez prendre en compte les différences de logique métier en faisant apparaître le champ Marge brute sous la forme Marge standard pour certains utilisateurs et Marge d'exploitation pour d'autres. Le code LookML suivant exploite les attributs utilisateur et les variables Liquid.

dimension: gross_margin {
  label: "{% if _user_attributes['customer'] == 'A' %} Standard Margin
    {% elsif _user_attributes['customer'] == 'B' %} Operating Margin
    {% else %} Gross Margin
    {% endif %}"
  type: number
  value_format_name: usd
  sql: ${sale_price} - ${inventory_items.cost} ;;
}

Selon le code LookML, le champ Marge brute apparaît sous la forme Marge d'exploitation dans le sélecteur de champs d'exploration pour l'utilisateur A.

Selon le code LookML, le champ Marge brute apparaît sous la forme Marge standard dans le sélecteur de champs d'exploration pour l'utilisateur B.

Ce modèle peut également être utilisé pour créer une localisation de bas niveau par utilisateur, comme illustré dans l'exemple suivant.

Exemple: noms de champs personnalisés pour plusieurs explorations

Cet exemple combine les techniques des exemples précédents pour créer une exploration avec des libellés de champ qui varient en fonction de la région de l'utilisateur.

Dans cet exemple, deux équipes régionales (Finance East et Finance West) utilisent une exploration intitulée Ventes de l'entreprise. Les deux équipes doivent utiliser les métriques Bénéfice total et Revenus totaux dans leurs requêtes :

measure: total_profit {
  label: "{{ _explore._name}}: Profit"
  type: sum
  sql: ${profit} ;;
}

measure: total_revenue { label: "{{ _explore._name}}: Revenue" type: sum sql: ${sale_price} ;; value_format_name: usd }

Cependant, chaque équipe souhaite que le nom de terrain reflète la région de son équipe.

Les développeurs peuvent afficher les noms des champs différemment pour les utilisateurs de Finance East et de Finance West. Pour ce faire, il peut utiliser DRY LookML avec les paramètres Liquid suivants :

  • Le paramètre from spécifie la vue sous-jacente des explorations.
  • Le explore_label permet d'afficher le même nom pour les deux explorations avec alias ("Ventes d'entreprise") afin de créer une expérience d'exploration par ailleurs identique pour les deux équipes.
  • Les étiquettes des mesures peuvent être modifiées en fonction de la région de l'équipe grâce à la variable Liquid {{ _explore._name}}, qui capture et affiche le nom de l'exploration.
  • Les explorations:

    explore: Finance_East{
      from: order_items
      label: "Company Sales"
      view_label: "The Money Zone"
    }
    

    explore: Finance_West{ from: order_items label: "Company Sales" view_label: "The Money Zone" }

    Lors de l'exploration, l'équipe Finance East voit le champ Total profit (Bénéfice total) comme Finance_East: Profit (Finance_Est : Bénéfice) et le champ Total Revenue (Revenu total) comme Finance_East: Revenue (Revenus).

    Lors de l'exploration, l'équipe Finance West voit le champ Total profit (Bénéfice total) comme Finance_West: Profit (Finance_West : Bénéfice) et le champ Total Revenue (Revenu total) comme Finance_West: Revenue (Finance_West : Chiffre d'affaires).

    Pour découvrir d'autres façons de personnaliser l'affichage des champs pour les utilisateurs, consultez la page de documentation Modifier le menu Exploration et le sélecteur de champs.