问题描述
如何配置Google Datastudio仪表板以仅在有5个或更多数据行时显示聚合数据?
要说明:我想提供一个Google Datastudio仪表板,以使用多个过滤器(例如性别,年龄,位置)探索汇总数据(例如幸福指数)。我还试图确保基础数据源(例如Peter,Mary,John)的隐私。某些过滤器配置可能会导致查询的响应数据为N = 1,因此可以推断或重新标识实际的响应者。如何通过设置或定义仅在N => 5时才能运行的sql语法来防止这种情况发生?
数据由Google BigQuery提供。
非常感谢!
解决方法
以下是用于BigQuery标准SQL
如何通过设置或定义仅在N => 5时才起作用的SQL语法来防止这种情况发生?
下面是一个简单的示例,显示了如何通过SQL来完成此操作
#standardSQL
WITH `project.dataset.table` AS (
SELECT num
FROM UNNEST(GENERATE_ARRAY(1,20)) num
),result AS (
SELECT *
FROM `project.dataset.table`
WHERE num < 9
)
SELECT *
FROM result
WHERE (SELECT COUNT(1) >= 5 FROM result)
简要说明:
-
project.dataset.table
只是模仿您“存储在BigQuery中”的数据 - 结果CTE-模仿您的“汇总数据”
- 最后一条SELECT语句中的WHERE子句最终实现了“魔术”
您可以通过更改WHERE num < 4
并在结果CTE中模拟聚合输出中的不同行数来测试/播放