sql_table_name (para uniones)

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, como se describe 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 una exploración, como se describe en la página de documentación del parámetro sql_table_name (para exploraciones).

Uso

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

Acepta
Nombre de una tabla en tu base de datos

Reglas 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á un join. Esto es inusual, pero puede ser útil cuando varias tablas tienen el mismo esquema, ya que permite usar la misma vista para describirlas todas. sql_table_name te permite especificar qué tablas debe usar la vista a la que te unes. En esas situaciones, considera usar extends o refinamientos.

Nombres de tablas de alcance

Cuando haces referencia a una tabla solo con el nombre de la tabla, Looker usará la ruta de búsqueda predeterminada (la base de datos y el esquema) que tu administrador de Looker configuró en los parámetros de configuración de la conexión de la base de datos. Consulta la sección Aspectos a tener en cuenta de esta página para obtener más información.

Si necesitas hacer referencia a una tabla en una base de datos y un esquema diferentes que no se encuentran en la ruta de búsqueda predeterminada del usuario de la base de datos, puedes definir el alcance del nombre de la tabla con el formato <database_name>.<schema_name>.<table_name> para que apunte a otra base de datos o esquema:

  • Para hacer referencia a una tabla de un esquema diferente, usa <schema_name>.<table_name>, como se muestra en el ejemplo de esta página.
  • Para hacer referencia a una tabla de otra base de datos, usa el <database_name>.<schema_name>.<table_name> completo.

En el caso de una conexión de Google BigQuery, puedes hacer referencia a una tabla en un proyecto y un conjunto de datos diferentes si defines el alcance del nombre de la tabla con el formato <project_name>.<dataset_name>.<table_name>. Consulta la página de documentación de la conexión de Google BigQuery para obtener más información.

Ejemplos

En este ejemplo, la unión customers depende de la tabla customer_1 del esquema predeterminado:

explore: orders {
  join: customers {
    sql_table_name: customer_1 ;;
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

En este ejemplo, la unión customers depende de la tabla customer_1 del esquema analytics al delimitar el nombre de la tabla para incluir el nombre del esquema (con el formato <schema_name>.<table_name>):

explore: orders {
  join: customers {
    sql_table_name: analytics.customer_1 ;;
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Aspectos para tener en cuenta

Se debe poder acceder a las tablas a las que hace referencia sql_table_name desde la conexión actual.

Cuando el parámetro sql_table_name se usa dentro de un objeto join, ese objeto join se define dentro de un objeto explore, que a su vez se incluye en un objeto model. (La jerarquía de esta página muestra esta cadena de relaciones). El objeto del modelo tiene un connection de la base de datos definido en él. Cuando haces referencia a una tabla de la base de datos en el parámetro sql_table_name, se debe poder acceder a la tabla dentro de la conexión asociada especificada en el archivo del modelo.

El administrador de Looker define la base de datos y el esquema predeterminados (o, en el caso de Google BigQuery, el proyecto de facturación y el conjunto de datos) cuando crea la conexión de Looker a tu base de datos para la conexión de la base de datos.

Para asignar un nombre a un join diferente al de la tabla subyacente, aplica sql_table_name a nivel de la vista.

El uso de sql_table_name a nivel de join, como se describe en esta página, es poco común. Solo se debe usar cuando la misma vista puede describir varias tablas.

El método más habitual es usar sql_table_name a nivel de la vista para nombrar una vista de manera diferente al 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} ;;
  }
}}

Haz lo siguiente:

Archivo del modelo

explore: orders {
  join: customers {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Ver archivo

view: customers {
  sql_table_name: customer_1 ;;
}