si estende (per le esplorazioni)

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 parametro extends (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

Explore: Explore_name {
extends: [explore_name, explore_name, ...]
}
Gerarchia
extends
Valore predefinito
Nessuna

Accetta
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 parametro extends 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:

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.