Questa pagina si riferisce al parametro
sql_table_nameche fa parte di un join.
sql_table_namepuò essere utilizzato anche nell'ambito di una vista, come descritto nella pagina della documentazione dedicata al parametrosql_table_name(per le viste).
sql_table_namepuò essere utilizzato anche nell'ambito di un'esplorazione, come descritto 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
Il nome di una tabella nel database
Regole speciali
|
Definizione
In genere, la vista su cui si basa un join definisce la tabella su cui eseguire la query.
Puoi utilizzare sql_table_name per impostare la tabella nel database in modo che venga interrogata da un join. Si tratta di una situazione insolita, ma può essere utile quando più tabelle hanno lo stesso schema, in quanto consente di utilizzare la stessa visualizzazione per descriverle tutte. sql_table_name consente di specificare le tabelle da utilizzare nella vista che stai unendo. In questi casi, valuta la possibilità di utilizzare extends o miglioramenti.
Nomi delle tabelle con ambito
Quando fai riferimento a una tabella utilizzando solo il nome della tabella, Looker utilizza il percorso di ricerca predefinito (il database e lo schema) che l'amministratore di Looker ha configurato nelle impostazioni per la connessione al database. Per saperne di più, consulta la sezione Aspetti da considerare di 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 un altro database o schema:
- Per fare riferimento a una tabella di uno schema diverso, utilizza
<schema_name>.<table_name>, come mostrato nell'esempio in questa pagina. - Per fare riferimento a una tabella di un database diverso, utilizza il
<database_name>.<schema_name>.<table_name>completo.
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 a 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 limitando il 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 attuale
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, che a sua volta è incluso in un oggetto model. La gerarchia in questa pagina mostra questa catena di relazioni. L'oggetto di modello ha un database connection definito al suo interno. Quando fai riferimento a una tabella del 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 la connessione al database.
Per assegnare un nome a un join diverso da quello della 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 visualizzazione può descrivere più tabelle.
Il metodo più comune consiste nell'utilizzare sql_table_name a livello di vista per assegnare un nome a una vista diverso da quello della tabella sottostante.
Invece di questo:
File del modello
explore: orders {
join: customers {
sql_table_name: customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}}
Procedi in questo modo:
File del modello
explore: orders {
join: customers {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Visualizza file
view: customers {
sql_table_name: customer_1 ;;
}