Un modo per rendere i progetti LookML più efficienti e facili da gestire è utilizzare il parametro set
LookML. Il parametro set
ti consente di raggruppare i campi che possono essere spesso ripetuti durante il progetto all'interno del parametro fields
o all'interno dei campi dei livelli di analisi. Se utilizzi un insieme per raggruppare i campi ripetuti, crei un unico punto all'interno del modello in cui è possibile gestire questo gruppo di campi.
Questa pagina include i seguenti esempi di utilizzo degli insiemi LookML per rendere i progetti LookML più efficienti e gestibili:
- Aggiunta degli stessi campi di visualizzazione in dettaglio a più misure: definisci i campi di visualizzazione in dettaglio per i dettagli che gli utenti vogliono vedere abitualmente quando visualizzano in dettaglio le aggregazioni.
- Includi o ometti un insieme di campi di un'esplorazione: personalizza l'esperienza dell'esplorazione per gli utenti e semplifica l'elenco dei campi tra cui gli utenti possono scegliere nel selettore dei campi.
Ingredienti
- Il parametro
set
di LookML - Il parametro
fields
(per le esplorazioni) di LookML - Il parametro
drill_fields
(per i campi) di LookML - Il parametro
drill_fields
LookML (per le viste)
Prerequisiti
Esempio: aggiungere gli stessi campi di analisi a più misure
Supponiamo che tu voglia che gli utenti possano visualizzare in dettaglio gli utenti ovunque vedi le metriche sulle vendite in esplorazioni, look o dashboard, in modo che la selezione di un valore per la misura Conteggio nell'interfaccia utente di Esplora apra una query sui campi ID, Città, Stato e Paese:
Puoi creare un insieme denominato user_details
che include i campi id
, city
, state
e country
e quindi farvi riferimento in più misure per consentire agli utenti di esaminarli in dettaglio:
set: user_details {
fields: [id, city, state, country]
}
Il set user_details
può essere utilizzato per definire un campo di analisi per la misura count
:
measure: count {
type: count
drill_fields: [user_details*]
}
In questo esempio, la sintassi [set_name*]
viene utilizzata per specificare che i campi all'interno di user_details
verranno visualizzati nei risultati della query quando visualizzi in dettaglio la misura Conteggio.
Puoi quindi riutilizzare questo set per creare campi di analisi aggiuntivi. Ad esempio, puoi aggiungere il codice LookML drill_fields: [user_details*]
alle misure order_count
, total_sale_price
e average_sale_price
:
measure: order_count {
view_label: "Orders"
type: count_distinct
description: "Number of orders"
sql: ${order_id} ;;
drill_fields: [user_details*]
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [user_details*]
}
measure: average_sale_price {
type: average
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [user_details*]
}
Come per la misura Conteggio, quando un utente seleziona un valore per Conteggio ordini, Prezzo di vendita totale o Prezzo di vendita medio nell'interfaccia utente di Esplora, Looker apre una finestra contenente una query nei campi ID, Città, Stato e Paese.
Se vuoi modificare i campi di visualizzazione dettagliata, ad esempio aggiungendone o rimuovendone uno, devi solo aggiornare l'insieme user_details
.
Puoi anche fare riferimento a un insieme all'interno del parametro drill_fields
di una vista per definire i campi di visualizzazione per tutte le misure all'interno della vista che non hanno già campi di visualizzazione specificati a livello di campo.
Esempio: inclusione o omissione di un insieme di campi da un'esplorazione
Supponiamo che tu voglia semplificare il selettore di campi di esplorazione per gli utenti escludendo i campi non essenziali per questi utenti.
Ad esempio, supponi di avere una vista users
contenente informazioni sui tuoi clienti, inclusi i campi per ID, Nome, Cognome, Email ed Età, nonché campi relativi alla località come Città, Stato, Paese e Codice postale. La vista users
è unita all'esplorazione orders
:
Cosa succede se vuoi escludere i campi First Name (Nome), Last Name (Cognome), Email (Email), Age (Età) e Gender (Genere) dall'esplorazione per i tuoi utenti? Puoi creare un insieme denominato user_info
che elenca i campi da escludere dall'esplorazione Ordini:
Il codice LookML per l'insieme user_info
sarà simile al seguente:
set: user_info {
fields: [first_name, last_name, email, age, gender]
}
Per definire un'esplorazione Ordini con l'etichetta Ordini senza dati utente, unisci la vista users
all'esplorazione orders
. Aggiungi il codice LookML fields: [ALL_FIELDS*, -users.user_info*]
all'esplorazione orders
per includere tutti i campi, ad eccezione di quelli nell'insieme user_info
della visualizzazione users
:
explore: orders {
fields: [ALL_FIELDS*, -users.user_info*]
label: "Orders Without User Data"
join: users {
type: left_outer
sql_on: ${orders.user_id} = ${users.id} ;;
relationship: many_to_one
}
}
Poiché l'insieme user_details
è escluso dall'esplorazione con la sintassi -users.user_details*
nel parametro fields
dell'esplorazione orders
, la vista Ordini all'interno dell'esplorazione Ordini senza dati utente omette i campi elencati nell'insieme users_user.info
dal selettore dei campi dell'esplorazione.
Puoi riutilizzare l'impostazione user_info
per omettere questi campi dall'interfaccia utente di Esplora per tutte le altre esplorazioni a cui è unita la visualizzazione users
. Per modificare qualcosa nel set user_info
, ad esempio aggiungere o rimuovere un campo, devi solo aggiornare il set user_info
.