Questa pagina si riferisce al parametro
sql_analytic_model_name, che fa parte di una vista.
sql_analytic_model_namepuò essere utilizzato anche nell'ambito di un'esplorazione, come descritto nella pagina della documentazione dedicata al parametrosql_analytic_model_name(per le esplorazioni).
Utilizzo
view: view_name {
sql_analytic_model_name: analytic_model_name ;;
}
|
Gerarchia
sql_analytic_model_name |
Valore predefinito
Nessuno
Accetta
Un nome di modello analitico nel database
Regole speciali
|
Definizione
Per le connessioni BigQuery e Snowflake, il parametro sql_analytic_model_name specifica il nome di un modello analitico esistente nel database (un grafico BigQuery o una vista semantica in Snowflake) da utilizzare come base per una vista LookML. In questo modo puoi sfruttare i modelli analitici definiti direttamente nel database, come i grafici BigQuery o le viste semantiche in Snowflake.
In questo scenario, l'oggetto modello analitico esiste già nel database ed è gestito dal database; il modello analitico non viene creato, gestito o regolamentato da Looker. Questo è analogo al modo in cui le tabelle di database regolari esposte come viste LookML utilizzando sql_table_name non sono regolate da Looker.
Nel file di visualizzazione LookML, utilizza il parametro sql_analytic_model_name per indicare a Looker il modello analitico nel database. Poi crea dimensioni e metriche Looker da mappare al modello analitico in modo da poter utilizzare Looker per eseguire query sul modello analitico.
Definizione dell'ambito dei nomi dei modelli analitici
Quando fai riferimento a un modello analitico utilizzando solo il nome del modello analitico, Looker utilizza il percorso di ricerca predefinito (il database e lo schema) che l'amministratore di Looker ha configurato nelle impostazioni della connessione al database.
Se devi fare riferimento a un modello analitico in un database e uno schema diversi che non si trovano nel percorso di ricerca predefinito dell'utente del database, puoi definire l'ambito del nome del modello analitico utilizzando il formato <database_name>.<schema_name>.<analytic_model_name> per puntare a un altro database o schema:
- Per fare riferimento a un modello analitico da uno schema diverso, utilizza
<schema_name>.<analytic_model_name>. - Per fare riferimento a un modello analitico da un database diverso, utilizza il formato completo
<database_name>.<schema_name>.<analytic_model_name>.
Per una connessione Google BigQuery, puoi fare riferimento a un modello analitico in un progetto e un set di dati diversi definendo l'ambito del nome del modello analitico utilizzando il formato <project_name>.<dataset_name>.<analytic_model_name>. Per ulteriori informazioni, consulta la pagina della documentazione relativa alla connessione Google BigQuery.
Creare dimensioni e metriche LookML in base alla vista analitica
Dopo aver creato un file di vista e identificato un modello analitico come sql_analytic_model_name, nello stesso file di vista puoi definire le dimensioni e le misure LookML basate sul modello analitico.
Per informazioni sulla sintassi SQL corretta da utilizzare per fare riferimento agli elementi del modello analitico, consulta la documentazione del dialetto. Ad esempio, per creare una dimensione LookML da un'entità di un grafico BigQuery, devi utilizzare i trattini bassi per separare gli elementi quando definisci l'ambito. Ad esempio, per il grafico BigQuery, questa dimensione LookML si basa sulla proprietà location_id nella tabella dei nodi Stores:
dimension: location_id {
type: number
sql: Stores_location_id ;;
}
Tuttavia, per creare una dimensione LookML basata su una vista semantica Snowflake, devi utilizzare il nome non qualificato di una metrica o di una dimensione.
Esempio
Di seguito è riportato un esempio di grafico BigQuery denominato StoreGraph definito in un database BigQuery:
CREATE OR REPLACE PROPERTY GRAPH mydataset.StoreGraph
NODE TABLES (
mydataset.Stores AS S,
mydataset.Locations AS L
PROPERTIES(id, name, population, MEASURE(SUM(population)) AS total_population)
)
EDGE TABLES (
mydataset.Stores AS SL
SOURCE KEY (location_id) REFERENCES L (id)
DESTINATION KEY (name) REFERENCES S (name)
);
Di seguito è riportato un esempio di vista LookML basata sul grafico BigQuery StoreGraph, incluse le dimensioni e le metriche mappate al grafico:
view: MyStoreGraphView {
sql_analytic_model_name: StoreGraph ;;
dimension: location_id {
type: number
sql: Stores_location_id ;;
}
dimension: population {
type: number
sql: Locations_population ;;
}
dimension: location_name {
type: string
sql: Locations_name ;;
}
measure: locations_total_population {
type: number
sql: Locations_total_population ;;
}
}
Aspetti da considerare
Considerazioni sui modelli analitici in Looker
Quando utilizzi i modelli analitici nel database, tieni presente le seguenti considerazioni e limitazioni:
Tipi di dati: con i modelli analitici sono supportati solo i seguenti tipi di dati per dimensioni e metriche:
- Supportati per dimensioni e metriche:
stringnumberdateyesno
- Supportati solo per le dimensioni:
timedate_time
- Supportati per dimensioni e metriche:
Misure:
- Le misure di base devono essere predefinite: le misure di base devono essere predefinite nel modello analitico del database sottostante. Looker non può definire una nuova misura di base eseguendo un'aggregazione (ad esempio
type: sumotype: count) su una dimensione di un modello analitico. Le misure basate su altre misure sono supportate: puoi utilizzare il parametro
sqldi una misura LookML per eseguire calcoli non aggregati che utilizzano misure di base predefinite del modello analitico. Quando crei una misura basata su altre misure, non puoi definire la nuova misura come tipo di misura aggregata, ad esempiosumocount. Devi definire la nuova misura come tipo di misura non aggregata, ad esempiostring,number,dateoyesno. Vedi il seguente esempio:measure: average_order_amount { type: number sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;; }
- Le misure di base devono essere predefinite: le misure di base devono essere predefinite nel modello analitico del database sottostante. Looker non può definire una nuova misura di base eseguendo un'aggregazione (ad esempio
Join: un'esplorazione la cui vista di base è basata su un modello analitico non può includere join. Allo stesso modo, una vista basata su un modello analitico non può essere unita a un'esplorazione con una vista di base LookML standard.
Join impliciti: le funzionalità che si basano su join impliciti non sono supportate per i modelli analitici. Alcuni esempi di funzionalità che si basano su join impliciti sono i calendari personalizzati e i campi definiti con
type: location,type: distanceotype: zipcode.Le seguenti funzionalità non sono supportate con i modelli analitici:
Il modello analitico deve essere accessibile dalla connessione corrente
Quando il parametro sql_analytic_model_name viene utilizzato all'interno di un oggetto view, è possibile fare riferimento a questo oggetto view in un oggetto explore, a cui a sua volta viene fatto riferimento in un oggetto modello. L'oggetto modello ha una connection al database definita al suo interno. Quando fai riferimento a un modello analitico nel parametro sql_analytic_model_name, il modello analitico deve essere accessibile all'interno della connessione associata specificata nel file del modello.
Il database e lo schema predefiniti (o, per Google BigQuery, il progetto di fatturazione e il set di dati) vengono definiti dall'amministratore di Looker quando crea la connessione Looker al database.