我目前正在尝试为我在 BigQuery 中的自定义 Firebase 事件计算唯一用户。虽然我已经能够通过使用 APPROX_COUNT_DISTINCT 函数获得聚合中的数字,但在 SELECTING 并向表中添加多个不同维度时,我仍然无法获得正确的(唯一)计数。
以下关于使用 HLL_COUNT.INIT 的资源让我更近了一步,但我还没有弄清楚如何在同一个表中使用 HLL_COUNT.MERGE 函数,因此我可以通过在 datastudio 中应用过滤器来获取事件 + 唯一用户计数
到目前为止我使用的查询:
SELECT
(SELECT x.date) AS event_date,
(SELECT x.name) AS name,
(SELECT params.value.string_value FROM x.params WHERE params.key = 'grade') AS vl_grades,
user_dim.geo_info.region as user_region,
user_dim.geo_info.city as user_city,
user_dim.device_info.user_default_language as user_language,
(SELECT user_prop.key) AS user_prop_key,
(SELECT user_prop.value.value.string_value) AS user_prop_string_value,
COUNTIF(user_prop.key = "first_open_time") as event_count ,
APPROX_COUNT_DISTINCT(user_dim.app_info.app_instance_id) as unique_user,
HLL_COUNT.INIT(user_dim.app_info.app_instance_id) as sketch
FROM `project.info_project_TOTAL.TOTAL_results_jobs` ,
UNNEST (user_dim.user_properties) AS user_prop,
UNNEST(event_dim) AS x
WHERE x.name = 'Zlag_Click'
GROUP BY date,user_prop_key,user_prop_string_value,name,fr_grades,vl_grades,style,item_category,indoor_outdoor,boulder_route,item_name,user_dim.geo_info.country,user_dim.app_info.app_platform,user_dim.geo_info.region,user_dim.geo_info.city,user_dim.device_info.user_default_language,location
ORDER BY event_count desc
有没有人对我如何达到重点有任何想法,该表格允许我回答以下问题 - 过去 x 天内有多少来自德国的独立用户触发了事件?- 在过去的 x 天内,有多少独立用户触发了难度级别为 5 的事件?- 在过去的 x 天内,有多少独立用户请求了以下资源?</p>
谢谢