Questa pagina si riferisce al parametro
extends
che fa parte di un'esplorazione.
extends
può essere utilizzato anche come parte di una vista, come descritto nella pagina della documentazione relativa al parametroextends
(per viste).
extends
può essere utilizzato anche come parte di una dashboard di LookML, come descritto nella pagina della documentazione relativa ai Parametri della dashboard.
Utilizzo
extends: [explore_name, explore_name, ...]
}
Gerarchia
extends |
Valore predefinito
NessunaAccetta
Parentesi quadre che contengono un elenco di nomi Esplora separati da virgole |
Definizione
Il parametro extends
consente di integrare i contenuti e le impostazioni di un altro Esplora, utilizzando l'altro Explore come punto di partenza. In caso di conflitti, l'esplorazione estesa utilizzerà le proprie impostazioni, sostituendo quelle dell'esplorazione in fase di espansione. Per informazioni dettagliate sulle modalità di visualizzazione di Looker, consulta la pagina Documentazione relativa al riutilizzo del codice con extends
.
Scopri i perfezionamenti di LookML.
L'estensione di una vista o di un'esplorazione è l'ideale per gli scenari in cui vuoi avere più versioni della vista o di un'esplorazione. Tuttavia, se il tuo obiettivo è semplicemente quello di modificare una vista o un'esplorazione senza modificare il file LookML che lo contiene, puoi utilizzare un perfezionamento. Puoi anche utilizzare un parametroextends
all'interno di un perfezionamento. Per ulteriori informazioni e casi d'uso, consulta la pagina della documentazione relativa ai perfezionamenti LookML.
Quando estendi un'esplorazione, è importante che il parametro view_name
sia presente in un'esplorazione che verrà estesa. Il parametro view_name
definisce la vista su cui si basa un'esplorazione. Il suo valore predefinito è il nome dell'esplorazione. Se l'esplorazione di base non ha un valore view_name
specificato, viene utilizzato il nome dell'esplorazione per impostazione predefinita. Tuttavia, non funziona con altre esplorazioni che estendono l'esplorazione di base, pertanto verrebbe visualizzato il messaggio di errore "visualizzazione sconosciuta". Per fare in modo che Looker utilizzi il file di vista corretto, dobbiamo specificarlo utilizzando il parametro view_name
. Poiché questa operazione è necessaria in qualsiasi versione estesa di Explore (Esplora), la best practice consiste nell'aggiungerla all'Explore di base in modo che venga fatto riferimento in modo costante ogni volta che l'Explore viene esteso.
Se Esplora di base non ha ancora un parametro view_name
, puoi semplicemente aggiungere il parametro view_name
e specificare lo stesso valore del nome di Esplora.
Puoi anche utilizzare il parametro view_label
nella base ed estendere le esplorazioni. Il parametro view_label
determina l'etichetta sotto la quale i campi della vista vengono raggruppati nel selettore campi (per un esempio, consulta la pagina della documentazione del parametro view_label
(per le esplorazioni). Se non specifichi un elemento view_label
per le esplorazioni di base ed estese, entrambi utilizzeranno il nome di Esplorazioni dell'esplorazione di base.
Esempio
Ecco un esempio di Explore definito nel nostro file del modello:
explore: orders {
view_name: orders
view_label: "Orders"
# The normal contents of the Explore follow
}
E qui aggiungiamo una nuova esplorazione che estende l'esplorazione orders
definita sopra:
explore: name_of_the_new_explore {
extends: [orders]
view_label: "Order Information"
# The additional things you want to add or change
# in the new Explore
}
Se estendi un'esplorazione basata su una visualizzazione estesa, devi utilizzare anche il parametro from
. Aggiungi from
all'estensione Esplora ed assegnagli il nome della visualizzazione estesa.
explore: new_explore {
extends: [orders]
from: extended_orders_view
#The normal contents of the Explore follow
}
Utilizzo di extends
per limitare i campi a utenti diversi
Un caso d'uso molto utile per estendere un'esplorazione è visualizzare solo un sottoinsieme dei campi di un'esplorazione per determinati utenti. Ad esempio, supponi di avere un'esplorazione products
con tutti i campi disponibili nelle tabelle unite:
explore: products {
view_name: products
from: products
join: inventory_items {
type: left_outer
sql_on: ${products.id}=${inventory_items.product_id} ;;
relationship: many_to_one
}
join: order_items {
type: left_outer
sql_on: ${order_items.inventory_item_id}=${inventory_items.id} ;;
relationship: one_to_one
}
}
Se hai un team che deve visualizzare solo la categoria di prodotto e i resi, puoi estendere products
Esplora e utilizzare il parametro fields
per specificare che devono essere inclusi solo i campi relativi a categoria di prodotto e resi:
explore: products_extended {
extends: [products]
fields: [products.category,order_items.returned_date]
}
L'esplorazione products_extended
mostrerà solo questi due campi: products.category
e order_items.returned_date
.
Esplorazione di Esplora tra i modelli
Le esplorazioni di solito vengono definite all'interno di un file modello. Se vuoi estendere un'esplorazione, puoi semplicemente definire tale estensione nello stesso file di modello, come negli esempi precedenti.
Tuttavia, se vuoi estendere un'esplorazione in più modelli, devi creare un file Esplora separato da utilizzare come file di base. Dopo aver definito l'esplorazione di base nel relativo file, puoi includere il file Esplora nel file del modello ed estendere l'esplorazione nel file del modello.
Poiché puoi includere un file di esplorazione in un altro file di esplorazione, puoi anche condividere il file di esplorazione di base tra più file di esplorazione, se necessario.
I file Esplora ascoltano la connessione del modello in cui sono inclusi. Tieni presente questo aspetto quando includi i file Esplora nei modelli configurati con una connessione diversa da quella del modello principale del file Esplora. Se lo schema per la connessione del modello incluso è diverso da quello dello schema per la connessione del modello principale, può causare errori nelle query.
Utilizzo dei metadati per visualizzare le estensioni per un oggetto
Puoi fare clic su un parametro explore
o view
nell'IDE di Looker e utilizzare il riquadro dei metadati per visualizzare le estensioni sull'oggetto o vedere quale oggetto si estende. Per informazioni, consulta la pagina Metadati degli oggetti LookML.
Aspetti da considerare
Alcuni parametri sono cumulativi
In molti casi, se l'oggetto in estensione contiene lo stesso parametro dell'oggetto in fase di estensione, i valori dell'oggetto che viene esteso sostituiscono quelli dell'oggetto esteso. Tuttavia, alcune estensioni possono essere additive per alcuni parametri, il che significa che i valori dell'oggetto che esegue l'estensione vengono utilizzati insieme a quelli dell'oggetto esteso.
I seguenti parametri Explore sono additive:
access_filter
aggregate_table
extends
(puoi connettere piùextends
)join
query
Nell'esempio seguente l'esplorazione aircraft_base
utilizza il parametro join
per unire la vista aircraft
alla vista aircraft_types
:
explore: aircraft {
view_name: aircraft
label: "Aircraft"
join: aircraft_types {
type: left_outer
sql_on: ${aircraft.aircraft_type_id} = ${aircraft_types.aircraft_type_id} ;;
relationship: many_to_one
}
}
aircraft_extended
Esplora estende l'esplorazione aircraft_base
. Inoltre, l'esplorazione di aircraft_extended
ha un parametro join
che si unisce nella visualizzazione aircraft_engine_types
:
explore: aircraft_extended {
extends: [aircraft]
label: "Aircraft Extended"
join: aircraft_engine_types {
type: left_outer
sql_on: ${aircraft.aircraft_engine_type_id} = ${aircraft_engine_types.aircraft_engine_type_id} ;;
relationship: many_to_one
}
}
Il parametro join
è cumulativo, quindi l'Explore risultante mostrerà le visualizzazioni unite nell'Explore di base, oltre alle visualizzazioni unite nell'Explore che estende. In questo caso, l'esplorazione aircraft_extended
contiene le visualizzazioni aircraft
, aircraft_types
e aircraft_engine_types
:
Progetti con localizzazione
Quando estendi un oggetto, tieni presente che le regole di localizzazione si applicano anche alle estensioni. Se estendi un oggetto e poi definisci nuove etichette o descrizioni, devi fornire le definizioni di localizzazione nei file di stringhe internazionali del tuo progetto. Per ulteriori informazioni, consulta la pagina Documentazione di Localizzazione del modello LookML.