BigQuery Crashlytics - бесплатные пользователи / сессии - PullRequest
0 голосов
/ 07 февраля 2019

Я связал свои данные о сбоях Firebase с BigQuery и настроил шаблоны студии данных, предоставляемые Google.Там много отличных данных, кроме самых важных показателей, необходимых для моей панели: без сбоя пользователей и без сбоя сеансов в процентах.

Ничего не выделяется всхема, которую я мог бы использовать для вычисления этого.

Есть идеи, как я могу получить это значение?Он отображается на информационной панели Firebase, поэтому он должен быть доступен ..

enter image description here

1 Ответ

0 голосов
/ 06 марта 2019

Я заглянул в документацию и нашел event_name='app_exception'.При этом вы можете написать запрос типа

WITH userCrashes AS (
  SELECT user_pseudo_id, MAX(event_name = 'app_exception') hasCrash 
  FROM `firebase-public-project.analytics_153293282.events_20181003` 
  GROUP BY 1
)

SELECT
  IF(hasCrash,'crashed','crash-free') crashState,
  COUNT(DISTINCT user_pseudo_id) AS users,
  ROUND(COUNT(DISTINCT user_pseudo_id) / SUM(COUNT(DISTINCT user_pseudo_id)) OVER (),2) AS userShare
FROM userCrashes
GROUP BY 1

Но в параметрах события также есть флаг 'fatal'.В данных примера это всегда верно, но в случае, если вы хотите принять это во внимание, вы можете сделать что-то вроде

WITH userCrashes AS (
  SELECT 
    user_pseudo_id, 
    MAX(event_name = 'app_exception') hasCrash,
    MAX(event_name = 'app_exception' 
      AND (select value.int_value=1 from unnest(event_params) where key='fatal')
    ) hasFatalCrash
  FROM `firebase-public-project.analytics_153293282.events_20181003` 
  GROUP BY 1
)

SELECT
  IF(hasCrash,'crashed','crash-free') crashState,
  IF(hasFatalCrash,'crashed fatal','crash-free') fatalCrashState,
  COUNT(DISTINCT user_pseudo_id) AS users,
  ROUND(COUNT(DISTINCT user_pseudo_id) / SUM(COUNT(DISTINCT user_pseudo_id)) OVER (),2) AS userShare
FROM userCrashes
GROUP BY 1,2

Отказ от ответственности: я никогда не работал с firebase, так что все это только на основе документациии пример данных.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...