想要在同一字段上使用多个条件来计算 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 中的数据源,就可以通过多个图表(例如条形图、倒置条形图、记分卡等)直观显示计数