Cette page fait référence au
sql_table_nameparamètre qui fait partie d'une jointure.
sql_table_namepeut également être utilisé dans une vue, comme décrit sur la page de documentation du paramètresql_table_name(pour les vues).
sql_table_namepeut également être utilisé dans une exploration, comme décrit sur la page de documentation du paramètresql_table_name(pour les explorations).
Utilisation
explore: view_name {
join: view_name {
sql_table_name: table_name ;;
}
}
sql_table_name |
Valeur par défaut
Aucun
Acceptation
Nom de table dans votre base de données
Règles spéciales
|
Définition
En règle générale, la vue sur laquelle repose une join définit la table à interroger.
Vous pouvez utiliser sql_table_name pour définir la table de votre base de données à interroger par une join. Cette pratique est inhabituelle, mais elle peut être utile lorsque plusieurs tables ont le même schéma. Elle permet d'utiliser la même vue pour les décrire toutes. sql_table_name vous permet de spécifier les tables à utiliser par la vue à laquelle vous vous joignez. Dans ce cas, envisagez d'utiliser extends ou des affinements.
Limiter les noms de tables
Lorsque vous référencez une table en utilisant uniquement son nom, Looker utilise le chemin de recherche par défaut (la base de données et le schéma) que votre administrateur Looker a configuré dans les paramètres de la connexion à la base de données. Pour en savoir plus, consultez la section Éléments à prendre en compte de cette page.
Si vous devez référencer une table dans une base de données et un schéma différents qui ne figurent pas dans le chemin de recherche par défaut de l'utilisateur de la base de données, vous pouvez limiter le nom de la table au format <database_name>.<schema_name>.<table_name> pour pointer vers une autre base de données ou un autre schéma :
- Pour référencer une table à partir d'un schéma différent, utilisez
<schema_name>.<table_name>, comme illustré dans l'exemple de cette page. - Pour référencer une table à partir d'une base de données différente, utilisez le format complet
<database_name>.<schema_name>.<table_name>.
Pour une connexion Google BigQuery, vous pouvez référencer une table dans un projet et un ensemble de données différents en limitant le nom de la table au format <project_name>.<dataset_name>.<table_name>. Pour en savoir plus, consultez la page de documentation sur la connexion Google BigQuery.
Exemples
Dans cet exemple, la jointure customers repose sur la table customer_1 du schéma par défaut :
explore: orders {
join: customers {
sql_table_name: customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Dans cet exemple, la jointure customers repose sur la table customer_1 du schéma analytics en limitant le nom de la table pour inclure le nom du schéma (au format <schema_name>.<table_name>) :
explore: orders {
join: customers {
sql_table_name: analytics.customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Éléments à prendre en compte
Les tables référencées par sql_table_name doivent être accessibles à partir de la connexion actuelle
Lorsque le sql_table_name paramètre est utilisé dans un join objet, cet objet join est défini dans un explore objet, qui est à son tour inclus dans un modèle objet. (La hiérarchie de cette page illustre cette chaîne de relations.) L'objet de modèle contient une base de données connection définie. Lorsque vous référencez une table de base de données dans le paramètre sql_table_name, la table doit être accessible dans la connexion associée spécifiée dans le fichier de modèle.
La base de données et le schéma par défaut (ou, pour Google BigQuery, le projet de facturation et l'ensemble de données) sont définis par votre administrateur Looker lorsqu'il crée la connexion Looker à votre base de données.
Pour nommer une join différemment de la table sous-jacente, appliquez sql_table_name au niveau de la vue
L'utilisation de sql_table_name au niveau join, comme décrit sur cette page, est rare. Elle ne doit être utilisée que lorsque la même vue peut décrire plusieurs tables.
La méthode la plus courante consiste à utiliser sql_table_name au niveau de la vue pour nommer une vue différemment du nom de la table sous-jacente.
Au lieu de ceci :
Fichier de modèle
explore: orders {
join: customers {
sql_table_name: customer_1 ;;
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}}
procédez comme suit :
Fichier de modèle
explore: orders {
join: customers {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Fichier de vue
view: customers {
sql_table_name: customer_1 ;;
}