通过特定 event_params.key 查询

Posted

技术标签:

【中文标题】通过特定 event_params.key 查询【英文标题】:Query by specific event_params.key 【发布时间】:2021-10-20 10:37:01 【问题描述】:

我正在使用 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_nameparam.value.string_value 进行查询,这只是检查 any event_params.value.string_value 是否具有所需的值。

【问题讨论】:

请求您添加样本数据和预期的 o/p。这是可行的。 【参考方案1】:

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

    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

【讨论】:

以上是关于通过特定 event_params.key 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何运行可以整理 2 个事件之间的唯一数据的 BigQuery 查询

从查询生成器返回特定的 JSON 格式

根据另一列中的值更新 BigQuery 中的嵌套数组

Explain优化查询检测

在聚合查询中计算具有特定条件的行

如何在特定条件通过时启用或禁用反应中的p标签。