sql_table_name (per join)

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 parametro sql_table_name (per viste).

sql_table_name può essere utilizzato anche come parte di un'esplorazione, descritto nella pagina della documentazione relativa al parametro sql_table_name (per le esplorazioni).

Utilizzo

Explore: view_name {
join: view_name {
sql_table_name: table_name ;;
}
}
Gerarchia
sql_table_name
Valore predefinito
Nessuna

Accetta
Un nome tabella nel tuo database

Regole speciali
  • La tabella deve essere accessibile all'interno della connessione al database
  • Se la tabella è in uno schema diverso, è necessario specificare lo schema
  • Se esegui l'unione tra più database, il database e lo schema devono essere specificati e l'altro database deve trovarsi sulla stessa macchina e avere lo stesso dialetto SQL.

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 ;;
}