【问题标题】:BigQuery select multiple key valuesBigQuery 选择多个键值
【发布时间】:2017-10-03 04:31:37
【问题描述】:

通过将 Firebase 中的自定义事件导出到 BigQuery,其中可以存在多个键值参数。我似乎无法弄清楚如何使用“标准 SQL”来选择其中一个以上。

【问题讨论】:

  • 我了解问题需要尽可能少、完整且可验证,以便为 Stackoverflow 及其用户增加价值。然而,围绕该主题的现有问题(我自然而然地首先寻找)太大而复杂。我真正想知道的是如何在 BigQuery 维度中提取多个键值对参数。 Elliott Brossard 的回复对我来说效果很好,对其他人也应该如此。
  • 真的很欣赏表格模式/示例数据的截图!非常容易阅读

标签: google-bigquery key-value firebase-analytics


【解决方案1】:

假设您想为所有control_reading 事件选择与firebase_event_origin 对应的string_value 和与firebase_screen_id 关联的int_value。您可以将查询表示为:

#standardSQL
SELECT
  (SELECT param.value.string_value
   FROM UNNEST(event_dim.params) AS param
   WHERE param.key = 'firebase_event_origin') AS firebase_event_origin,
  (SELECT param.value.int_value
   FROM UNNEST(event_dim.params) AS param
   WHERE param.key = 'firebase_screen_id') AS firebase_screen_id
FROM `your_dataset.your_table_*`
CROSS JOIN UNNEST(event_dim) AS event_dim
WHERE _TABLE_SUFFIX BETWEEN '20170501' AND '20170503' AND
  event_dim.name = 'control_reading';

【讨论】:

  • 所以他们的关键是在带有子查询的维度上使用 CROSS JOIN UNNEST。像魅力一样工作,谢谢!
猜你喜欢
  • 1970-01-01
  • 2021-01-13
  • 2018-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-20
  • 1970-01-01
  • 2015-08-17
相关资源
最近更新 更多