本页中提及的
sql_table_name
参数是探索的一部分。
sql_table_name
也可以用作视图的一部分,如sql_table_name
(适用于视图)参数文档页面中所述。
sql_table_name
也可用作联接的一部分,如sql_table_name
(针对联接)参数文档页面所述。
用量
sql_table_name: table_name ;;
}
层次结构
sql_table_name |
默认值
“探索”视图基于的数据库表接受
数据库表的名称特殊规则
|
定义
sql_table_name
设置数据库中将由探索查询的表。通常情况下,“探索”被命名的视图会定义将查询的表。不过,如果多个表具有相同的结构,则可以使用同一视图描述所有表。sql_table_name
可让您指定应使用其中哪些表。
如果您需要从其他数据库/架构中引用表,可以使用 database_or_schema_name.table_name
。如果您未明确编写数据库/架构,Looker 将使用您设置的默认值。默认值是在 Looker 的“管理”部分中的连接下配置的。
示例
使 customers
探索依赖于默认数据库/架构中的 customer_1
表:
explore: customers {
sql_table_name: customer_1 ;;
}
使 customers
探索依赖于 analytics
数据库/架构中的 customer_1
表:
explore: customers {
sql_table_name: analytics.customer_1 ;;
}
常见挑战
“sql_table_name
”引用的表必须可通过当前连接访问
sql_table_name
是探索的一部分,而探索又是模型的一部分。模型将定义数据库连接。您在 sql_table_name
中引用的任何表都必须可以通过该数据库连接访问。
注意事项
如需为 view
指定与底层表不同的名称,请在 view
级别应用 sql_table_name
如本页所述,在 explore
级别使用 sql_table_name
并不常见。仅当同一个 view
可以描述多个表时,才应使用该字段。
如果您想为视图指定不同于底层表名的命名方式,则更常见的方法是在 view
级别使用 sql_table_name
。
换句话说,不是:
模型文件
explore: customers {
sql_table_name: customer_1 ;;
}
执行此操作:
模型文件
explore: customers { ... }
查看文件
view: customers {
sql_table_name: customer_1 ;;
}