Un modo per rendere i progetti LookML più efficienti e facili da gestire è utilizzare il parametro set
di LookML. Il parametro set
ti consente di raggruppare i campi che spesso possono essere ripetuti nel corso del progetto all'interno del parametro fields
o all'interno dei campi drill. Se utilizzi un insieme per raggruppare i campi ripetuti, crei un'unica posizione 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 progetti LookML più efficienti e gestibili:
- Aggiunta degli stessi campi drill a più misure: definisci i campi drill per ottenere dettagli che gli utenti desiderano solitamente visualizzare quando visualizzano i dettagli delle aggregazioni.
- Inclusione o omissione di un insieme di campi da un'esplorazione: personalizza l'esperienza di esplorazione per gli utenti e semplifica l'elenco dei campi da cui gli utenti possono scegliere nel selettore di campi.
Ingredienti
- Il parametro
set
di LookML - Parametro LookML
fields
(per le esplorazioni) - Il parametro
drill_fields
(per i campi) di LookML - Parametro LookML
drill_fields
(per le viste)
Prerequisiti
Esempio: aggiungere gli stessi campi drill a più misure
Supponiamo che i tuoi utenti siano in grado di visualizzare in dettaglio dettagli più granulari ogni volta che visualizzano metriche di vendita in un report e che, selezionando un valore per la misura Conteggio nell'interfaccia utente 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 poi farvi riferimento in più misure affinché gli utenti possano esaminare in dettaglio:
set: user_details {
fields: [id, city, state, country]
}
Il set user_details
può essere utilizzato per definire un campo di drill 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 Count.
Puoi quindi riutilizzare questo insieme per creare campi drill 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 totale di vendita o Prezzo di vendita medio nell'interfaccia utente Esplora, Looker apre una finestra contenente una query sui campi ID, Città, Stato e Paese.
Per apportare modifiche ai campi drill, ad esempio per aggiungere o rimuovere un campo, devi solo aggiornare l'insieme user_details
.
Puoi anche fare riferimento a un set nel parametro drill_fields
di una vista per definire i campi drill per tutte le misure all'interno della vista per i quali non sono ancora specificati campi drill a livello di campo.
Esempio: includere o omettere un insieme di campi da un'esplorazione
Supponiamo che tu voglia semplificare il selettore dei campi Esplora per gli utenti, escludendo i campi che non sono fondamentali per questi utenti.
Ad esempio, supponi di avere una vista users
contenente informazioni sui tuoi clienti, compresi i campi ID, Nome, Cognome, Email ed Età, nonché campi relativi alla località come Città, Stato, Paese e CAP. La visualizzazione users
è unita all'esplorazione orders
:
E se volessi escludere i campi Nome, Cognome, Email, Età e Genere dalla sezione 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
avrebbe il seguente aspetto:
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 tranne quelli nel set user_info
dalla 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
viene escluso dall'esplorazione con la sintassi -users.user_details*
nel parametro fields
dell'esplorazione orders
, la visualizzazione Ordini all'interno dell'esplorazione Ordini senza dati utente omette i campi elencati nell'insieme users_user.info
dal selettore campi Esplora.
Puoi riutilizzare l'insieme user_info
per omettere questi campi dall'interfaccia utente Esplora per qualsiasi altra esplorazione a cui è unita la vista users
. Per apportare modifiche all'insieme user_info
, ad esempio per aggiungere o rimuovere un campo, devi solo aggiornare l'insieme user_info
.