sql_table_name (para combinaciones)

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ámetro sql_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ámetro sql_table_name (para Explorar).

Uso

explore: view_name {
join: view_name {
sql_table_name: table_name ;;
}
}
Jerarquía
sql_table_name
Valor predeterminado
Ninguna

Acepta
Un nombre de tabla en tu base de datos

Reglas especiales
  • La tabla debe ser accesible dentro de la conexión de la base de datos
  • Si la tabla está en un esquema diferente, se debe especificar el esquema
  • Si se une a través de bases de datos, se deben especificar la base de datos y el esquema, y la otra debe estar en la misma máquina y estar en el mismo dialecto de SQL.

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