Termini e concetti di LookML

Questa pagina definisce i seguenti termini e concetti fondamentali, che probabilmente incontrerai spesso durante lo sviluppo di LookML:

I Look e le dashboard definite dall'utente non sono descritti in questa pagina, poiché gli utenti li creano senza utilizzare LookML. Tuttavia, le loro query si basano sugli elementi LookML sottostanti discussi 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 di riferimento rapido di LookML.

progetto LookML

In Looker, un progetto è una raccolta di file che descrivono gli oggetti, le connessioni dei database e gli elementi dell'interfaccia utente che verranno utilizzati per eseguire query SQL. Al livello più basilare, questi file descrivono la correlazione tra le tabelle del tuo database e il modo in cui Looker dovrebbe interpretarle. I file possono anche includere parametri LookML che definiscono o modificano le opzioni presentate nell'interfaccia utente di Looker. Ogni progetto LookML risiede nel proprio repository Git per il controllo della versione.

Dopo aver connesso Looker al tuo database, puoi specificare la connessione del database da utilizzare per il tuo progetto Looker.

Puoi accedere ai tuoi progetti dal menu Sviluppo in Looker (vedi Accesso ai file di progetto per dettagli e altre opzioni).

Consulta gli articoli Creazione di un nuovo progetto LookML per informazioni su come creare un nuovo progetto e Accesso e modifica delle informazioni sul progetto per informazioni su come accedere ai progetti LookML esistenti e modificarli.

Parti di un progetto

Un progetto LookML può contenere modelli, viste e dashboard LookML, ognuna delle quali è composta da altri elementi LookML.

Come mostrato nel diagramma, di seguito sono riportati alcuni dei tipi di file più comuni in un progetto LookML:

  • Un model contiene informazioni su quali tabelle utilizzare e su come devono essere unite. Qui in genere definirai il modello, le esplorazioni e i join.
  • Una vista contiene informazioni su come accedere o calcolare le informazioni di ciascuna tabella (o su più tabelle unite). Qui in genere definirai la visualizzazione, le sue dimensioni e misure e i relativi set di campi.
  • Un'esplorazione viene spesso definita all'interno di un file del modello, ma a volte è necessario un file Esplora separato per una tabella derivata o per estendere o perfezionare un'esplorazione tra i 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 di modelli, visualizzazioni, esplorazioni e manifest, un progetto può contenere altri tipi di file relativi a elementi come dashboard integrate, documentazione, localizzazione e altro ancora. Per saperne di più su questi tipi di file e sugli altri tipi di file che puoi avere nel tuo progetto LookML, consulta la pagina della documentazione relativa ai file di progetto LookML.

Questi file formano un solo progetto. Se utilizzi Git per il controllo della versione, in genere viene eseguito il backup di ogni progetto sul 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 tuo database. Puoi anche creare un progetto vuoto e crearne manualmente i relativi file LookML oppure puoi creare un progetto clonando un repository Git esistente.

Quando generi un nuovo progetto dal tuo database, Looker crea un set di base di file che puoi utilizzare come modello per costruire il progetto:

  • Più file di visualizzazione, un file per ogni tabella nel database.
  • Un file model. Il file del modello dichiara un'esplorazione per ogni vista. Ogni dichiarazione di esplorazione include la logica join per unire qualsiasi vista che Looker può determinare come 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 del modello che contengono i parametri che definiscono un modello e le relative esplorazioni e unioni. Inoltre, i progetti in genere contengono uno o più file di vista, ciascuno contenente parametri che definiscono la vista e i relativi campi (incluse dimensioni e misure) e insiemi di campi. Il progetto può anche contenere un file manifest del progetto, che consente di configurare le impostazioni a livello di progetto. In questa sezione vengono descritte le strutture principali.

Modello

Un modello è un portale personalizzato all'interno del database, progettato per offrire un'esplorazione dei dati intuitiva 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 necessitano di dati diversi dai dirigenti dell'azienda, quindi probabilmente svilupperesti due modelli per offrire viste 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. I tuoi utenti vedranno i modelli elencati nel menu Esplora.

Consulta la pagina della documentazione Tipi di file in un progetto LookML per saperne di più sui file di modello, inclusa struttura e sintassi generale dei file di modello.

Consulta la pagina della documentazione Parametri modello per informazioni dettagliate sui parametri LookML che possono essere utilizzati in un file del modello.

View

Una dichiarazione "View" definisce un elenco di campi (dimensioni o misure) e il relativo collegamento a una tabella sottostante o a una tabella derivata. In LookML una vista in genere fa riferimento a una tabella di database sottostante, ma può anche rappresentare una tabella derivata.

Una visualizzazione potrebbe unirsi ad altre visualizzazioni. La relazione tra le viste è in genere definita come parte di una dichiarazione Esplora in un file del modello.

Per impostazione predefinita, i nomi delle viste vengono visualizzati all'inizio dei nomi delle dimensioni e delle misure nella tabella Esplora dati. Questa convenzione di denominazione indica chiaramente a quale vista appartiene il campo. Nell'esempio seguente, i nomi delle viste Orders e Users sono elencati prima dei nomi dei campi nella tabella di dati:

Tabella di dati per una query di esempio con i campi Data creazione ordini, ID utente e Conteggio ordini selezionati.

Consulta la documentazione relativa ai tipi di file in un progetto LookML per saperne di più sui file delle viste, inclusa la struttura e la sintassi generale dei file di visualizzazione.

Consulta la pagina della documentazione Visualizza parametri per informazioni dettagliate sui parametri LookML che possono essere utilizzati in un file di visualizzazione.

Esplora

Un'esplorazione è una vista su cui gli utenti possono eseguire query. Puoi considerare l'esplorazione come il punto di partenza per una query o, in termini SQL, come il FROM in un'istruzione SQL. Non tutte le visualizzazioni sono esplorazioni, perché non tutte le visualizzazioni descrivono un'entità di interesse. Ad esempio, una visualizzazione Stati che corrisponde a una tabella di ricerca dei nomi di stato non garantisce un'esplorazione, perché gli utenti aziendali non devono mai eseguire una query diretta. D'altra parte, gli utenti aziendali probabilmente vogliono un modo per eseguire query su una vista Orders, quindi definire un'esplorazione per Orders ha senso. Per informazioni su come gli utenti interagiscono con le esplorazioni per eseguire query sui dati, consulta la pagina della documentazione Visualizzazione e interazione con le esplorazioni in Looker.

In Looker, gli utenti possono visualizzare le esplorazioni 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. In questo esempio di file del modello riportato di seguito, l'esplorazione orders per un database di e-commerce viene definita all'interno del file del modello. Le viste 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 del 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 join tra le viste. Per maggiori dettagli sulle dichiarazioni join, visita la sezione sui join di questa pagina. Per ulteriori dettagli sui parametri LookML che possono essere utilizzati con il parametro join, consulta la pagina della documentazione relativa ai parametri di join.

Campi dimensione e misura

Le viste contengono campi, principalmente dimensioni e misure, che sono i componenti di base 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:

  • Un attributo che ha un'associazione diretta a una colonna in 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 di una visualizzazione Prodotti potrebbero includere il nome del prodotto, il modello del prodotto, il colore, il prezzo, la data di creazione e la data di fine del ciclo di vita del prodotto.

Una misura è un campo che utilizza una funzione di aggregazione SQL, come COUNT, SUM, AVG, MIN o MAX. Anche qualsiasi campo calcolato in base ai valori di altri valori di misura è una misura. Le misure possono essere utilizzate per filtrare i valori raggruppati. Ad esempio, le misure per una visualizzazione Vendite potrebbero includere il totale degli articoli venduti (un conteggio), il prezzo scontato totale (una somma) e il prezzo scontato 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, ad esempio sum e percent_of_previous. Per maggiori dettagli, consulta le sezioni Tipi di dimensioni e Tipi di misure.

In Looker, i campi sono elencati nella pagina Esplora nel selettore campi sul lato sinistro della pagina. Puoi espandere una vista nel selettore campi per mostrare l'elenco dei campi su cui è possibile eseguire query.

Per convenzione, i campi vengono dichiarati come parte della vista a cui appartengono, archiviati in un file di vista. 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 con ambito completo.

Ecco alcuni esempi di dichiarazioni di dimensioni e misure:

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 elemento dimension_group, che crea più dimensioni correlate al tempo contemporaneamente, e campi filter, che offrono una serie di casi d'uso avanzati come i filtri con modelli.

Per informazioni dettagliate sulla dichiarazione dei campi e sulle varie impostazioni che possono essere applicate, consulta la pagina della documentazione Parametri dei campi.

Unioni

Nell'ambito di una dichiarazione explore, ogni dichiarazione join specifica una vista a cui è possibile unire Esplora. Quando un utente crea una query che include campi di più viste, Looker genera automaticamente la logica di join 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 saperne di più, consulta 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, come quelle per specificare altri progetti da importare nel progetto corrente, definire le costanti LookML, specificare le 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 al livello principale del repository Git. Quando utilizzi cartelle nell'IDE, assicurati che il file manifest.lkml sia mantenuto al livello principale della struttura di directory del tuo progetto.

Per importare file LookML da un progetto diverso, utilizza il file manifest del progetto per specificare un nome per il progetto attuale 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 i file di questi progetti esterni al progetto corrente. Ad esempio:

include: "//my_other_project/imported_view.view"
include: "//ga_360_block/*.view"

Per ulteriori informazioni, consulta la pagina della documentazione Importazione di file da altri progetti.

Per aggiungere la localizzazione al modello, usa il file manifest del progetto per specificare le impostazioni di localizzazione predefinite. Ad esempio:

localization_settings: {
  default_locale: en
  localization_level: permissive
}

Specificare le impostazioni di localizzazione predefinite è un passaggio nella localizzazione del modello. Per saperne di più, consulta la pagina della documentazione Localizzazione del modello LookML.

Set

In Looker, un insieme è un elenco che definisce un gruppo di campi utilizzati insieme. In genere, gli insiemi vengono utilizzati per specificare quali campi visualizzare dopo che un utente ha eseguito la visualizzazione in dettaglio dei dati. I 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 una dashboard. Gli insiemi possono essere utilizzati anche come funzionalità di sicurezza per definire gruppi di campi visibili a utenti specifici. L'esempio seguente mostra una dichiarazione "set" in una vista order_items, che definisce i campi che elencano i dettagli pertinenti di un articolo acquistato. Tieni presente che il set fa riferimento ai campi di altre viste 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 relativa al parametro set.

Visualizza in dettaglio

In Looker, puoi configurare un campo in modo che gli utenti possano visualizzare in dettaglio i dati. 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 del livello di analisi è diverso per dimensioni e misure:

  • Quando visualizzi in dettaglio una dimensione, la nuova query filtra in base al valore visualizzato in dettaglio. Ad esempio, se fai clic sulla data specifica in una query di ordini dei clienti per data, la nuova query mostrerà solo gli ordini relativi a quella data specifica.
  • Quando visualizzi in dettaglio una misura, la nuova query mostrerà il set di dati che ha contribuito alla misura. Ad esempio, quando visualizzi in dettaglio un conteggio, la nuova query mostrerà le righe per calcolare quel conteggio. Quando visualizzi in dettaglio le misure massime, minime e medie, vengono visualizzate comunque tutte le righe che hanno contribuito a tale misura. Ciò significa che, analizzando in dettaglio una misura massima, vengono mostrate 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 livello di analisi possono essere definiti da un insieme oppure dal parametro drill_fields (per i campi) o dal parametro drill_fields (per le viste).

Tabelle derivate

Una tabella derivata è una query i cui risultati vengono utilizzati come se si trattasse di 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 il proprio insieme di colonne. Una tabella derivata viene esposta come una propria vista e definisce le dimensioni e le misure come le viste convenzionali. È possibile eseguire query sulla vista di una tabella derivata e unire ad altre viste, proprio come qualsiasi altra vista.

Le tabelle derivate possono anche essere definite tabelle derivate permanenti (PDT), ovvero tabelle derivate scritte in uno schema temporaneo sul database e rigenerate automaticamente in base alla pianificazione specificata con una strategia di persistenza.

Per saperne di più, consulta la pagina della documentazione 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 e gli sviluppatori LookML utilizzano il parametro connection in un file del 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 del modello.

Distinzione tra maiuscole e minuscole

LookML è sensibile alle maiuscole, quindi assicurati di utilizzare le maiuscole quando fai riferimento agli elementi LookML. Looker ti avvisa se fai riferimento a un elemento che non esiste.

Ad esempio, supponiamo che tu abbia un'esplorazione chiamata e_flights_pdt e che uno sviluppatore LookML utilizzi un uso errato delle lettere maiuscole (e_FLIGHTS_pdt) per fare riferimento a quell'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, che è e_flights_pdt:

Tuttavia, se il progetto conteneva sia e_FLIGHTS_pdt sia e_flights_pdt, l'IDE di Looker non sarebbe in grado di correggerti, quindi devi essere certo della versione che desideri. In genere, è consigliabile utilizzare le lettere minuscole quando si assegnano nomi agli oggetti LookML.

Anche i nomi delle cartelle IDE sono sensibili alle maiuscole. Ogni volta che specifichi percorsi di file, devi utilizzare le maiuscole nei nomi delle cartelle. Ad esempio, se hai una cartella denominata Views, devi utilizzare le stesse lettere maiuscole nel parametro include. Anche in questo caso, l'IDE di Looker indicherà un errore se le lettere maiuscole non corrispondono a una cartella esistente nel progetto:

L'IDE di Looker mostra un avviso che indica che l'inclusione non corrisponde ad alcun file.