1. Введение
Проведение опросов имеет множество причин: оценка удовлетворенности клиентов, проведение маркетинговых исследований, улучшение продукта или услуги, а также оценка вовлеченности сотрудников. Однако, если вы уже работали с данными опросов, вы, вероятно, знаете, что стандартный формат сложен в использовании. В этом руководстве мы создадим автоматизированный конвейер, который собирает результаты Google Forms, подготавливает данные для анализа с помощью Cloud Dataprep, загружает их в BigQuery и позволяет вашей команде проводить визуальный анализ с использованием таких инструментов, как Looker или Data Studio.
Что вы построите
В этом практическом занятии вы используете Dataprep для преобразования ответов из нашего примера опроса в Google Forms в формат, полезный для анализа данных. Вы загрузите преобразованные данные в BigQuery, где сможете задавать более сложные вопросы с помощью SQL и объединять их с другими наборами данных для более мощного анализа. В конце вы сможете изучить готовые панели мониторинга или подключить свой собственный инструмент бизнес-аналитики к BigQuery для создания новых отчетов.
Что вы узнаете
- Как преобразовать данные опроса с помощью Dataprep
- Как загрузить данные опроса в BigQuery
- Как получить больше полезной информации из данных опросов
Что вам понадобится
- Проект Google Cloud с поддержкой выставления счетов, BigQuery и DataPrep.
- Базовые знания Dataprep полезны, но не обязательны.
- Базовые знания BigQuery и SQL полезны, но не обязательны.
2. Управление ответами в Google Forms
Начнём с более подробного изучения ответов в Google Forms на наш пример опроса .

Результаты опроса можно экспортировать из вкладки «Ответы», щелкнув значок Google Sheets и создав новую электронную таблицу или загрузив результаты в существующую. Google Forms будет продолжать добавлять ответы в электронную таблицу по мере того, как респонденты будут отправлять свои ответы, пока вы не снимете флажок «Принимать ответы».


Теперь давайте рассмотрим каждый тип ответа и то, как он отображается в файле Google Sheets.
3. Преобразование ответов на опрос
Вопросы опроса можно сгруппировать в четыре категории, каждая из которых будет иметь свой формат экспорта. В зависимости от типа вопроса потребуется определенная реструктуризация данных. Здесь мы рассмотрим каждую из групп и типы преобразований, которые необходимо применить.
Вопросы с одним вариантом ответа: краткий ответ, абзац, выпадающий список, линейная шкала и т. д.
- Название вопроса : название столбца
- Ответ : значение ячейки
- Требования к преобразованию : преобразование не требуется; ответ загружается как есть.

Вопросы с несколькими вариантами ответа: несколько вариантов ответа, флажок
- Название вопроса : название столбца
- Ответ : список значений с разделителем в виде точки с запятой (например, "Ответ 1; Ответ 4; Ответ 6")
- Требования к преобразованию : список значений необходимо извлечь и преобразовать в сводную таблицу, чтобы каждый ответ стал новой строкой.

Вопросы с вариантами ответов в виде сетки
Вот пример вопроса с несколькими вариантами ответа. Нужно выбрать одно значение из каждой строки.

- Название вопроса : каждый отдельный вопрос становится названием столбца в формате "Вопрос [Вариант]".
- Ответ : каждый отдельный ответ в таблице становится столбцом с уникальным значением.
- Требования к преобразованию : каждый вопрос/ответ должен стать новой строкой в таблице и быть разбит на два столбца. Один столбец должен содержать вариант ответа, а другой — сам ответ.

Вопросы с выбором одного варианта ответа и сеткой с флажками.
Вот пример сетки с флажками. В каждой строке можно выбрать от нуля до нескольких значений.

- Название вопроса : каждый отдельный вопрос становится названием столбца в формате "Вопрос [Вариант]".
- Ответ : каждый отдельный ответ в таблице становится столбцом со списком значений, разделенных точкой с запятой.
- Требования к преобразованию : эти типы вопросов объединяют категории «флажки» и «сетка с несколькими вариантами ответа» и должны быть решены в указанном порядке.
Сначала необходимо извлечь и преобразовать в сводную таблицу список значений каждого ответа, чтобы каждый ответ стал новой строкой для конкретного вопроса.
Во-вторых: каждый отдельный ответ должен стать новой строкой в таблице и быть разбит на два столбца. В одном столбце указывается вариант ответа на вопрос, а в другом — сам ответ.

Далее мы покажем, как эти преобразования обрабатываются с помощью Cloud Dataprep.
4. Создайте процесс подготовки облачных данных.
Импортируйте шаблон проектирования «Google Forms Analytics» в Cloud Dataprep.
Загрузите пакет шаблонов проектирования Google Forms Analytics (без распаковки). В приложении Cloud Dataprep щелкните значок «Потоки» на левой панели навигации. Затем на странице «Потоки» выберите «Импорт» в контекстном меню.

После импорта потока выберите его для редактирования; на экране должно появиться следующее:

Подключить электронную таблицу Google Sheets с результатами опроса
В левой части потока необходимо повторно подключить источник данных к таблице Google Sheets, содержащей результаты форм Google Forms. Щелкните правой кнопкой мыши по объекту набора данных в таблице Google Sheets и выберите «Заменить».

Затем нажмите на ссылку «Импорт наборов данных» внизу всплывающего окна. Нажмите на значок карандаша «Изменить путь».

Затем замените текущее значение этой ссылкой, указывающей на таблицу Google Sheets с результатами из Google Forms. Вы можете использовать наш пример или свою собственную копию: https://docs.google.com/spreadsheets/d/1DgIlvlLceFDqWEJs91F8rt1B-X0PJGLY6shkKGBPWpk/edit?usp=sharing
Нажмите «Перейти», а затем «Импорт и добавление в поток» в правом нижнем углу. Вернувшись в модальное окно, нажмите кнопку «Заменить» в правом нижнем углу.
Подключение таблиц BigQuery
В правой части потока необходимо подключить выходные данные к вашему экземпляру BigQuery. Для каждого из выходных данных щелкните значок, а затем отредактируйте его свойства следующим образом.
Для начала отредактируйте раздел «Направления, указанные вручную».

На следующем экране «Настройки публикации» нажмите кнопку «Редактировать».

Когда вы увидите экран «Действия публикации», вам необходимо изменить параметры подключения, щелкнув по подключению BigQuery и отредактировав его свойства.
Выберите набор данных BigQuery, в который вы хотите загрузить результаты Google Forms. Вы можете выбрать «по умолчанию», если вы еще не создали ни одного набора данных BigQuery.

После редактирования раздела «Пункты назначения вручную» выполните те же действия для раздела «Пункты назначения по расписанию».

Повторите те же шаги для каждого выходного параметра. Всего вам нужно отредактировать 8 целевых объектов.
5. Объяснение процесса подготовки облачных данных.
Основная идея шаблона проектирования «Google Forms Analytics» заключается в выполнении преобразований ответов на опрос, как описано ранее, — путем разбивки каждой категории вопросов на конкретные алгоритмы преобразования данных Cloud Dataprep.
В этом алгоритме вопросы разбиты на 4 таблицы (соответствующие 4 категориям вопросов, для простоты).

Мы предлагаем вам изучить каждый из рецептов по отдельности, начиная с «Чистые заголовки», затем «Вопросы с выбором одного варианта ответа», а затем — остальные рецепты ниже.
Все рецепты снабжены комментариями, поясняющими различные этапы преобразования. Находясь в рецепте, вы можете редактировать шаг и просматривать состояние до и после преобразования для конкретного столбца.


6. Запустите процесс подготовки облачных данных.
Теперь, когда ваши источники и получатели правильно настроены, вы можете запустить поток для преобразования и загрузки ответов в BigQuery. Выберите каждый из выходных файлов и нажмите кнопку «Запустить». Если указанная таблица BigQuery существует, Dataprep добавит новые строки, в противном случае он создаст новую таблицу.

Чтобы отслеживать задания, нажмите на значок «История заданий» в левой панели. Загрузка таблиц BigQuery займет несколько минут.

После завершения всех задач результаты опроса будут загружены в BigQuery в чистом, структурированном и нормализованном формате, готовом для анализа.
7. Проанализируйте данные опроса в BigQuery.
В консоли Google для BigQuery вы сможете увидеть подробную информацию о каждой из новых таблиц.

Используя данные опросов в BigQuery, вы можете легко задавать более подробные вопросы, чтобы глубже понять ответы респондентов. Например, предположим, вы пытаетесь понять, какой язык программирования чаще всего используется людьми разных профессий — вы можете написать такой запрос:
SELECT
programming_answers.Language AS programming_answers_language,
project_answers.Title AS project_answers_title,
AVG((case when programming_answers.Level='None' then 0
when programming_answers.Level='beginner' then 1
when programming_answers.Level='competent' then 2
when programming_answers.Level='proficient' then 3
when programming_answers.Level='expert' then 4
else null end) ) AS programming_answers_average_level_value
FROM `my-project.DesignPattern.A000111_ProjectAnswers` AS project_answers
INNER JOIN `my-project.A000111_ProgrammingAnswers` AS programming_answers
ON programming_answers.RESPONSE_ID = project_answers.RESPONSE_ID
GROUP BY 1,2
ORDER BY 3 DESC
Чтобы сделать анализ еще более эффективным, вы можете объединить ответы на опрос с данными CRM, чтобы проверить, соответствуют ли участники каким-либо учетным записям, уже включенным в ваше хранилище данных. Это поможет вашей компании принимать более обоснованные решения в области поддержки клиентов или таргетирования пользователей для запуска новых продуктов.
Здесь мы покажем, как объединить данные опроса с таблицей учетных записей на основе домена респондента и веб-сайта учетной записи. Теперь вы можете увидеть распределение ответов по типам учетных записей, что поможет вам понять, сколько респондентов принадлежат к существующим учетным записям клиентов.
SELECT
account.TYPE AS account_type,
COUNT(DISTINCT project_answers.Domainname) AS project_answers_count_domains
FROM `my-project.A000111_ProjectAnswers` AS project_answers
LEFT JOIN `my-project.testing.account` AS account
ON project_answers.Domainname=account.website
GROUP BY 1
8. Выполните визуальный анализ.
Теперь, когда данные вашего опроса централизованы в хранилище данных, вы можете легко анализировать их с помощью инструмента бизнес-аналитики. Мы создали несколько примеров отчетов в Data Studio и Looker .
Лукер
Если у вас уже есть экземпляр Looker, вы можете использовать файл LookML из этой папки, чтобы начать анализ данных из примера опроса и CRM для этого шаблона. Просто создайте новый проект Looker, добавьте файл LookML и замените имена подключений и таблиц в файле в соответствии с вашей конфигурацией BigQuery. Если у вас нет экземпляра Looker, но вы хотите узнать больше, вы можете запланировать демонстрацию здесь.

Data Studio
В качестве альтернативы, чтобы создать отчет в Data Studio , щелкните рамку с крестиком Google «Пустой отчет» и подключитесь к BigQuery. Следуйте всем инструкциям Data Studio. Если вы хотите узнать больше, краткое руководство и введение в основные функции Data Studio можно найти здесь . Вы также можете найти наши готовые панели мониторинга Data Studio здесь.

9. Уборка
Самый простой способ избежать выставления счетов — удалить облачный проект, созданный для этого урока. В качестве альтернативы можно удалить отдельные ресурсы.
- В консоли Cloud перейдите в раздел «Управление ресурсами» .
- В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить» .
- В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
