Я интегрировал свой проект Firebase с большим запросом для хранения аналитических событий Firebase. Я использую Data Studio для визуализации данных. Я пытаюсь фильтровать события на основе свойств пользователя. У меня есть 3 свойства пользователя, такие как отдел, имя пользователя и версия приложения. Я могу фильтровать события, используя любое имя свойства пользователя, но я не могу фильтровать события, используя 2 или все три свойства пользователя. Например, я пытаюсь получить события от Джона Сины (имя пользователя), который использует v1.8 (app_version) и принадлежит factory (отделу). Но безуспешно, как только я выбираю одно из свойств пользователя в фильтре, свойства пользователя исчезают в других фильтрах. Есть идеи, предложения?

1
CuriousHash 23 Окт 2018 в 16:58

2 ответа

Лучший ответ

Хорошо, я нашел решение. Мне нужно было РАЗРЕШИТЬ свойства пользователя в отдельные столбцы. Я создал новый источник данных с пользовательским запросом примерно так:

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';
2
CuriousHash 30 Окт 2018 в 15:52

Если вам нужно использовать значения свойств пользователя в предложении 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
David Miguel 26 Мар 2020 в 12:43
52950934