campi (per esplorazioni)

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 parametro fields (per join).

fields può essere utilizzato anche come parte di un set, descritto nella pagina della documentazione relativa al parametro set.

Utilizzo

Explore: Explore_name {
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 virgole

Regole speciali
  • Tutti i campi e gli insiemi devono essere con ambito completo (utilizza la sintassi view_name.field_name)
  • I campi e gli insiemi possono essere esclusi anteponendo il trattino (-)
  • I nomi devono sempre terminare con un asterisco (*)
  • Puoi utilizzare il nome del set integrato ALL_FIELDS*, che include tutti i campi in Esplora.
  • Puoi utilizzare il nome del set integrato view_name*, che include tutti i campi nella vista di riferimento.

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 orderEsplora:

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 in ALL_FIELDS*.
  • name di users saranno disponibili e incluse in ALL_FIELDS*.
  • Gli altri campi in users non saranno disponibili o inclusi nel set ALL_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 di orders verranno mostrate come previsto, perché fa parte del set ALL_FIELDS* che abbiamo creato.
  • address di users non sarà visualizzato perché non è stato incluso quando users ha partecipato (solo name lo era).
  • Non verranno mostrati nemmeno i name di users perché non sono stati aggiunti a Esplora nella riga fields: [orders.price, users.address].