首页 > 解决方案 > 通过特定 event_params.key 查询

问题描述

我正在使用 firebase 分析,并在 google 大查询中有我的事件参数。我做了这个查询:

SELECT * FROM 'myProject.analytics_number.events_2021*', UNNEST(event_params) AS param WHERE event_name ="Read_Free_Article" AND param.value.string_value="X"

这给了我这样的结果: 在此处输入图像描述

现在我想查询多个东西。例如,我想查询avg(timeSpend)以获取平均 timeSpend 值并count(title) ... group by title获取具有相同标题值的事件的计数。

但我不明白如何通过不同的 event_params.key 值进行查询。我只设法通过event_nameand查询,param.value.string_value它只是检查是否有任何event_params.value.string_value 具有所需的值。

标签: google-bigqueryfirebase-analytics

解决方案


您可以像这样访问查询的选择部分中的各个参数值​​:

    SELECT (SELECT ep.value.string_value)
            FROM UNNEST(event_params) ep
            WHERE ep.key = 'title') title,
           (SELECT ep.value.string_value
            FROM UNNEST(event_params) ep
            WHERE ep.key = 'publisher') publisher,
            COUNT(1) count_titles,
           (SELECT AVG(CAST(ep.value.string_value AS numeric))
            FROM UNNEST(event_params) ep
            WHERE ep.key = 'timeSpend) avg_time_spend,
    FROM `myProject.analytics_number.events_2021*`
    WHERE event_name ='Read_Free_Article'
    AND publisher = 'X'
    GROUP BY 
       title,
       publisher

推荐阅读