Immagina di avere molti utenti che condividono un'esplorazione, ma che hanno casi d'uso diversi a seconda del team o della regione. Ogni utente vuole vedere solo i campi che si applicano ai suoi casi d'uso unici. Per soddisfare le diverse esigenze degli utenti, puoi utilizzare i perfezionamenti di LookML per personalizzare le visualizzazioni ed esplorazioni esistenti senza dover modificare il codice LookML originale. Puoi quindi includere queste viste ed esplorazioni perfezionate in file di modelli dedicati e separati, personalizzati in base alle diverse esigenze degli utenti.
Questa pagina fornisce un esempio dell'utilizzo dei perfezionamenti di LookML per personalizzare una singola visualizzazione di base e creare esplorazioni distinte per due team diversi all'interno della tua azienda. Sono inclusi anche esempi di occultamento e aggiunta di campi nei contenuti perfezionati.
Ingredienti
- Visualizzazioni di LookML
- Esplorazioni di LookML
- File del modello LookML
- Perfezionamenti di LookML
- File LookML generici per i perfezionamenti delle strutture
- Il parametro
include
di LookML - Il parametro
hidden
di LookML (per i campi) - Facoltativamente, accesso ai modelli per gli spettatori a modelli specifici, configurati da un amministratore di Looker
Prerequisiti
- Un modello LookML configurato
- Autorizzazioni per sviluppare LookML
- Esperienza nello sviluppo di modelli in LookML, inclusa la familiarità con concetti di LookML più avanzati come affinamenti ed estensioni
Esempio: creazione di più esplorazioni personalizzate dalla stessa visualizzazione di base
Supponiamo di avere un'esplorazione Vendite contenente dati su clienti, acquisti, spedizione e località. I team di marketing e logistica della tua azienda devono entrambi esplorare questi dati, ma si concentrano su campi diversi all'interno dell'esplorazione Vendite.
Vuoi visualizzare solo i campi utili a ciascun team nel selettore di campi di esplorazione per semplificare l'esplorazione. Per farlo, puoi definire due diversi perfezionamenti dell'esplorazione Vendite e della visualizzazione sales
su cui si basa. L'esplorazione del team di marketing può mostrare i campi relativi ai clienti e alle tendenze di acquisto, mentre l'esplorazione del team di logistica può mostrare i campi relativi alla spedizione e alla località. Puoi anche aggiungere nuovi campi a ogni visualizzazione perfezionata specifici per le esigenze di ciascun team.
Attualmente, il selettore di campi per l'esplorazione Vendite mostra tutti i campi della visualizzazione Vendite:
Il selettore di campi mostra anche tutti i campi della visualizzazione unita Utenti:
Per perfezionare la visualizzazione sales
e creare due esplorazioni distinte contenenti solo i campi di interesse per i team di marketing e logistica, segui questi passaggi:
Crea un nuovo file LookML, in questo esempio un file denominato
base_analysis.lkml
, contenente il codice LookML per l'esplorazione Vendite, basata sulla vistasales
e sulla vista unitausers
. Poiché vuoi utilizzare l'esplorazionesales
di base e le relative visualizzazioni per creare un'esplorazione personalizzata per ogni team, puoi definire tutti i campi e le proprietà condivisi in un'unica posizione, ad esempio in un singolo file.# base_analysis.lkml include: "views/sales.view.lkml" include: "views/inventory_items.view.lkml" include: "views/users.view.lkml" explore: sales { join: inventory_items { type: left_outer sql_on: ${sales.inventory_item_id} = ${inventory_items.id} ;; relationship: many_to_one } join: users { type: left_outer sql_on: ${sales.user_id} = ${users.id} ;; relationship: many_to_one } }
Crea due file separati per contenere i perfezionamenti dell'esplorazione Vendite che definirai per ogni team. Puoi assegnare i nomi
marketing_analysis.lkml
elogistics_analysis.lkml
ai file. Il codice LookML, mostrato di seguito, perfeziona l'esplorazionesales
di base come definita nel filebase_analysis.lkml
, mostrato in precedenza, per aggiungere l'etichetta Analisi vendite per il team di marketing in un nuovo file denominatomarketing_analysis.lkml
. L'istruzioneinclude: "/base/base_analysis.lkml"
rende disponibili i contenuti del filebase_analysis.lkml
per i riferimenti all'interno del filemarketing_analysis.lkml
.# marketing_analysis.lkml include: "/base/base_analysis.lkml" explore: +sales { label: "Sales Analysis for Marketing Team" }
Crea un file modello separato per ogni team, ad esempio
ecommerce_marketing.model
eecommerce_logistics.model
. Se inserisci i diversi perfezionamenti in modelli dedicati separati per ogni team, puoi perfezionare lo stesso insieme di viste ed esplorazioni più volte senza sovrascrivere le personalizzazioni che hai apportato per il caso d'uso di un team. Per ulteriori informazioni, consulta la pagina della documentazione relativa ai perfezionamenti di LookML.Con il parametro
include
, includimarketing_analysis.lkml
nel modelloecommerce_marketing.model
elogistics_analysis.lkml
nel modelloecommerce_logistics.model
.Aggiungi eventuali perfezionamenti ai file
marketing_analysis.lkml
elogistics_analysis.lkml
. Ad esempio, puoi nascondere i campi non necessari e aggiungere nuovi campi alle esplorazioni perfezionate per ogni team.
Se vuoi, puoi chiedere a un amministratore di Looker di configurare l'accesso ai modelli per ogni modello dedicato per fornire a team specifici l'accesso a livello di esplorazione.
Nascondere i campi non necessari dalle esplorazioni perfezionate
Puoi perfezionare la visualizzazione sales
come segue nel file marketing_analysis.lkml
per nascondere i gruppi di dimensioni Restituito, Spedito, Consegnato e Creato, nonché la dimensione Stato, poiché questi campi non vengono utilizzati dal team di marketing:
# marketing_analysis.lkml
include: "/base/base_analysis.lkml"
explore: +sales {
label: "Sales Analysis for Marketing Team"
}
view: +sales
dimension_group: returned {
hidden: yes
}
dimension_group: shipped {
hidden: yes
}
dimension_group: delivered {
hidden: yes
}
dimension_group: created {
hidden: yes
}
dimension: status {
hidden: yes
}
}
Analogamente, puoi utilizzare il seguente codice LookML nel file logistics_analysis.lkml
per nascondere i campi di cui il team di logistica non ha bisogno (ad esempio Profitto, Prezzo di vendita e Prezzo di vendita medio):
# logistics_analysis.lkml
include: "/base/base_analysis.lkml"
explore: +sales {
label: "Sales Analysis for Logistics Team"
}
view: +sales {
dimension: profit {
hidden: yes
}
dimension: sale_price {
hidden: yes
}
measure: average_sale_price {
hidden: yes
}
}
Poiché il team di logistica non ha bisogno di vedere informazioni personali sui clienti, come nomi, età o indirizzi email, puoi anche aggiungere un perfezionamento per la visualizzazione users
unita all'interno del file logistics_analysis.lkml
per nascondere questi campi dall'esplorazione:
view: +users {
dimension: age {
hidden: yes
}
dimension: email {
hidden: yes
}
dimension: first_name {
hidden: yes
}
dimension: last_name {
hidden: yes
}
dimension_group: created {
hidden: yes
}
}
Aggiunta di nuovi campi alle esplorazioni perfezionate
Puoi anche creare nuovi campi di interesse per il team di marketing all'interno della visualizzazione sales
perfezionata. Ad esempio, puoi aggiungere i campi Prezzo medio di vendita, Prezzo di vendita totale e Spesa media per utente nella visualizzazione sales
perfezionata:
Puoi utilizzare il seguente codice LookML per aggiungere questi campi alla vista sales
perfezionata nel file marketing_analysis.lkml
:
# marketing_analysis.lkml
view: +sales {
measure: average_sale_price {
type: average
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [detail*]
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [detail*]
}
measure: average_spend_per_user {
type: number
value_format_name: usd
sql: 1.0 * ${total_sale_price} / NULLIF(${users.count},0) ;;
drill_fields: [detail*]
}
}
L'esplorazione di marketing che hai creato conterrà i nuovi campi nella visualizzazione Vendite, oltre ai campi nella visualizzazione unita Utenti. I gruppi di dimensioni Restituito, Spedito, Consegnato e Creato e la dimensione Stato sono nascosti perché il team di marketing non ne ha bisogno.
Analogamente, per il team di logistica puoi creare nuovi campi utili, come Bucket dei tempi di spedizione e Tempo di spedizione medio:
Puoi utilizzare il seguente codice LookML per aggiungere questi campi alla vista sales
perfezionata nel file logistics_analysis.lkml
:
# logistics_analysis.lkml
view: +sales {
dimension: shipping_time_buckets {
case: {
when: {
sql: ${shipping_time} <= 7 ;;
label: "One Week"
}
when: {
sql: ${shipping_time} > 7 AND ${shipping_time} <= 14 ;;
label: "Two Weeks"
}
when: {
sql: ${shipping_time} > 14 ;;
label: "Over Two Weeks"
}
else: "Note Shipped"
}
}
measure: average_shipping_time {
type: average
value_format_name: decimal_4
sql: ${shipping_time} ;;
}
}
L'esplorazione della logistica che hai creato conterrà i nuovi campi nella visualizzazione Vendite, oltre ai campi nella visualizzazione unita Utenti. I campi Profitto, Prezzo di vendita e Prezzo di vendita medio della visualizzazione Vendite e i campi Età, Email, Nome, Cognome e Creato dell'esplorazione Utenti sono nascosti perché il team di logistica non ne ha bisogno.
Ora ogni team ha un'esplorazione più personalizzata in base alle proprie esigenze specifiche. Sebbene questo approccio richieda un po' più di configurazione iniziale, mantenendo i dati di base in un unico posto, puoi trovarli e utilizzarli più facilmente.