Создание диаграммы в Data Studio с использованием двух пользовательских параметров Firebase в качестве измерений - PullRequest
1 голос
/ 03 апреля 2019

Я занимаюсь разработкой приложения для iOS, и меня попросили внедрить в него некоторую пользовательскую аналитику. Я использую Firebase, так как Google Analytics mobile больше не будет поддерживаться, и это рекомендуемая альтернатива.

В моем примере у меня есть событие, которое отправляется в Firebase с именем «updated_tool» с двумя пользовательскими (String) параметрами: «source» и «tool»

Я хочу знать, сколько пользователей выбрали инструмент «Линейка» из бокового меню и сколько пользователей выбрали тот же инструмент в радиальном меню, которое у меня также есть.

Из того, что я видел, это невозможно при использовании только консоли Firebase, и мы решили экспортировать эти данные в BigQuery и использовать Data Studio для их визуализации.

Моя таблица BigQuery выглядит так:

// omitted event metrics such as date or timestamp
"event_name": "changed_tool",
"event_params": [ 
    {
        "key": "source",
        "value": {
            "string_value": "radial",
            "int_value": null,
            "float_value": null,
            "double_value": null
        }
    },{
        "key": "tool",
        "value": {
            "string_value": "ruler",
            "int_value": null,
            "float_value": null,
            "double_value": null
        }
    }
]
// omitted event metrics

Единственными полезными доступными измерениями, которые Data Studio автоматически получает при импорте из BigQuery, являются «Имя события», «Имя параметра события» и «Значение параметра события (строка)».

Как я могу создать в Google Data Studio столбчатую диаграмму с накоплением, как абсциссу, с моим типом инструмента "измерение" (в данном случае линейка или транспортир) и как ординату метрики "Счетчик событий" с разделением столбцов "моим источником (радиальным или боковым)" размерность "?

До сих пор мне не удавалось правильно разделить мои данные в соответствии с моими потребностями. Это происходит при манипулировании с фильтрами, поскольку кажется, что применяется к данным, а не к тому, как данные отображаются.

1 Ответ

1 голос
/ 04 апреля 2019

Я понял это.

Решение состоит в том, чтобы повторить поведение этого запроса:

SELECT
  tools.value.string_value AS tool,
  sources.value.string_value AS source,
  COUNT(event_name) as total
FROM
  `analytics_123456789.events_*`,
  UNNEST(event_params) AS tools,
  UNNEST(event_params) AS sources
WHERE
  event_name = 'changed_tool'
  AND tools.key = 'tool'
  AND sources.key = 'source'
GROUP BY
  tool,
  source
ORDER BY
  total DESC

В Data studio создайте новую столбчатую диаграмму с накоплением, а в качестве источника данных создайте смешанные данные с точно таким же источником данных (в моем случае, events_YYYYMMDD), смешанным.

В качестве ключа соединения используйте измерение Event time. Выберите Event Param Value (String) в качестве измерения и Event Count в качестве метрики для обоих источников данных.

Затем отфильтруйте каждый источник данных, чтобы отображались только Event Param Name = tool в одном случае и Event Param Name = source в другом. Перед выходом из окна смешанных данных вы можете переименовать каждый Event Param Value (String) с более значимым именем (например, Tools и Sources)

Сохраните смешанные данные и используйте новые измерения Tools и Sources в качестве первичных и разбивочных измерений, а Event Count в качестве метрической, сортировочной и вторичной сортировки.

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

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