Cette page fait référence au paramètre
sql_table_namequi 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 d'une table de votre base de données
Règles spéciales
|
Définition
En général, 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 un join. Cette situation 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 que vous associez. Dans ce cas, envisagez d'utiliser extends ou des affinements.
Noms de tables de portée
Lorsque vous faites référence à 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 Points à prendre en compte de cette page.
Si vous devez faire référence à 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 définir le nom de la table à l'aide du 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 provenant d'un autre schéma, utilisez
<schema_name>.<table_name>, comme indiqué dans l'exemple de cette page. - Pour référencer une table provenant d'une autre base de données, utilisez le
<database_name>.<schema_name>.<table_name>complet.
Pour une connexion Google BigQuery, vous pouvez faire référence à une table dans un autre projet et ensemble de données en définissant 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
Cet exemple fait en sorte que la jointure customers s'appuie 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 s'appuie sur la table customer_1 du schéma analytics en définissant le champ d'application du 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 paramètre sql_table_name est utilisé dans un objet join, cet objet join est défini dans un objet explore, qui est lui-même inclus dans un objet model. (La hiérarchie sur cette page montre cette chaîne de relations.) L'objet de modèle contient une connection de base de données. 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 la connexion à la base de données.
Pour nommer un join différemment de la table sous-jacente, appliquez sql_table_name au niveau de la vue.
Il est rare d'utiliser sql_table_name au niveau join, comme décrit sur cette page. Il ne doit être utilisé 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} ;;
}
}}
Pour ce faire :
Fichier de modèle
explore: orders {
join: customers {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Afficher le fichier
view: customers {
sql_table_name: customer_1 ;;
}