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 dei 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
setdi LookML - Il parametro
fieldsdi LookML (per le esplorazioni) - Il parametro
drill_fieldsdi LookML (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-down. 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 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é il set user_details è 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 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 Esplora 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.