【问题标题】:BigQuery & Firebase - Sum event Value based on KeyBigQuery 和 Firebase - 基于键对事件值求和
【发布时间】:2017-01-24 12:19:49
【问题描述】:

在我的 android 应用程序中,我将用户选择的项目数记录如下

public static void trackItemsSelectedCount(Context context, int count) {
    Bundle bundle = new Bundle();
    bundle.putInt("count", count);
    getAnalytics(context).logEvent("items_selected", bundle);
}

在 BigQuery 中,我可以计算具有事件 items_selected 的条目数,如下所示

SELECT event_dim.name as event,
COUNT(event_dim.name) as event_count
FROM TABLE_DATE_RANGE(package_ANDROID.app_events_intraday_, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP())
where event_dim.name contains 'items_selected'
GROUP BY event
ORDER BY event DESC LIMIT 1;

我想得到event_dim.params.value.int_value 的总和,与count 一样event_dim.params.key

到目前为止,我正在执行以下操作,但这可能不准确(因为 event_dim.params.key 没有出现在任何地方)。任何更精确查询的想法将不胜感激:

SELECT event_dim.name as event,
COUNT(event_dim.name) as event_count ,
COUNT(event_dim.params.value.int_value) as value_count
FROM TABLE_DATE_RANGE(package_ANDROID.app_events_intraday_, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP())
where event_dim.name contains 'items_selected'
GROUP BY event
ORDER BY event DESC LIMIT 1;

回答

SELECT 
    SUM((SELECT params.value.int_value FROM x.params WHERE params.key = 'count')) AS count 
FROM package_ANDROID.app_events_20170123, UNNEST(event_dim) AS x
WHERE x.name = 'items_selected'

【问题讨论】:

  • 你读过类似的过去的问题吗,比如这个? stackoverflow.com/questions/41090396/…
  • 我还没有找到这个。谢谢。经过调查,我想出了以下查询:SELECT SUM((SELECT params.value.int_value FROM x.params WHERE params.key = 'count')) AS count FROM package_ANDROID.app_events_20170123, UNNEST(event_dim) AS x WHERE x.name = 'items_selected'
  • 太棒了!您可能希望将其发布为您问题的答案,以便其他人可以更轻松地找到解决方案。
  • 答案仍有待验证,但我同时将其添加到答案中。欢呼
  • @TurhanTech - 您应该将您的答案作为实际答案 - 而不仅仅是对您的问题的更新。这是允许的,并且在 SO 上被认为是好的,除非您当然已经有了更好的答案。更重要的是-如果您的答案是您问题的所有答案中最好的-您可以接受(尽管您不能投票自己的答案):o)

标签: firebase google-bigquery analytics firebase-analytics


【解决方案1】:
SELECT 
    SUM((SELECT params.value.int_value FROM x.params WHERE params.key = 'count')) AS count 
FROM package_ANDROID.app_events_20170123, UNNEST(event_dim) AS x
WHERE x.name = 'items_selected'

【讨论】:

  • 虽然这可能是正确的答案,但它并不能解释为什么它会起作用。
猜你喜欢
  • 2017-11-15
  • 2021-09-25
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-01
  • 1970-01-01
相关资源
最近更新 更多