Un modo per rendere i progetti LookML più efficienti e più facili da gestire è utilizzare il parametro set
di LookML. Il parametro set
ti consente di raggruppare i campi che potrebbero essere ripetuti spesso nel progetto all'interno del parametro fields
o nei campi esplorabili. Se utilizzi un insieme per raggruppare i campi ripetuti, crei un unico punto all'interno del modello in cui è possibile gestire il gruppo di campi.
Questa pagina include i seguenti esempi di utilizzo dei set LookML per rendere i tuoi 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 comunemente visualizzare quando esaminano in dettaglio le aggregazioni.
- Includere o escludere un insieme di campi da un'esplorazione: personalizza l'esperienza di esplorazione per gli utenti e semplifica l'elenco dei campi che gli utenti possono scegliere nel selettore di campi.
Ingredienti
- Il parametro
set
di LookML - Il parametro
fields
di LookML (per le esplorazioni) - Il parametro LookML
drill_fields
(per i campi) - Il parametro LookML
drill_fields
(per le viste)
Prerequisiti
Esempio: aggiunta degli stessi campi di livello di analisi a più misure
Supponiamo che tu voglia che i tuoi utenti possano visualizzare in dettaglio informazioni più granulari sugli utenti ovunque vedano le metriche di vendita 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 set denominato user_details
che includa i campi id
, city
, state
e country
e poi farvi riferimento in più misure per consentire agli utenti di visualizzare i dati in dettaglio:
set: user_details {
fields: [id, city, state, country]
}
Il set user_details
può essere utilizzato per definire un campo di visualizzazione in dettaglio 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 metrica Conteggio.
Puoi quindi riutilizzare questo set per creare altri campi di drill. 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 sui campi ID, Città, Stato e Paese.
Se vuoi modificare qualcosa nei campi di drill-down, ad esempio aggiungere o rimuovere un campo, devi solo aggiornare il set user_details
.
Puoi anche fare riferimento a un insieme all'interno del parametro drill_fields
di una visualizzazione per definire i campi di drill per tutte le misure all'interno di quella visualizzazione che non hanno già campi di drill specificati a livello di campo.
Esempio: inclusione o esclusione di un insieme di campi da un'esplorazione
Supponiamo che tu voglia semplificare il selettore di campi Esplora per gli utenti escludendo i campi non essenziali per questi utenti.
Ad esempio, supponiamo che tu abbia una vista users
che contiene informazioni sui tuoi clienti, inclusi i campi per ID, Nome, Cognome, Email ed Età, nonché campi di località come Città, Stato, Paese e CAP. La visualizzazione users
è unita all'esplorazione orders
:
Cosa succede se vuoi escludere i campi Nome, Cognome, Email, Età e Genere da Esplora per i tuoi utenti? Puoi creare un insieme denominato user_info
che elenca i campi che vuoi escludere dall'esplorazione Ordini:
Il codice LookML per il set 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 visualizzazione 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 nel set user_info
della vista 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é il set 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 nel set users_user.info
dal selettore dei campi dell'esplorazione.
Puoi riutilizzare l'insieme user_info
per omettere questi campi dall'interfaccia utente di Explore per qualsiasi altro Explore a cui è unita la visualizzazione users
. Se vuoi modificare un aspetto qualsiasi del set user_info
, ad esempio aggiungere o rimuovere un campo, devi solo aggiornare il set user_info
.