Questa pagina si riferisce al parametro
extendsche fa parte di un'esplorazione.
extendspuò essere utilizzato anche nell'ambito di una vista, come descritto nella pagina della documentazione dedicata al parametroextends(per le viste).
extendspuò essere utilizzato anche nell'ambito di una dashboard LookML, come descritto nella pagina della documentazione Parametri della dashboard.
Utilizzo
explore: explore_name {
extends: [explore_name, explore_name, ...]
}
|
Gerarchia
extends |
Valore predefinito
Nessuno
Accetta
Parentesi quadre contenenti un elenco separato da virgole di nomi di esplorazioni
|
Definizione
Il parametro extends ti consente di basarti sui contenuti e sulle impostazioni di un altro Explore, utilizzandolo come punto di partenza. In caso di conflitti, l'esplorazione di estensione utilizzerà le proprie impostazioni, sostituendo quelle dell'esplorazione in fase di estensione. Per informazioni dettagliate su come Looker esegue questa operazione, consulta la pagina della documentazione Riutilizzo del codice con extends.
Scopri i perfezionamenti di LookML.
L'estensione di una visualizzazione o di un'esplorazione è ideale per gli scenari in cui vuoi avere più versioni della visualizzazione o dell'esplorazione. Tuttavia, se il tuo obiettivo è semplicemente modificare una vista o un'esplorazione senza modificare il file LookML che la contiene, ti consigliamo di utilizzare un perfezionamento. Puoi anche utilizzare un parametroextendsall'interno di un perfezionamento. Per ulteriori informazioni e casi d'uso, consulta la pagina della documentazione relativa ai miglioramenti di LookML.
Quando estendi un'esplorazione, è importante che il parametro view_name sia presente nell'esplorazione che verrà estesa. Il parametro view_name definisce la visualizzazione su cui si basa un'esplorazione. Il valore predefinito è il nome dell'esplorazione. Se l'esplorazione di base non ha un view_name specificato, viene utilizzato il nome dell'esplorazione. Tuttavia, questo non funziona per altre esplorazioni che estendono l'esplorazione di base, quindi viene visualizzato l'errore "Visualizzazione sconosciuta". Affinché Looker utilizzi il file della vista corretto, dobbiamo specificarlo utilizzando il parametro view_name. Poiché questa dimensione sarà necessaria in qualsiasi versione estesa dell'esplorazione, la best practice è aggiungerla all'esplorazione di base in modo che venga sempre utilizzata come riferimento ogni volta che l'esplorazione viene estesa.
Se l'esplorazione di base non ha già un parametro view_name, puoi semplicemente aggiungere il parametro view_name e specificare lo stesso valore del nome dell'esplorazione.
Ti consigliamo di utilizzare anche il parametro view_label nelle esplorazioni di base e in quelle estese. Il parametro view_label determina l'etichetta in base alla quale i campi della visualizzazione vengono raggruppati nel selettore di campi (per un esempio, consulta la pagina di documentazione del parametro view_label (per le esplorazioni)). Se non specifichi un view_label per le esplorazioni di base e quelle estese, entrambe utilizzeranno il nome dell'esplorazione di base.
Esempio
Ecco un esempio di esplorazione definita nel nostro file del modello:
explore: orders {
view_name: orders
view_label: "Orders"
# The normal contents of the Explore follow
}
Qui aggiungiamo una nuova esplorazione che estende l'esplorazione orders che abbiamo definito in precedenza:
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 vista estesa, devi utilizzare anche il parametro from. Aggiungi from all'esplorazione estesa e assegnale 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 per utenti diversi
Un caso d'uso molto utile dell'estensione di un'esplorazione è la visualizzazione solo di un sottoinsieme dei campi di un'esplorazione per determinati utenti. Ad esempio, supponiamo di avere un'esplorazione products con tutti i campi disponibili delle 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 l'esplorazione products e utilizzare il parametro fields per specificare che devono essere inclusi solo i campi relativi alla categoria di prodotto e ai resi:
explore: products_extended {
extends: [products]
fields: [products.category,order_items.returned_date]
}
La sezione products_extended Esplora mostrerà solo questi due campi: products.category e order_items.returned_date.
Estendere un'esplorazione a più modelli
Le esplorazioni vengono in genere definite all'interno di un file modello. Se vuoi estendere un'esplorazione, puoi definire l'esplorazione di estensione nello stesso file del modello, come negli esempi precedenti.
Tuttavia, se vuoi estendere un'esplorazione a più modelli, devi creare un file di esplorazione separato da utilizzare come file di base. Una volta definita l'esplorazione di base nel proprio file, puoi includere il file di esplorazione nel file del modello ed estendere l'esplorazione nel file del modello.
Poiché puoi includere un file Esplora in un altro file Esplora, puoi anche condividere il file Esplora di base in più file Esplora, se necessario.
I file di esplorazione ascolteranno la connessione del modello in cui sono inclusi. Tieni presente questo aspetto quando includi file di esplorazione in modelli configurati con una connessione diversa da quella del modello principale del file di esplorazione. Se lo schema per la connessione del modello incluso è diverso da quello per la connessione del modello principale, possono verificarsi errori di query.
Utilizzare i metadati per visualizzare le estensioni di un oggetto
Puoi fare clic su un parametro explore o view in Looker IDE e utilizzare il riquadro dei metadati per visualizzare eventuali estensioni dell'oggetto o per vedere a quale oggetto si estende. Per informazioni, consulta la pagina della documentazione Metadati per gli oggetti LookML.
Aspetti da considerare
Alcuni parametri sono additivi
In molti casi, se l'oggetto di estensione contiene lo stesso parametro dell'oggetto esteso, i valori dell'oggetto di estensione sostituiranno i valori dei parametri dell'oggetto esteso. Tuttavia, le estensioni possono essere additive per alcuni parametri, il che significa che i valori dell'oggetto di estensione vengono utilizzati insieme a quelli dell'oggetto esteso.
I seguenti parametri di Esplora sono additivi:
access_filteraggregate_tableextends(puoi concatenare piùextends)joinquery
Nel seguente esempio, l'esplorazione aircraft_base utilizza il parametro join per unire la visualizzazione aircraft con la visualizzazione aircraft_types:
explore: aircraft_base {
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 aircraft_base Esplora. Inoltre, l'esplorazione aircraft_extended ha un parametro join che unisce la vista aircraft_engine_types:
explore: aircraft_extended {
extends: [aircraft_base]
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 è additivo, quindi l'esplorazione risultante mostrerà le visualizzazioni unite nell'esplorazione di base, più le visualizzazioni unite nell'esplorazione di estensione. In questo caso, l'esplorazione aircraft_extended contiene la visualizzazione aircraft, la visualizzazione aircraft_types e la visualizzazione aircraft_engine_types.

Progetti con localizzazione
Quando estendi un oggetto, tieni presente che anche alle tue estensioni si applicano le regole di localizzazione. Se estendi un oggetto e poi definisci nuove etichette o descrizioni, devi fornire le definizioni di localizzazione nei file di stringhe delle impostazioni internazionali del progetto. Per ulteriori informazioni, consulta la pagina della documentazione Localizzazione del modello LookML.