Cette page fait référence au paramètre
fields
qui fait partie d'une exploration.
fields
peut également être utilisé dans le cadre d'une jointure, décrite sur la page de documentation du paramètrefields
(pour les jointures).
fields
peut également être utilisé dans le cadre d'un ensemble, décrit sur la page de documentation sur les paramètresset
.
Utilisation
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 virguleRègles spéciales
|
Définition
fields
vous permet de spécifier les champs d'une exploration qui sont exposés dans l'interface utilisateur de l'exploration. Ces champs peuvent se trouver dans la vue de base de l'exploration ou dans les jointures disponibles. Si vous n'utilisez pas fields
, Looker expose par défaut tous les champs.
Une liste de champs peut être utilisée comme suit: [view_name.field_a, view_name.field_b]
.
Vous pouvez également référencer 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 plutôt qu'à un nom de champ.
Dans les deux cas, notez que la portée du champ ou de l'ensemble doit être entièrement définie. En d'autres termes, vous devez inclure 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'outil Explorer. Cela s'avère particulièrement utile pour exclure quelques champs indésirables, comme suit:
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 peut être référencé au format view_name*
. Par exemple, la fonction Explorer suivante n'inclut que les champs de la vue customers
:
explore: all_people {
fields: [customers*]
}
Examples
Afficher uniquement le champ intitulé name
dans la vue customer
de la section customer
Explorer:
explore: customer {
fields: [customer.name]
}
Afficher uniquement les champs name
, address
et age
dans la vue customer
de la page customer
Explorer:
explore: customer {
fields: [customer.name, customer.address, customer.age]
}
Afficher uniquement l'ensemble de champs de l'ensemble export_fields
, à partir de la vue customer
, dans l'customer
Explorer:
explore: customer {
fields: [customer.export_fields*]
}
Excluez le champ intitulé status
dans la vue customer
de la vue 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 en utilisant fields
avec explore
.
Vous pouvez utiliser fields
sous le paramètre explore
afin de profiter de l'ensemble ALL_FIELDS*
, puis d'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
du niveau Explorer en utilisant la syntaxe view_name.field_name
.
Avec la syntaxe -
, vous pouvez également exclure des ensembles de champs définis:
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 cette méthode, vous pouvez accéder à l'ensemble ALL_FIELDS*
, puis exclure les champs indésirables comme indiqué ci-dessus.
Il existe également un paramètre fields
enfant de join
. Lorsque vous utilisez cette méthode, 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 qui est 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 de fields
sous join
sont appliqués. Vous créez ainsi un ensemble de champs que l'explorateur 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 du champ "
orders
" seront disponibles et inclus dans le champ "ALL_FIELDS*
". name
deusers
seront disponibles et inclus dansALL_FIELDS*
.- Les autres champs du champ
users
ne seront pas disponibles ni inclus dans l'ensembleALL_FIELDS*
.
Maintenant, si nous ajoutons un paramètre fields
sous explore
, nous ajoutons une restriction à cet ensemble. Supposons que nous l'ayons fait:
explore: orders {
fields: [orders.price, users.address]
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
Dans ce cas :
price
deorders
s'affichera comme prévu, car il fait partie de l'ensembleALL_FIELDS*
que nous avons créé.address
deusers
ne s'afficheront pas, car il n'était pas inclus lorsqueusers
a été rejoint (seulename
l'a été).name
deusers
ne s'affichera pas non plus, car nous ne l'avons pas ajouté à l'exploration à la lignefields: [orders.price, users.address]
.