gpt4 book ai didi

firebase - 为存储在 Google BigQuery 中的 Firebase 事件在一行中选择多个事件参数

转载 作者:行者123 更新时间:2023-12-04 16:51:20 34 4
gpt4 key购买 nike

我正在尝试对存储在 Google BigQuery 中的 Firebase 事件执行一个非常简单的查询,但我无法找到一种方法。

在 Android 应用程序中,我正在记录这样的事件:

Bundle params = new Bundle();
params.putInt("productID", productId);
params.putInt(FirebaseAnalytics.Param.VALUE, value);
firebaseAnalytics.logEvent("productEvent", params);

所以,在 BigQuery 我有这样的事情:

_________ _______________________ ____________________________
| event_dim.name | event_dim.params.key | event_dim.params.int_value |
|___________________|_______________________|____________________________|
|产品事件 |产品ID | 25 |
| |_______________________|____________________________|
| |值(value) |第1253章
|___________________|_______________________|____________________________|

当我从这个表中获取数据时,我得到两行:

_________ _______________________ ____________________________
|event_dim.name | event_dim.params.key | event_dim.params.int_value |
|___________________|_______________________|____________________________|
|产品事件 |产品ID | 25 |
|产品事件 |值(value) | 12353 |

但我真正需要的是这个表中的一个 SELECT 子句来获取如下数据:

_________ _____________ _________
|姓名 |产品ID |值(value) |
|_________|_________|_________|
|产品事件 | 25 | 12353 |

有什么想法或建议吗?

最佳答案

您可以将值转换为这样的列

SELECT 
event_dim.name as name,
MAX(IF(event_dim.params.key = "productID", event_dim.params.int_value, NULL)) WITHIN RECORD productID,
MAX(IF(event_dim.params.key = "value", event_dim.params.int_value, NULL)) WITHIN RECORD value,
FROM [events]

如果您想使用 SQL 生成此命令,请参阅此解决方案: Pivot Repeated fields in BigQuery

关于firebase - 为存储在 Google BigQuery 中的 Firebase 事件在一行中选择多个事件参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998428/

34 4 0
文章推荐: maven - 使用 Kotlin 综合属性
文章推荐: ruby-on-rails - 'current_user' 在 rails_admin 中未定义,但有许可
文章推荐: fullcalendar - FullCalendar-自定义
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com