本页中提及的
from
参数是探索的一部分。
from
也可用作联接的一部分,如from
(针对联接)参数文档页面所述。
用量
发件人: 查看名称
}
层次结构
from |
默认值
名称与“探索”名称匹配的视图接受
现有视图的名称 |
定义
from
决定将定义“探索”各个字段的视图。如果省略 from
,Looker 会假设基础视图名称与探索名称相同。通常,仅当您希望“探索”及其字段与底层视图的名称不同时,才使用 from
。
为便于理解,我们假设在名为 underlying_view
的视图中创建了一个名为 order_value
的维度:
- 该字段通常在“探索”界面中显示为 UNDERLYING VIEW Order Value,并将在
${underlying_view.order_value}
中使用 LookML 引用。 - 在上述使用示例中,该字段将显示为“NEW ALIAS NAME Order Value”,并被引用为“
${new_alias_name.order_value}
”。
示例
根据名为 user
的视图,在“探索”菜单中添加一个名为客户的选项:
explore: customer {
from: user
}
常见挑战
from
、view
和 label
通常容易混淆,但具有不同的行为
如上所示,from
对探索的标记方式和字段的引用方式具有很多影响。此外,还有一个 view
参数和一个 label
参数,虽然具有类似但不同的效果。
使用 from
如果您想从同一数据视图中创建多个探索,并且还想以不同方式引用每个探索中的字段,则应使用此选项:
explore: customer {
from: user
}
# Would appear in the Explore menu as 'Customer'
# Fields would appear like 'Customer Name'
# You would reference fields like ${customer.name}
explore: buyer {
from: user
}
# Would appear in the Explore menu as 'Buyer'
# Fields would appear like 'Buyer Name'
# You would reference fields like ${buyer.name}
出现此行为的根本原因是,使用 from: user
时,生成的 SQL 别名会与原始表名称相同,如下所示:FROM schema.users AS customer
。
使用 view
如果您希望从同一个数据视图中创建多个探索,并且希望以相同的方式为每个探索引用字段,则应使用此选项:
explore: customer {
view_name: user
}
# Would appear in the Explore menu as 'Customer'
# Fields would appear like 'User Name'
# You would reference fields like ${user.name}
explore: buyer {
view_name: user
}
# Would appear in the Explore menu as 'Buyer'
# Fields would appear like 'User Name'
# You would reference fields like ${user.name}
造成这种情况的根本原因是,使用 view_name: user
时,生成的 SQL 会使用原始表名称,如下所示:FROM schema.users AS users
。
使用 label
如果您不需要从同一数据视图中创建多个探索,但希望“探索”名称在“探索”菜单中的显示方式有所不同,那么您应使用此选项:
explore: user {
label: "Customer"
}
# Would appear in the Explore menu as 'Customer'
# Fields would appear like 'User Name'
# You would reference fields like ${user.name}
注意事项
from
很少与 explore
一起使用
使用 from
重命名“探索”的情况并不常见。虽然有一些合法的用例,但如果您确实想使用此参数,请考虑是否可以直接重命名基础视图。更常见的做法是使用联接级 from
参数重命名联接。