想要在同一字段上使用多个条件来计算 Data Studio 中的事件
Want to use multiple conditions on same field to count the events in Data Studio
想要在 event_params.value.string
上使用不同 event_param.key
的多个条件:
我已将我的 firebase 数据同步到 bigQuery 并尝试可视化数据 studio.Data 如下所示:
现在我有 event_params.value.string
字段,它的所有值为 "app"、"4G"、"App_Open"、"DashboardOnionActivity" 和
事件参数名称字段的值如下:....,Action,Label
我只想计算那些标签为 DashboardOnionActivity
的 App_Open
我在 when 中使用 CASE,然后构造为:
CASE
WHEN REGEXP_MATCH(event_params.value.string, "(?i) App_Open") THEN "1-App_Open"
WHEN REGEXP_MATCH(event_params.value.string, "(?i)selfie_capture") THEN "2-selfie_capture"
ELSE "0"
END
这给了我 App_Open 和 selfie_capture 的计数,但我不确定如何应用 2 个条件,因为 Param Name 不同,一个是 Action,另一个是 Label
一个解决方法是将单独的事件作为 DashboardOnionActivity_App_Open 和其他,但尽可能寻找一些有效的用法
在将数据从 BigQuery(bq) 连接器添加到 Data Studio 时通过自定义查询选项解决了这个问题:
所以从firebase获取的bq中的数据是嵌套的。
需要在子查询中使用 unnest() 来从中获取值。
因此在自定义查询中使用了这种格式的查询:
SELECT
event_date,event_name,event_params,
CASE
WHEN (SELECT count(*) FROM UNNEST(event_params) i where i.value.string_value='App_Open') = 1 AND (SELECT count(*) FROM UNNEST(event_params) i where i.value.string_value='DashboardOnionActivity' ) =1 THEN "1-App_Open"
ELSE "other"
END App_status
From <table_name>
其中 event_params 是结构字段。
让我分解查询并解释:
SELECT count(*) FROM UNNEST(event_params) i where i.value.string_value='App_Open'
:
这会计算一个事件在 event_params.value.string_value 中发生的 'App_Open' 的次数。因为没有重复的 event_params 所以它是 [0,1]
对于 DashboardOnionActivity 类似,当它不出现时为 0,否则为 1。
一旦将其添加为 Data Studio 中的数据源,就可以通过多个图表(例如条形图、倒置条形图、记分卡等)直观显示计数
想要在 event_params.value.string
上使用不同 event_param.key
的多个条件:
我已将我的 firebase 数据同步到 bigQuery 并尝试可视化数据 studio.Data 如下所示:
现在我有 event_params.value.string
字段,它的所有值为 "app"、"4G"、"App_Open"、"DashboardOnionActivity" 和
事件参数名称字段的值如下:....,Action,Label
我只想计算那些标签为 DashboardOnionActivity
的 App_Open我在 when 中使用 CASE,然后构造为:
CASE
WHEN REGEXP_MATCH(event_params.value.string, "(?i) App_Open") THEN "1-App_Open"
WHEN REGEXP_MATCH(event_params.value.string, "(?i)selfie_capture") THEN "2-selfie_capture"
ELSE "0"
END
这给了我 App_Open 和 selfie_capture 的计数,但我不确定如何应用 2 个条件,因为 Param Name 不同,一个是 Action,另一个是 Label
一个解决方法是将单独的事件作为 DashboardOnionActivity_App_Open 和其他,但尽可能寻找一些有效的用法
在将数据从 BigQuery(bq) 连接器添加到 Data Studio 时通过自定义查询选项解决了这个问题:
所以从firebase获取的bq中的数据是嵌套的。 需要在子查询中使用 unnest() 来从中获取值。
因此在自定义查询中使用了这种格式的查询:
SELECT
event_date,event_name,event_params,
CASE
WHEN (SELECT count(*) FROM UNNEST(event_params) i where i.value.string_value='App_Open') = 1 AND (SELECT count(*) FROM UNNEST(event_params) i where i.value.string_value='DashboardOnionActivity' ) =1 THEN "1-App_Open"
ELSE "other"
END App_status
From <table_name>
其中 event_params 是结构字段。
让我分解查询并解释:
SELECT count(*) FROM UNNEST(event_params) i where i.value.string_value='App_Open'
:
这会计算一个事件在 event_params.value.string_value 中发生的 'App_Open' 的次数。因为没有重复的 event_params 所以它是 [0,1] 对于 DashboardOnionActivity 类似,当它不出现时为 0,否则为 1。
一旦将其添加为 Data Studio 中的数据源,就可以通过多个图表(例如条形图、倒置条形图、记分卡等)直观显示计数