我从一个表中创建了两个视图,其中包含一些已实施的措施。这是基本的东西,如下所示:
view : view_A {
dimension: Time_A {....}
dimension: Value_A {...}
dimension: code_B {..}
measure: Total_Value_A {
type: sum .... sql: {$Value_A}
}
}
AND
view : view_B {
dimension: Time_B {....}
dimension: Value_B {...}
dimension: code_B {..}
measure: Total_Value_B {
type: sum .... sql: {$Value_B}
}
}
我们根据每个视图有两个单独的浏览器。当我们执行探索器时,如果对每个探索器使用时间维度,我们会得到正确的结果。现在,已要求实施另一个指标,该指标是基本指标的组合:
Total_Value_C = Total_Value_A + Total_Value_B
在 LookML 中是否可以实现类似的功能?什么是正确的方法,特别是考虑到每个度量都基于不同的时间维度?
是的,如果您有将视图连接在一起的探索,则可以在其他视图中引用维度/度量。
在 view_A 或 view_B 中您都可以
measure: total_C {
sql: ${view_A.Total_Value_A} + ${view_B.Total_Value_B}
}
将度量放入哪个视图并不重要,但您必须确保有一个引用这两个视图的“探索”。例如:
explore: some_explore {
from: view_A
join: view_B {
type: ...
relationship: ...
sql_on: ... ;;
}
如果没有引用两个视图的探索,您将收到 LookML 错误,指出其他视图中的度量不存在。