Le paramètre LookML set
est un moyen d'améliorer l'efficacité et la gestion de vos projets LookML. Le paramètre set
vous permet de regrouper des champs qui peuvent souvent être répétés tout au long de votre projet dans le paramètre fields
ou dans des champs d'analyse. Si vous utilisez un ensemble pour regrouper des champs répétés, vous créez un emplacement unique dans le modèle, où ce groupe de champs peut être conservé.
Cette page inclut les exemples suivants d'utilisation d'ensembles LookML pour rendre vos projets LookML plus efficaces et faciles à gérer:
- Ajouter les mêmes champs d'analyse à plusieurs mesures: définissez des champs d'analyse détaillée pour les informations que vos utilisateurs souhaitent généralement consulter lorsqu'ils détaillent des agrégations.
- Inclure ou omettre un ensemble de champs d'une exploration: personnalisez l'expérience d'exploration pour les utilisateurs et simplifiez la liste des champs qu'ils peuvent choisir dans le sélecteur de champs.
Composants
- Paramètre
set
LookML - Le paramètre LookML
fields
(pour les explorations) - Le paramètre
drill_fields
de LookML (pour les champs) - Le paramètre
drill_fields
de LookML (pour les vues)
Prérequis
Exemple: Ajouter les mêmes champs d'analyse à plusieurs mesures
Supposons que vous souhaitiez que les utilisateurs puissent accéder à des données plus détaillées sur les utilisateurs lorsqu'ils consultent des métriques de ventes dans un rapport. Ainsi, sélectionner une valeur pour la mesure Nombre dans l'interface Explorer permet d'ouvrir une requête dans les champs ID, Ville, État et Pays:
Vous pouvez créer un ensemble appelé user_details
qui inclut les champs id
, city
, state
et country
, puis les référencer dans plusieurs mesures afin que vos utilisateurs puissent les examiner en détail:
set: user_details {
fields: [id, city, state, country]
}
L'ensemble user_details
peut être utilisé afin de définir un champ de perçage pour la mesure count
:
measure: count {
type: count
drill_fields: [user_details*]
}
Dans cet exemple, la syntaxe [set_name*]
permet d'indiquer que les champs de user_details
apparaissent dans les résultats de la requête lorsque vous affichez le détail de la mesure Count.
Vous pouvez ensuite réutiliser cet ensemble pour créer des champs d'analyse supplémentaires. Par exemple, vous pouvez ajouter le code LookML drill_fields: [user_details*]
aux mesures order_count
, total_sale_price
et average_sale_price
:
measure: order_count {
view_label: "Orders"
type: count_distinct
description: "Number of orders"
sql: ${order_id} ;;
drill_fields: [user_details*]
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [user_details*]
}
measure: average_sale_price {
type: average
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [user_details*]
}
Comme pour la mesure Nombre, lorsqu'un utilisateur sélectionne une valeur pour Nombre de commandes, Prix de vente total ou Prix de vente moyen dans l'interface utilisateur Explorer, Looker ouvre une fenêtre contenant une requête sur les champs ID, Ville, État et Pays.
Si vous souhaitez modifier des champs d'analyse détaillée, par exemple pour ajouter ou supprimer un champ, il vous suffit de mettre à jour l'ensemble user_details
.
Vous pouvez également référencer un ensemble dans le paramètre drill_fields
d'une vue afin de définir des champs d'analyse pour toutes les mesures de cette vue pour lesquelles aucun champ d'analyse n'a encore été spécifié au niveau du champ.
Exemple: Inclure ou omettre un ensemble de champs dans une exploration
Supposons que vous souhaitiez simplifier le sélecteur de champs d'exploration pour les utilisateurs en excluant des champs qui ne sont pas essentiels pour eux.
Par exemple, supposons que vous disposiez d'une vue users
contenant des informations sur vos clients, y compris des champs ID, First Name, Last Name, Email et Age, ainsi que des champs de localisation tels que City, State, Country et Zip. La vue users
est jointe à l'exploration orders
:
Comment faire si vous voulez exclure de l'exploration pour vos utilisateurs les champs Prénom, Nom, Adresse e-mail, Âge et Sexe ? Vous pouvez créer un ensemble appelé user_info
qui répertorie les champs que vous souhaitez exclure de l'exploration Commandes:
Le code LookML de l'ensemble user_info
se présente comme suit:
set: user_info {
fields: [first_name, last_name, email, age, gender]
}
Pour définir une exploration Commandes avec le libellé Commandes sans données utilisateur, joignez la vue users
à l'exploration orders
. Ajoutez le code LookML fields: [ALL_FIELDS*, -users.user_info*]
à l'exploration orders
pour inclure tous les champs, à l'exception de ceux du user_info
définis à partir de la vue users
:
explore: orders {
fields: [ALL_FIELDS*, -users.user_info*]
label: "Orders Without User Data"
join: users {
type: left_outer
sql_on: ${orders.user_id} = ${users.id} ;;
relationship: many_to_one
}
}
Étant donné que l'ensemble user_details
est exclu de l'exploration avec la syntaxe -users.user_details*
dans le paramètre fields
de l'exploration orders
, la vue Commandes de l'exploration Commandes sans données utilisateur omet les champs répertoriés dans l'ensemble users_user.info
à partir du sélecteur de champs de l'exploration.
Vous pouvez réutiliser l'ensemble user_info
pour omettre ces champs de l'interface utilisateur d'exploration pour toutes les autres explorations auxquelles la vue users
est jointe. Si vous souhaitez modifier un élément de l'ensemble user_info
, par exemple ajouter ou supprimer un champ, il vous suffit de mettre à jour l'ensemble user_info
.