sql_table_name(适用于“探索”)

本页中提及的 sql_table_name 参数是探索的一部分。

sql_table_name 也可以用作视图的一部分,如 sql_table_name(适用于视图)参数文档页面中所述。

sql_table_name 也可用作联接的一部分,如 sql_table_name(针对联接)参数文档页面所述。

用量

探索:discover_name {
sql_table_name: table_name ;;
}
层次结构
sql_table_name
默认值
“探索”视图基于的数据库表

接受
数据库表的名称

特殊规则
  • 仅当同一视图可以描述多个表时,才应使用 sql_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 ;;
}