Bigquery&Firebase Analytics-如何基于不同参数选择一个事件

Bigquery&Firebase Analytics-如何基于不同参数选择一个事件,firebase,google-bigquery,firebase-analytics,Firebase,Google Bigquery,Firebase Analytics,我试图创建一个查询,让我也能看到firebse\u事件\u原点=自动和firebase\u屏幕\u类=TicketViewController的次数 我试着像下图所示的那样放置和声明,但没有得到任何结果。附言:有这样的情况发生 基本上我想知道的是: 当firebase\u event\u origin=auto firebase\u screen\u class=TicketViewController时发生了多少屏幕视图事件这可能是您正在寻找的,或者可能会给您一些启示: SELECT co

我试图创建一个查询,让我也能看到firebse\u事件\u原点=自动和firebase\u屏幕\u类=TicketViewController的次数

我试着像下图所示的那样放置和声明,但没有得到任何结果。附言:有这样的情况发生

基本上我想知道的是:
当firebase\u event\u origin=auto firebase\u screen\u class=TicketViewController时发生了多少屏幕视图事件这可能是您正在寻找的,或者可能会给您一些启示:

SELECT
  count(1) screen_views
FROM `ruter-pilot.no_ruter_RuterPilot_WPI_IOS.app_events_20170816`
WHERE EXISTS(SELECT 1 FROM UNNEST(event_dim) ed WHERE ed.name = 'user_engagement' AND (EXISTS(SELECT 1 FROM UNNEST(ed.params) params WHERE params.key = 'firebase_event_origin' AND value.string_value = 'auto')) AND(EXISTS(SELECT 1 FROM UNNEST(ed.params) params WHERE params.key = 'firebase_screen_class' AND value.string_value = 'TicketViewController')))
您可以播放模拟数据:

WITH data AS(
  SELECT ARRAY< STRUCT<name STRING, params ARRAY< STRUCT<key STRING, value STRUCT<string_value STRING> > > > > [STRUCT('user_engagement' AS name, [STRUCT('key' AS key, STRUCT('value' AS string_value) AS value ), STRUCT('firebase_event_origin' AS key, STRUCT('auto' AS string_value) AS value )] AS params)] event_dim UNION ALL
  SELECT ARRAY< STRUCT<name STRING, params ARRAY< STRUCT<key STRING, value STRUCT<string_value STRING> > > > > [STRUCT('user_engagement' AS name, [STRUCT('firebase_event_origin' AS key, STRUCT('auto' AS string_value) AS value ), STRUCT('firebase_screen_class' AS key, STRUCT('TicketViewController' AS string_value) AS value )] AS params)] event_dim UNION ALL
  SELECT ARRAY< STRUCT<name STRING, params ARRAY< STRUCT<key STRING, value STRUCT<string_value STRING> > > > > [STRUCT('user_engagement' AS name, [STRUCT('firebase_event_origin' AS key, STRUCT('auto' AS string_value) AS value ), STRUCT('firebase_screen_class' AS key, STRUCT('TicketViewController' AS string_value) AS value ), STRUCT('firebase_event_origin' AS key, STRUCT('auto' AS string_value) AS value ), STRUCT('firebase_screen_class' AS key, STRUCT('TicketViewController' AS string_value) AS value )] AS params)] event_dim UNION ALL
  SELECT ARRAY< STRUCT<name STRING, params ARRAY< STRUCT<key STRING, value STRUCT<string_value STRING> > > > > [STRUCT('user_not_engagement' AS name, [STRUCT('key' AS key, STRUCT('value' AS string_value) AS value ), STRUCT('firebase_event_origin' AS key, STRUCT('auto' AS string_value) AS value )] AS params)] event_dim
  )

SELECT
  count(1) screen_views
FROM data
WHERE EXISTS(SELECT 1 FROM UNNEST(event_dim) ed WHERE ed.name = 'user_engagement' AND (EXISTS(SELECT 1 FROM UNNEST(ed.params) params WHERE params.key = 'firebase_event_origin' AND value.string_value = 'auto')) AND(EXISTS(SELECT 1 FROM UNNEST(ed.params) params WHERE params.key = 'firebase_screen_class' AND value.string_value = 'TicketViewController')))

基本上,查询会查找其给定事件名称同时触发了指定参数的用户,并统计发生此情况的所有行。

能否直接将查询文本包含在问题中,而不是作为图像?@Elliottbrosard当然是-从ruter-pilot.no_ruter_RuterPilot_WIP_dev_IOS.app_events_intraday_20170823中选择*,UNNEST event_dim as ed UNNEST ed.params as edp,其中ed.name=用户参与,edp.key=firebase_event_原点,edp.value.string_value=自动,edp.key=firebase_屏幕_类,edp.value.string_value=TicketViewController