Un modo per rendere i progetti LookML più efficienti e più facili da gestire è utilizzare il parametro set di LookML. Il parametro set consente di raggruppare i campi che potrebbero essere ripetuti spesso nel progetto all'interno del parametro fields o dei campi di drill-down. Se utilizzi un set 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 progetti LookML più efficienti e gestibili:
- Aggiungere gli stessi campi di drill-down a più misure: definisci i campi di drill-down per i dettagli che gli utenti vogliono vedere più spesso quando eseguono il drill-down nelle aggregazioni.
- Includere o omettere un set 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.
Riferimenti
- Il parametro
setdi LookML - Il parametro
fieldsdi LookML (per le esplorazioni) - Il parametro
drill_fieldsdi LookML (per i campi) - Il parametro
drill_fieldsdi LookML (per le visualizzazioni)
Prerequisiti
Esempio: aggiungere gli stessi campi di drill-down a più misure
Supponiamo che tu voglia consentire agli utenti di eseguire il drill-down per visualizzare dettagli 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 Count nell'interfaccia utente di esplorazione apra una query sui campi ID, City, State e Country:

Puoi creare un set denominato user_details che includa i campi id, city, state e country, quindi farvi riferimento in più misure per consentire agli utenti di esaminare in dettaglio:
set: user_details {
fields: [id, city, state, country]
}
Il set user_details può essere utilizzato per definire un campo di drill-down 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 esegui l'esplorazione in dettaglio nella misura Count.
Puoi 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 Count , quando un utente seleziona un valore per Order Count, Total Sale Price o Average Sale Price nell'interfaccia utente di esplorazione, Looker apre una finestra contenente una query sui campi ID, City, State e Country.
Se vuoi modificare i campi di drill-down, ad esempio aggiungendo o rimuovendo un campo, dovrai aggiornare solo il set user_details.
Puoi anche fare riferimento a un set all'interno del drill_fields parametro di una visualizzazione per definire i campi di drill-down per tutte le misure all'interno di quella visualizzazione che non hanno già campi di drill-down specificati a livello di campo.
Esempio: includere o omettere un set di campi da un'esplorazione
Supponiamo che tu voglia semplificare il selettore campi di esplorazione per gli utenti escludendo i campi che non sono fondamentali per questi utenti.
Ad esempio, supponiamo di avere una visualizzazione users che contiene informazioni sui clienti, inclusi i campi per ID, First Name, Last Name, Email e Age, nonché i campi di località come City, State, Country e Zip. La visualizzazione users è unita all'esplorazione orders:

Cosa succede se vuoi escludere i campi First Name, Last Name, Email, Age e Gender dall'esplorazione per i tuoi utenti? Puoi creare un set denominato user_info che elenca i campi che vuoi escludere dall'esplorazione Orders:

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 Orders con l'etichetta Orders Without User Data, 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 del 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 Orders all'interno dell'esplorazione Orders Without User Data omette i campi elencati nel set users_user.info dal selettore campi dell'esplorazione.
Puoi riutilizzare il set user_info per omettere questi campi dall'interfaccia utente di esplorazione per qualsiasi altra esplorazione a cui è unita la visualizzazione users. Se vuoi modificare il set user_info, ad esempio aggiungendo o rimuovendo un campo, dovrai aggiornare solo il set user_info.