Questa pagina si riferisce al parametro
sql_table_name, che fa parte di un'unione.
sql_table_namepuò essere utilizzato anche nell'ambito di una vista, come spiegato nella pagina della documentazione dedicata al parametrosql_table_name(per le viste).
sql_table_namepuò essere utilizzato anche nell'ambito di un'esplorazione, come spiegato nella pagina della documentazione dedicata al parametrosql_table_name(per le esplorazioni).
Utilizzo
explore: view_name {
join: view_name {
sql_table_name: table_name ;;
}
}
sql_table_name |
Valore predefinito
Nessuno
Accetta
Un nome di tabella nel database
Regole speciali
|
Definizione
In genere, la vista su cui si basa un'unione definisce la tabella su cui eseguire la query.join
Puoi utilizzare sql_table_name per impostare la tabella nel database su cui eseguire la query con un'join. Questa operazione è insolita, ma può essere utile quando più tabelle hanno lo stesso schema; consente di utilizzare la stessa vista per descriverle tutte. sql_table_name ti consente di specificare le tabelle da utilizzare nella vista a cui stai eseguendo l'unione. In questi casi, valuta la possibilità di utilizzare extends o perfezionamenti.
Definizione dell'ambito dei nomi delle tabelle
Quando fai riferimento a una tabella utilizzando solo il nome della tabella, Looker utilizzerà il percorso di ricerca predefinito (il database e lo schema) configurato dall'amministratore di Looker nelle impostazioni della connessione al database. Per ulteriori informazioni, consulta la sezione Aspetti da considerare in questa pagina.
Se devi fare riferimento a una tabella 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 della tabella utilizzando il formato <database_name>.<schema_name>.<table_name> per indirizzare a un altro database o schema:
- Per fare riferimento a una tabella di un altro schema, utilizza
<schema_name>.<table_name>, come mostrato nell'esempio in questa pagina. - Per fare riferimento a una tabella di un altro database, utilizza il formato completo
<database_name>.<schema_name>.<table_name>.
Per una connessione Google BigQuery, puoi fare riferimento a una tabella in un progetto e un set di dati diversi definendo l'ambito del nome della tabella utilizzando il formato <project_name>.<dataset_name>.<table_name>. Per ulteriori informazioni, consulta la pagina della documentazione relativa alla connessione Google BigQuery.
Esempi
Questo esempio fa sì che l'unione customers si basi sulla tabella customer_1 dello schema predefinito:
explore: orders {
join: customers {
sql_table_name: customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Questo esempio fa sì che l'unione customers si basi sulla tabella customer_1 dello schema analytics definendo l'ambito del nome della tabella in modo da includere il nome dello schema (utilizzando il formato <schema_name>.<table_name>):
explore: orders {
join: customers {
sql_table_name: analytics.customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Aspetti da considerare
Le tabelle a cui fa riferimento sql_table_name devono essere accessibili dalla connessione corrente
Quando il parametro sql_table_name viene utilizzato all'interno di un oggetto join, questo oggetto join viene definito all'interno di un oggetto explore, a sua volta incluso in un oggetto modello. (La gerarchia in questa pagina mostra questa catena di relazioni.) L'oggetto modello ha una connection al database definita al suo interno. Quando fai riferimento a una tabella di database nel parametro sql_table_name, la tabella 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.
Per assegnare a un join un nome diverso dalla tabella sottostante, applica sql_table_name a livello di vista
L'utilizzo di sql_table_name a livello di join, come descritto in questa pagina, è raro. Deve essere utilizzato solo quando la stessa vista può descrivere più tabelle.
Il metodo più comune consiste nell'utilizzare sql_table_name a livello di vista per assegnare a una vista un nome diverso dal nome della tabella sottostante.
Invece di:
File modello
explore: orders {
join: customers {
sql_table_name: customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}}
Esegui questa operazione:
File modello
explore: orders {
join: customers {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
File vista
view: customers {
sql_table_name: customer_1 ;;
}