对称聚合

用量

探索:探索名称 {
对称汇总
}
层次结构
symmetric_aggregates
默认值
yes

接受
布尔值(yesno

定义

symmetric_aggregates 参数决定了是否在给定的“探索”中应用对称聚合。开启 symmetric_aggregates 后,即使联接导致扇出,聚合函数也会返回正确的结果。如需详细了解对称聚合,请参阅对称聚合的简单说明帮助中心文章,以及解决的扇出问题(SQL 扇出问题一文)。

默认情况下,对 Looker 中的每个探索启用对称聚合。这意味着,如果 SQL 方言支持对称聚合,则只有在想要为探索停用该功能时才需要添加 symmetric_aggregates 参数。

示例

product 探索开启对称聚合:

explore: product {
  symmetric_aggregates: yes  # the default value, could be excluded
}

-

关闭 customer 探索的对称聚合:

explore: customer {
  symmetric_aggregates: no
}

-

注意事项

关闭对称聚合时谨慎创建联接

对称聚合可以防止某些计算在联接导致扇出时给出错误结果。因此,如果您的方言不支持对称聚合,或者您选择关闭它们,则在 Looker 中执行联接时需要小心谨慎。SQL 扇出问题这篇帮助中心文章详细介绍了此问题及其解决方法。

并非所有数据库方言都支持对称聚合的中位数和百分位测量类型

启用对称聚合后,当联接涉及扇出时,Looker 会自动将 percentilemedian 测量类型转换为 percentile_distinctmedian_distinct。并非所有支持对称聚合的数据库方言都支持 percentile_distinctmedian_distinct 测量类型。您可以在测量类型文档页面上查看数据库方言是否支持 percentile_distinctmedian_distinct 测量类型。

如果您收到类似于 SQL dialect doesn't support Symmetric Aggregates with percentiles, field ignored. 的错误,则表示您的数据库方言不支持 percentile_distinctmedian_distinct 测量类型。如需解决此问题,请将测量类型更改为 type: number,然后使用 sql: median(${dimension}) 指定聚合函数。不过,这会停用对称聚合。

方言支持对称聚合

是否使用对称聚合取决于您的 Looker 连接的数据库方言。在最新版 Looker 中,以下方言支持汇总认知度: