Questa pagina si riferisce al parametro
fields
che fa parte di un'esplorazione.
fields
può essere utilizzato anche come parte di un join, descritto nella pagina della documentazione relativa al parametrofields
(per join).
fields
può essere utilizzato anche come parte di un set, descritto nella pagina della documentazione relativa al parametroset
.
Utilizzo
fields: [
field-or-set-specification,
field-or-set-specification,
...
]
}
Gerarchia
fields |
Valore predefinito
ALL_FIELDS* Accetta
Parentesi quadre che contengono un elenco di campi o insiemi separati da virgoleRegole speciali
|
Definizione
fields
ti consente di specificare quali campi di un'esplorazione vengono esposti nell'interfaccia utente di Esplora. Questi campi possono essere nella visualizzazione di base di Esplora o nei campi disponibili nei join dell'esplorazione. Se non utilizzi fields
, Looker visualizza per impostazione predefinita tutti i campi.
Un elenco di campi può essere utilizzato in questo modo: [view_name.field_a, view_name.field_b]
.
Puoi anche fare riferimento a un insieme di campi (definiti nel parametro set
di una vista), come [view_name.set_a*]
. L'asterisco indica a Looker che stai facendo riferimento a un nome di set, anziché a un nome di campo.
In entrambi i casi, tieni presente che il campo o il set deve essere con ambito completo. In altre parole, devi includere sia il nome della vista che il nome del campo.
Looker crea automaticamente un set denominato ALL_FIELDS*
, che contiene tutti i campi nella visualizzazione di base di Explore (Unisci) e in cui entra nella riunione. Questa procedura è particolarmente utile per escludere alcuni campi indesiderati, come il seguente:
explore: view_name {
fields: [ALL_FIELDS*, -joined_view_name.unwanted_field]
}
Inoltre, Looker crea automaticamente insiemi che contengono tutti i campi di una determinata vista, a cui può fare riferimento nel formato view_name*
. Ad esempio, la seguente funzionalità Esplora include solo i campi nella vista customers
:
explore: all_people {
fields: [customers*]
}
Esempi
Mostra solo il campo denominato name
dalla vista customer
in customer
Esplora:
explore: customer {
fields: [customer.name]
}
Mostra solo i campi name
, address
e age
dalla vista customer
in customer
Esplora:
explore: customer {
fields: [customer.name, customer.address, customer.age]
}
Mostra l'insieme di campi nel set export_fields
dalla vista customer
in Esplora customer
:
explore: customer {
fields: [customer.export_fields*]
}
Escludi il campo denominato status
nella visualizzazione customer
da order
Esplora:
explore: order {
fields: [ALL_FIELDS*, -customer.status]
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Aspetti da tenere presenti
Puoi escludere singoli elementi o insiemi di elementi utilizzando fields
con explore
Puoi utilizzare fields
nel parametro explore
per sfruttare il set ALL_FIELDS*
e poi escludere i campi. Ad esempio:
explore: order {
fields: [
ALL_FIELDS*,
-customer.unwanted_field_a,
-customer.unwanted_field_b
]
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Siamo riusciti a fare riferimento ai campi dalla vista congiunta customer
nel parametro fields
del livello Esplora utilizzando la sintassi view_name.field_name
.
Con la sintassi -
puoi anche escludere insiemi definiti di campi:
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]
}
}
Il parametro fields
che fa parte di join
non può utilizzare l'insieme ALL_FIELDS
.
Questa pagina si riferisce al parametro fields
che è un elemento secondario di explore
. Se utilizzata in questo modo, puoi accedere al set ALL_FIELDS*
ed escludere i campi indesiderati come mostrato in precedenza.
Esiste anche un parametro fields
che è un elemento secondario di join
. Quando sono utilizzati in questo modo, non puoi utilizzare l'insieme ALL_FIELDS*
.
L'insieme ALL_FIELDS
è limitato dal parametro fields
che fa parte di un join
In questa pagina viene descritto fields
quando è nidificato all'interno di un parametro explore
. Esiste anche un parametro fields
simile nidificato sotto join
. È importante comprendere le implicazioni dell'applicazione di fields
a entrambi i livelli contemporaneamente.
Innanzitutto, vengono applicati tutti i parametri fields
in join
. Viene creato l'insieme di campi tra cui scegliere. Considera questo esempio:
explore: orders {
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
In questo caso:
- Tutti i campi da
orders
saranno disponibili e inclusi inALL_FIELDS*
. name
diusers
saranno disponibili e incluse inALL_FIELDS*
.- Gli altri campi in
users
non saranno disponibili o inclusi nel setALL_FIELDS*
.
Ora, se aggiungiamo un parametro fields
in explore
, stiamo aggiungendo una limitazione all'insieme. Supponiamo che abbiamo eseguito questa operazione:
explore: orders {
fields: [orders.price, users.address]
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
In questo caso:
price
diorders
verranno mostrate come previsto, perché fa parte del setALL_FIELDS*
che abbiamo creato.address
diusers
non sarà visualizzato perché non è stato incluso quandousers
ha partecipato (soloname
lo era).- Non verranno mostrati nemmeno i
name
diusers
perché non sono stati aggiunti a Esplora nella rigafields: [orders.price, users.address]
.