【问题标题】:Avoid 'infinity' in data aggregates in Google Data Studio or SQL在 Google Data Studio 或 SQL 中避免数据聚合中的“无穷大”
【发布时间】:2020-11-19 19:54:13
【问题描述】:

我正在 Data Studio 中构建报告,数据来自 BigQuery 数据集。

问题在于表中的某些值是无穷大,当Data Studio 以总计或平均值聚合时,结果总是无穷大。

我需要避免这些聚合中的值。我正在尝试在 Data Studio 中执行此操作,或者在 SQL 查询中将这些值替换为零。

有没有办法做这两件事?有没有其他方法可以解决这个问题?

提前致谢。

【问题讨论】:

  • 所以对于任何阅读本文的人。我没有找到在 DataStudio 或 Big Query 中处理无穷大的方法,所以我现在修改了表……但这是错误的,因为真正的值是无穷大,而零或 null 是对数据的错误表示。但是好吧,直到我知道在 DataStudio 中该做什么...

标签: sql google-bigquery google-data-studio


【解决方案1】:

在您的聚合中使用案例陈述很可能是您想去的地方。如果你想用 0 替换它,那么下面的逻辑将起作用。

SELECT
   SUM(
      CASE
         WHEN col2 = inf THEN 0
         ELSE col2
      END
    ) as aggregated_value
FROM TABLE 1;

如果您需要进行平均,那么 0 不是一个好的替代品。而是使用 NULL,因为 SQL 会平均忽略 NULLS:

SELECT
   AVG(
      CASE
         WHEN col2 = inf THEN NULL
         ELSE col2
      END
    ) as aggregated_value
FROM TABLE 1;

【讨论】:

  • 好的,谢谢您的回答。但是,聚合发生在 DataStudio 中,查询返回整个表。还有,BigQuery SQL 不识别 inf,你知道怎么解决吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 2016-06-16
  • 1970-01-01
  • 2015-03-22
  • 1970-01-01
  • 2022-08-12
  • 1970-01-01
相关资源
最近更新 更多