Cette page fait référence au paramètre
fieldsqui fait partie d'une exploration.
fieldspeut également être utilisé dans une jointure, comme décrit sur la page de documentation du paramètrefields(pour les jointures).
fieldspeut également être utilisé dans un ensemble, comme décrit sur la page de documentation du paramètreset.
Utilisation
explore: explore_name {
fields: [
field-or-set-specification,
field-or-set-specification,
...
]
}
|
Hiérarchie
fields |
Valeur par défaut
ALL_FIELDS*
Acceptation
Crochets contenant une liste de champs ou d'ensembles séparés par une virgule
Règles spéciales
|
Définition
fields vous permet de spécifier les champs d'une exploration qui sont exposés dans l'interface utilisateur Explore. Ces champs peuvent se trouver dans la vue de base de l'exploration ou dans les champs disponibles à partir des jointures de l'exploration. Si vous n'utilisez pas fields, Looker expose tous les champs par défaut.
Une liste de champs peut être utilisée comme suit : [view_name.field_a, view_name.field_b].
Vous pouvez également faire référence à un ensemble de champs (défini dans le paramètre set d'une vue), comme [view_name.set_a*]. L'astérisque indique à Looker que vous faites référence à un nom d'ensemble et non à un nom de champ.
Dans les deux cas, veuillez noter que le champ ou l'ensemble doivent être entièrement définis. En d'autres termes, vous devez inclure à la fois le nom de la vue et le nom du champ.
Looker crée automatiquement un ensemble appelé ALL_FIELDS*, qui contient tous les champs de la vue de base et des jointures de l'exploration. Cela est particulièrement utile pour exclure quelques champs indésirables, comme ceci :
explore: view_name {
fields: [ALL_FIELDS*, -joined_view_name.unwanted_field]
}
Looker crée également automatiquement des ensembles contenant tous les champs d'une vue donnée, qui peuvent être référencés au format view_name*. Par exemple, l'exploration suivante n'inclut que les champs de la vue customers :
explore: all_people {
fields: [customers*]
}
Exemples
N'affichez que le champ name de la vue customer dans l'exploration customer :
explore: customer {
fields: [customer.name]
}
N'affichez que les champs name, address et age de la vue customer dans l'explorateur customer :
explore: customer {
fields: [customer.name, customer.address, customer.age]
}
N'afficher que l'ensemble de champs du jeu export_fields, à partir de la vue customer, dans l'exploration customer :
explore: customer {
fields: [customer.export_fields*]
}
Excluez le champ status dans la vue customer de l'exploration order :
explore: order {
fields: [ALL_FIELDS*, -customer.status]
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Bon à savoir
Vous pouvez exclure des éléments individuels ou des ensembles d'éléments à l'aide de fields avec explore.
Vous pouvez utiliser fields sous le paramètre explore pour profiter de l'ensemble ALL_FIELDS*, puis exclure des champs. Exemple :
explore: order {
fields: [
ALL_FIELDS*,
-customer.unwanted_field_a,
-customer.unwanted_field_b
]
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Nous avons pu référencer les champs de la vue jointe customer dans le paramètre fields au niveau de l'exploration en utilisant la syntaxe view_name.field_name.
Vous pouvez également exclure des ensembles de champs définis à l'aide de la syntaxe - :
explore: orders {
fields: [ALL_FIELDS*, -users.statezip*]
join: users {
sql_on: ${orders.user_id} = ${users.id} ;;
relationship: many_to_one
}
}
view: users {
set: statezip {
fields:[state, zip]
}
}
Le paramètre fields qui fait partie d'un join ne peut pas utiliser l'ensemble ALL_FIELDS.
Cette page fait référence au paramètre fields, qui est un enfant de explore. Lorsque vous utilisez le paramètre fields de cette manière, vous pouvez accéder à l'ensemble ALL_FIELDS*, puis exclure les champs indésirables, comme indiqué précédemment.
Il existe également un paramètre fields qui est un enfant de join. Dans ce cas, vous ne pouvez pas utiliser l'ensemble ALL_FIELDS*.
L'ensemble ALL_FIELDS est limité par le paramètre fields qui fait partie d'un join.
Cette page décrit fields lorsqu'il est imbriqué sous un paramètre explore. Il existe également un paramètre fields similaire, imbriqué sous join. Il est important de comprendre les implications de l'application de fields aux deux niveaux en même temps.
Tout d'abord, tous les paramètres fields sous join sont appliqués. Cela crée l'ensemble de champs parmi lesquels l'exploration peut choisir. Considérez l'exemple suivant :
explore: orders {
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
Dans ce cas :
- Tous les champs de
ordersseront disponibles et inclus dansALL_FIELDS*. namedeuserssera disponible et inclus dansALL_FIELDS*.- Les autres champs de
usersne seront pas disponibles ni inclus dans l'ensembleALL_FIELDS*.
Si nous ajoutons un paramètre fields sous explore, nous ajoutons une restriction à cet ensemble. Supposons que nous ayons fait ce qui suit :
explore: orders {
fields: [orders.price, users.address]
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
Dans ce cas :
pricedeorderss'affichera comme prévu, car il se trouve dans l'ensembleALL_FIELDS*que nous avons créé.addressdeusersne s'affichera pas, car il n'a pas été inclus lorsqueusersa rejoint l'espace (seulnamel'a été).namedeusersne s'affichera pas non plus, car nous ne l'avons pas ajouté à "Explorer" dans la lignefields: [orders.price, users.address].