Questa pagina definisce i seguenti termini e concetti di base, che probabilmente incontrerai spesso durante lo sviluppo di LookML:
- Progetti LookML
- Strutture LookML principali (come modelli, viste ed Explore)
- Tabelle derivate
- Connessioni al database
- Sensibilità alle maiuscole
Look e dashboard definite dall'utente non sono descritti in questa pagina, in quanto gli utenti li creano senza utilizzare LookML. Tuttavia, le loro query si basano sugli elementi LookML sottostanti descritti in questa pagina.
Consulta il glossario di Looker per un elenco completo dei termini e delle definizioni utilizzati in Looker. Per una panoramica completa dei parametri LookML che puoi utilizzare in un progetto LookML, consulta la pagina Guida di riferimento rapido di LookML.
Per informazioni sulle sfumature tra termini e concetti simili in Looker e Looker Studio, consulta la pagina della documentazione Termini e concetti condivisi di Looker e Looker Studio.
progetto LookML
In Looker, un progetto è una raccolta di file che descrivono gli oggetti, le connessioni al database e gli elementi dell'interfaccia utente che verranno utilizzati per eseguire query SQL. Al livello più elementare, questi file descrivono le relazioni tra le tabelle del database e il modo in cui devono essere interpretate da Looker. I file possono includere anche parametri LookML che definiscono o modificano le opzioni presentate nell'interfaccia utente di Looker. Ogni progetto LookML si trova nel proprio repository Git per il controllo della versione.
Una volta collegato Looker al tuo database, puoi specificare la connessione al database da utilizzare per il tuo progetto Looker.
Puoi accedere ai tuoi progetti dal menu Sviluppo in Looker (per maggiori dettagli e altre opzioni, vedi Accedere ai file di progetto).
Per informazioni sulla creazione di un nuovo progetto, consulta la pagina della documentazione Generazione di un modello. Per informazioni sull'accesso e sulla modifica dei progetti LookML esistenti, consulta la pagina della documentazione Consultazione e modifica delle informazioni sui progetti.
Parti di un progetto
Come mostrato nel diagramma, di seguito sono riportati alcuni dei tipi di file più comuni in un progetto LookML:
- Un modello contiene informazioni sulle tabelle da utilizzare e su come devono essere unite tra loro. Qui in genere vengono definiti il modello, le relative esplorazioni e i relativi join.
- Una vista contiene informazioni su come accedere o calcolare le informazioni di ogni tabella (o di più tabelle unite). In genere, qui definisci la visualizzazione, le relative dimensioni e misure e i relativi set di campi.
- Un'esplorazione viene spesso definita all'interno di un file modello, ma a volte è necessario un file di esplorazione separato per una tabella derivata o per estendere o perfezionare un'esplorazione in più modelli.
- Un file manifest può contenere istruzioni per l'utilizzo di file importati da un altro progetto o per le impostazioni di localizzazione del tuo progetto.
Oltre ai file modello, visualizzazione, Esplora e manifest, un progetto può contenere altri tipi di file correlati a elementi come dashboard integrate, documentazione, localizzazione e altro ancora. Per ulteriori informazioni su questi tipi di file, nonché sugli altri tipi di file che puoi avere nel tuo progetto LookML, consulta la pagina della documentazione File di progetto LookML.
Questi file insieme costituiscono un progetto. Se utilizzi Git per il controllo delle versioni, in genere ogni progetto viene sottoposto a backup dal proprio repository Git.
Da dove provengono i progetti e i file LookML?
Il modo più comune per creare file LookML è generare un progetto LookML dal database. Puoi anche creare un progetto vuoto e creare manualmente i relativi file LookML.
Quando generi un nuovo progetto dal tuo database, Looker crea un insieme di base di file che puoi utilizzare come modello per sviluppare il progetto:
- Più file di visualizzazione, uno per ogni tabella del database.
- Un file modello. Il file del modello dichiara un'esplorazione per ogni visualizzazione. Ogni dichiarazione di esplorazione include la logica
join
per unire qualsiasi vista che Looker può determinare essere correlata all'esplorazione.
Da qui, puoi personalizzare il progetto rimuovendo le visualizzazioni e le esplorazioni indesiderate e aggiungendo dimensioni e misure personalizzate.
Strutture LookML principali
Come mostrato nelle parti di un diagramma di progetto, un progetto in genere contiene uno o più file modello, che contengono parametri che definiscono un modello e le relative esplorazioni e unioni. Inoltre, i progetti in genere contengono uno o più file di visualizzazione, ognuno dei quali contiene parametri che definiscono la visualizzazione e i relativi campi (incluse dimensioni e misure) e insiemi di campi. Il progetto può contenere anche un file manifest del progetto, che consente di configurare le impostazioni a livello di progetto. Questa sezione descrive queste strutture principali.
Modello
Un modello è un portale personalizzato nel database, progettato per fornire un'esplorazione intuitiva dei dati per utenti aziendali specifici. In un singolo progetto LookML possono esistere più modelli per la stessa connessione al database. Ogni modello può esporre dati diversi a utenti diversi. Ad esempio, gli agenti di vendita hanno bisogno di dati diversi rispetto ai dirigenti aziendali, quindi probabilmente svilupperai due modelli per offrire visualizzazioni del database appropriate per ogni utente.
Un modello specifica una connessione a un singolo database. Uno sviluppatore definisce anche le esplorazioni di un modello all'interno del file del modello. Per impostazione predefinita, le esplorazioni sono organizzate in base al nome del modello in cui sono definite. Gli utenti vedono i modelli elencati nel menu Explore.
Per ulteriori informazioni sui file modello, inclusi la struttura e la sintassi generale dei file modello, consulta la pagina Tipi di file in un progetto LookML nella documentazione.
Per informazioni dettagliate sui parametri LookML che possono essere utilizzati in un file modello, consulta la pagina della documentazione Parametri del modello.
Visualizza
Una dichiarazione di visualizzazione definisce un elenco di campi (dimensioni o misure) e il loro collegamento a una tabella sottostante o derivata. In LookML, una vista in genere fa riferimento a una tabella di database sottostante, ma può anche rappresentare una tabella derivata.
Una vista può essere unita ad altre viste. La relazione tra le visualizzazioni viene in genere definita nell'ambito di una dichiarazione di esplorazione in un file del modello.
Per impostazione predefinita, i nomi delle visualizzazioni vengono visualizzati all'inizio dei nomi di dimensioni e metriche nella tabella dati dell'esplorazione. Questa convenzione di denominazione indica chiaramente a quale visualizzazione appartiene il campo. Nell'esempio seguente, i nomi delle viste Orders e Users sono elencati prima dei nomi dei campi nella tabella dati:
Per ulteriori informazioni sui file di visualizzazione, inclusi la struttura e la sintassi generale dei file di visualizzazione, consulta la documentazione Tipi di file in un progetto LookML.
Per informazioni dettagliate sui parametri LookML che possono essere utilizzati in un file di visualizzazione, consulta la pagina della documentazione Parametri di visualizzazione.
Esplora
Un'esplorazione è una visualizzazione su cui gli utenti possono eseguire query. Puoi considerare l'esplorazione come punto di partenza per una query o, in termini SQL, come FROM
in un'istruzione SQL. Non tutte le visualizzazioni sono esplorazioni, perché non tutte descrivono un'entità di interesse. Ad esempio, una visualizzazione Stati che corrisponde a una tabella di ricerca per i nomi degli stati non giustifica un'esplorazione, perché gli utenti aziendali non hanno mai bisogno di interrogarla direttamente. D'altra parte, gli utenti aziendali probabilmente vogliono un modo per eseguire query su una visualizzazione Ordini, quindi definire un'esplorazione per Ordini ha senso. Per informazioni su come gli utenti interagiscono con le esplorazioni per eseguire query sui dati, consulta la pagina della documentazione Visualizzare e interagire con le esplorazioni in Looker.
In Looker, gli utenti possono visualizzare le esplorazioni elencate nel menu Esplora. Le esplorazioni sono elencate sotto i nomi dei modelli a cui appartengono.
Per convenzione, le esplorazioni vengono dichiarate nel file del modello con il parametro explore
. Nell'esempio seguente di un file del modello, l'esplorazione orders
per un database e-commerce è definita all'interno del file del modello. Le visualizzazioni orders
e customers
a cui viene fatto riferimento nella dichiarazione explore
sono definite altrove, nei rispettivi file di visualizzazione.
connection: order_database
include: "filename_pattern"
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
In questo esempio, il parametro connection
viene utilizzato per specificare la connessione al database per il modello, mentre il parametro include
viene utilizzato per specificare i file a cui il modello può fare riferimento.
La dichiarazione explore
in questo esempio specifica anche le relazioni di unione tra le viste. Per informazioni dettagliate sulle dichiarazioni join
, consulta la sezione relativa alle unioni in questa pagina. Visita la pagina della documentazione Parametri di join per saperne di più sui parametri LookML che possono essere utilizzati con il parametro join
.
Campi di dimensioni e misure
Le visualizzazioni contengono campi, principalmente dimensioni e misure, che sono i componenti fondamentali per le query di Looker.
In Looker, una dimensione è un campo raggruppabile e può essere utilizzata per filtrare i risultati delle query. Può essere uno dei seguenti:
- Un attributo associato direttamente a una colonna di una tabella sottostante
- Un fatto o un valore numerico
- Un valore derivato, calcolato in base ai valori di altri campi in una singola riga
In Looker, le dimensioni vengono sempre visualizzate nella clausola GROUP BY
dell'SQL generato da Looker.
Ad esempio, le dimensioni per una visualizzazione Prodotti potrebbero includere nome prodotto, modello prodotto, colore prodotto, prezzo prodotto, data di creazione del prodotto e data di fine ciclo di vita del prodotto.
Una misura è un campo che utilizza una funzione di aggregazione SQL, ad esempio COUNT
, SUM
, AVG
, MIN
o MAX
. Anche qualsiasi campo calcolato in base ai valori di altre misure è una misura. Le misure possono essere utilizzate per filtrare i valori raggruppati. Ad esempio, le metriche per una visualizzazione Vendite potrebbero includere il totale degli articoli venduti (un conteggio), il prezzo di vendita totale (una somma) e il prezzo di vendita medio (una media).
Il comportamento e i valori previsti per un campo dipendono dal tipo dichiarato, ad esempio string
, number
o time
. Per le misure, i tipi includono funzioni di aggregazione, come sum
e percent_of_previous
. Per maggiori dettagli, consulta Tipi di dimensioni e Tipi di misure.
In Looker, i campi sono elencati nella pagina Esplora nel selettore di campi a sinistra della pagina. Puoi espandere una visualizzazione nel selettore di campi per mostrare l'elenco dei campi disponibili per le query da quella visualizzazione.
Per convenzione, i campi vengono dichiarati come parte della visualizzazione a cui appartengono e vengono archiviati in un file di visualizzazione. L'esempio seguente mostra diverse dichiarazioni di dimensioni e misure. Nota l'utilizzo dell'operatore di sostituzione ($
) per fare riferimento ai campi senza utilizzare un nome di colonna SQL completamente ambito.
Ecco alcuni esempi di dichiarazioni di dimensioni e metriche:
view: orders {
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension: customer_id {
sql: ${TABLE}.customer_id ;;
}
dimension: amount {
type: number
value_format: "0.00"
sql: ${TABLE}.amount ;;
}
dimension_group: created {
type: time
timeframes: [date, week]
sql: ${TABLE}.created_at ;;
}
measure: count {
type: count # creates sql COUNT(orders.id)
sql: ${id} ;;
}
measure: total_amount {
type: sum # creates sql SUM(orders.amount)
sql: ${amount} ;;
}
}
Puoi anche definire un dimension_group
, che crea più dimensioni correlate al tempo contemporaneamente, e i campi filter
, che hanno una serie di casi d'uso avanzati, come i filtri basati su modelli.
Consulta la pagina della documentazione relativa ai parametri dei campi per informazioni dettagliate sulla dichiarazione dei campi e sulle varie impostazioni che possono essere applicate.
Unioni
Nell'ambito di una dichiarazione explore
, ogni dichiarazione join
specifica una vista che può essere unita all'esplorazione. Quando un utente crea una query che include campi di più viste, Looker genera automaticamente la logica di unione SQL per importare correttamente tutti i campi.
Ecco un esempio di join in una dichiarazione explore
:
# file: ecommercestore.model.lookml
connection: order_database
include: "filename_pattern" # include all the views
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
Per maggiori dettagli, visita la pagina della documentazione Utilizzo dei join in LookML.
File manifest del progetto
Il progetto potrebbe contenere un file manifest del progetto, che viene utilizzato per le impostazioni a livello di progetto, ad esempio quelle per specificare altri progetti da importare nel progetto corrente, definire costanti LookML, specificare impostazioni di localizzazione del modello e aggiungere estensioni e visualizzazioni personalizzate al progetto.
Ogni progetto può avere un solo file manifest. Il file deve essere denominato manifest.lkml
e trovarsi a livello root del repository Git. Quando utilizzi le cartelle nell'IDE, assicurati che il file manifest.lkml
venga mantenuto a livello root della struttura di directory del progetto.
Per importare file LookML da un progetto diverso, utilizza il file manifest del progetto per specificare un nome per il progetto corrente e la posizione di eventuali progetti esterni, che potrebbero essere archiviati localmente o in remoto. Ad esempio:
# This project
project_name: "my_project"
# The project to import
local_dependency: {
project: "my_other_project"
}
remote_dependency: ga_360_block {
url: "https://github.com/llooker/google_ga360"
ref: "4be130a28f3776c2bf67a9acc637e65c11231bcc"
}
Dopo aver definito i progetti esterni nel file manifest del progetto, puoi utilizzare il parametro include
nel file del modello per aggiungere file da questi progetti esterni al progetto corrente. Ad esempio:
include: "//my_other_project/imported_view.view"
include: "//ga_360_block/*.view"
Per saperne di più, consulta la pagina di documentazione Importazione di file da altri progetti.
Per aggiungere la localizzazione al modello, utilizza il file manifest del progetto per specificare le impostazioni di localizzazione predefinite. Ad esempio:
localization_settings: {
default_locale: en
localization_level: permissive
}
La specifica delle impostazioni di localizzazione predefinite è un passaggio della localizzazione del modello. Per ulteriori informazioni, consulta la pagina della documentazione Localizzazione del modello LookML.
Set
In Looker, un set è un elenco che definisce un gruppo di campi utilizzati insieme. In genere, i set vengono utilizzati per specificare i campi da visualizzare dopo che un utente visualizza in dettaglio i dati. I set di livelli di analisi vengono specificati campo per campo, in modo da avere il controllo completo sui dati visualizzati quando un utente fa clic su un valore in una tabella o in una dashboard. I set possono essere utilizzati anche come funzionalità di sicurezza per definire gruppi di campi visibili a utenti specifici.
Il seguente esempio mostra una dichiarazione di set in una vista order_items
, che definisce i campi che elencano i dettagli pertinenti di un articolo acquistato. Tieni presente che i campi dei riferimenti impostati da altre visualizzazioni specificando l'ambito.
set: order_items_stats_set {
fields: [
id, # scope defaults to order_items view
orders.created_date, # scope is "orders" view
orders.id,
users.name,
users.history, # show all products this user has purchased
products.item_name,
products.brand,
products.category,
total_sale_price
]
}
Per informazioni dettagliate sull'utilizzo dei set, consulta la pagina della documentazione del parametro set
.
Visualizza in dettaglio
In Looker, puoi configurare un campo in modo che gli utenti possano esaminare ulteriormente i dati in dettaglio. Il livello di analisi funziona sia nelle tabelle dei risultati delle query sia nelle dashboard. Il livello di analisi avvia una nuova query limitata dal valore su cui fai clic.
Il comportamento di visualizzazione in dettaglio è diverso per dimensioni e misure:
- Quando esamini in dettaglio una dimensione, la nuova query viene filtrata in base al valore esaminato. Ad esempio, se fai clic sulla data specifica in una query degli ordini dei clienti per data, la nuova query mostrerà gli ordini solo in quella data specifica.
- Quando esegui il drill-down su una misura, la nuova query mostra il set di dati che ha contribuito alla misura. Ad esempio, quando fai il drill-down di un conteggio, la nuova query mostra le righe per calcolare quel conteggio. Quando esegui il drill-down sulle misure massima, minima e media, vengono comunque visualizzate tutte le righe che hanno contribuito a quella misura. Ciò significa che il livello di analisi di una misura massima, ad esempio, mostra tutte le righe utilizzate per calcolare il valore massimo, non solo una singola riga per il valore massimo.
I campi da mostrare per la nuova query di visualizzazione in dettaglio possono essere definiti da un insieme oppure dai parametri drill_fields
(per i campi) o drill_fields
(per le visualizzazioni).
Tabelle derivate
Una tabella derivata è una query i cui risultati vengono utilizzati come se fosse una tabella effettiva nel database. Le tabelle derivate vengono create utilizzando il parametro derived_table
in una dichiarazione view
. Looker accede alle tabelle derivate come se fossero tabelle fisiche con un proprio insieme di colonne. Una tabella derivata viene esposta come vista separata e definisce dimensioni e misure nello stesso modo delle viste convenzionali. È possibile eseguire query sulla vista di una tabella derivata e unirla ad altre viste, proprio come qualsiasi altra vista.
Le tabelle derivate possono anche essere definite come tabelle derivate persistenti (PDT), ovvero tabelle derivate scritte in uno schema temporaneo del database e rigenerate automaticamente in base alla pianificazione specificata con una strategia di persistenza.
Per ulteriori informazioni, consulta la pagina della documentazione relativa alle tabelle derivate in Looker.
Connessione al database
Un altro elemento importante di un progetto LookML è la connessione al database che Looker utilizza per eseguire query sul tuo database. Un amministratore di Looker utilizza la pagina Connessioni per configurare le connessioni al database, mentre gli sviluppatori di LookML utilizzano il parametro connection
in un file modello per specificare la connessione da utilizzare per il modello. Se generi un progetto LookML dal tuo database, Looker compila automaticamente il parametro connection
nel file modello.
Distinzione tra maiuscole e minuscole
LookML è sensibile alle maiuscole, quindi assicurati di rispettare le maiuscole quando fai riferimento agli elementi LookML. Looker ti avvisa se hai fatto riferimento a un elemento inesistente.
Ad esempio, supponiamo che tu abbia un'esplorazione chiamata e_flights_pdt
e che uno sviluppatore LookML utilizzi una capitalizzazione errata (e_FLIGHTS_pdt
) per fare riferimento a questa esplorazione. In questo esempio, l'IDE di Looker mostra un avviso che indica che l'Esplorazione e_FLIGHTS_pdt
non esiste. Inoltre, l'IDE suggerisce il nome di un'esplorazione esistente, ovvero e_flights_pdt
:
Tuttavia, se il progetto conteneva sia e_FLIGHTS_pdt
che e_flights_pdt
, l'IDE di Looker non sarebbe in grado di correggerti, quindi dovresti assicurarti di quale versione intendevi. In genere, è consigliabile utilizzare le lettere minuscole per denominare gli oggetti LookML.
Anche i nomi delle cartelle IDE sono sensibili alle maiuscole. Quando specifichi i percorsi dei file, devi rispettare la combinazione di lettere maiuscole e minuscole dei nomi delle cartelle. Ad esempio, se hai una cartella denominata Views
, devi utilizzare le stesse maiuscole nel parametro include
. Anche in questo caso, l'IDE di Looker indicherà un errore se la capitalizzazione non corrisponde a una cartella esistente nel progetto: