Questa pagina si riferisce al parametro
sql_table_name
che fa parte di un join.
sql_table_name
può essere utilizzato anche come parte di una vista, descritto nella pagina della documentazione relativa al parametrosql_table_name
(per viste).
sql_table_name
può essere utilizzato anche come parte di un'esplorazione, descritto nella pagina della documentazione relativa al parametrosql_table_name
(per le esplorazioni).
Utilizzo
join: view_name {
sql_table_name: table_name ;;
}
}
Gerarchia
sql_table_name |
Valore predefinito
NessunaAccetta
Un nome tabella nel tuo databaseRegole speciali
|
Definizione
In genere, la vista su cui si basa join
definisce la tabella su cui eseguire query.
Puoi utilizzare sql_table_name
per impostare la query per una tabella nel tuo database con un oggetto join
. Ciò è insolito, ma può essere utile quando più tabelle hanno lo stesso schema; consente di utilizzare la stessa vista per descrivere tutte le tabelle. sql_table_name
ti consente di specificare le tabelle da utilizzare nella vista a cui partecipi. In questi casi, puoi utilizzare extends
o i perfezionamenti.
Per fare riferimento a una tabella di uno schema diverso, puoi utilizzare schema_name.table_name
. Per fare riferimento a una tabella da un database diverso, puoi utilizzare database_name.schema_name.table_name
. Tuttavia, le unioni tra database richiedono che i database siano sulla stessa macchina e che siano nello stesso dialetto SQL.
Se non specifichi esplicitamente lo schema, Looker utilizza quello predefinito che hai impostato. L'impostazione predefinita è configurata nella sezione Admin (Amministrazione) di Looker in Connections (Connessioni).
Esempi
Fai in modo che il join 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} ;;
}
}
Fai in modo che customers
Esplora si basi sulla tabella customer_1
dello schema analytics
:
explore: orders {
join: customers {
sql_table_name: analytics.customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Sfide comuni
Le tabelle a cui si fa riferimento in sql_table_name
devono essere accessibili dalla connessione attuale
sql_table_name
verrà utilizzato con un'unione che, a sua volta, fa parte di un modello. Al modello è associata una connessione al database. Tutte le tabelle a cui fai riferimento in sql_table_name
devono essere accessibili all'interno della connessione al database.
Aspetti da tenere presenti
Per assegnare un nome a join
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, è insolito. Deve essere utilizzato solo quando la stessa vista può descrivere più tabelle.
Il metodo più tipico è utilizzare sql_table_name
a livello di vista per assegnare un nome a una vista in modo diverso rispetto al nome della tabella sottostante.
Invece di questo:
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} ;;
}
}
Visualizza file
view: customers {
sql_table_name: customer_1 ;;
}