如何在Google Data Studio中按2个或更多用户属性过滤事件?

时间:2018-10-23 13:58:17

标签: google-bigquery firebase-analytics google-data-studio

我已经将Firebase项目与Big查询集成在一起,以存储Firebase分析事件。我正在使用Data Studio可视化数据。我正在尝试根据用户属性过滤事件。我有3个用户属性,例如部门,用户名和app_version。我可以使用任何一个用户属性名称来过滤事件,但不能使用2个或全部三个用户属性来过滤事件。 例如,我正在尝试从正在使用v1.8(app_version)并属于factory(department)的John Cena(用户名)获取事件。但是没有成功,一旦我在过滤器中选择任何一个用户属性,这些用户属性就会在其他过滤器中消失。 有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果需要使用WHERE子句中的用户属性值,则可以执行以下操作:

SELECT *
FROM (
        SELECT *,
            (SELECT x.value FROM UNNEST(user_properties) x WHERE x.key = 'app_version').string_value AS appVersion,
            (SELECT x.value FROM UNNEST(user_properties) x WHERE x.key='userName').string_value as userName,
            (SELECT x.value FROM UNNEST(user_properties) x WHERE x.key='department').string_value as department,
        FROM `xxxxxxxxxxx.analytics_yyyyyyyyy.events_*`
        WHERE _TABLE_SUFFIX between '20180521' AND '20240131'
    ) AS TOT
AND TOT.appVersion = '2.3.0'
AND TOT.userName = 'Example'
AND TOT.department = 'DepA'

答案 1 :(得分:0)

好的,所以我找到了解决方案。我需要将用户属性放到单独的列中。 我使用自定义查询创建了一个新的数据源,如下所示:

SELECT *,(SELECT x.value FROM UNNEST(user_properties) x WHERE x.key='app_version').string_value AS app_version,
(SELECT x.value FROM UNNEST(user_properties) x WHERE x.key='userName').string_value as userName,
(SELECT x.value FROM UNNEST(user_properties) x WHERE x.key='department').string_value as department
FROM `xxxxxxxxxxx.analytics_yyyyyyyyy.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20180521' AND '20240131';