En esta página, se hace referencia al parámetro
sql_table_name
que forma parte de una unión.
sql_table_name
también se puede usar como parte de una vista, descrita en la página de documentación del parámetrosql_table_name
(para vistas).
sql_table_name
también se puede usar como parte de Explorar, descrito en la página de documentación del parámetrosql_table_name
(para Explorar).
Uso
join: view_name {
sql_table_name: table_name ;;
}
}
Jerarquía
sql_table_name |
Valor predeterminado
NingunaAcepta
Un nombre de tabla en tu base de datosReglas especiales
|
Definición
Por lo general, la vista en la que se basa un join
define la tabla que se consultará.
Puedes usar sql_table_name
para configurar la tabla de tu base de datos que consultará join
. Esto es inusual, pero puede ser útil cuando varias tablas tienen el mismo esquema, ya que permite que se use la misma vista para describirlas a todas. sql_table_name
te permite especificar qué tablas debe usar la vista que combinarás. En esas situaciones, considera usar extends
o perfeccionamientos.
Para hacer referencia a una tabla de un esquema diferente, puedes usar schema_name.table_name
. Para hacer referencia a una tabla de una base de datos diferente, puedes usar database_name.schema_name.table_name
. Sin embargo, las uniones entre bases de datos requieren que las bases de datos estén en la misma máquina y estén en el mismo dialecto de SQL.
Si no especificas de forma explícita el esquema, Looker usa el valor predeterminado que estableciste. El valor predeterminado se configura en la sección Administrador de Looker, en Conexiones.
Ejemplos
Haz que la unión customers
dependa de la tabla customer_1
del esquema predeterminado:
explore: orders {
join: customers {
sql_table_name: customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Haz que la exploración de customers
dependa de la tabla customer_1
del esquema de analytics
:
explore: orders {
join: customers {
sql_table_name: analytics.customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Desafíos habituales
Se debe poder acceder a las tablas a las que hace referencia sql_table_name
desde la conexión actual
sql_table_name
se usará con una unión que, a su vez, forma parte de un modelo. El modelo tendrá una conexión de base de datos definida. Cualquier tabla a la que hagas referencia en sql_table_name
debe ser accesible dentro de esa conexión de base de datos.
Qué debes saber
Para asignar un nombre a una join
de forma diferente a la tabla subyacente, aplica sql_table_name
a nivel de la vista.
No es común usar sql_table_name
a nivel de join
, como se describe en esta página. Solo debe usarse cuando la misma vista puede describir varias tablas.
El método más común es usar sql_table_name
a nivel de la vista para nombrar una vista de manera diferente que el nombre de la tabla subyacente.
En lugar de esto:
Archivo del modelo
explore: orders {
join: customers {
sql_table_name: customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}}
hacer esto:
Archivo del modelo
explore: orders {
join: customers {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Ver archivo
view: customers {
sql_table_name: customer_1 ;;
}