Chuyển đổi và tải các câu trả lời khảo sát trên Google Biểu mẫu vào BigQuery

1. Giới thiệu

Có nhiều lý do để chạy khảo sát: đánh giá sự hài lòng của khách hàng, tiến hành nghiên cứu thị trường, cải thiện sản phẩm hoặc dịch vụ hoặc đánh giá mức độ gắn bó của nhân viên. Tuy nhiên, nếu đã từng làm việc với dữ liệu khảo sát, có lẽ bạn biết rằng định dạng tiêu chuẩn rất khó xử lý. Trong hướng dẫn này, chúng ta sẽ xây dựng một quy trình tự động thu thập kết quả trên Google Biểu mẫu, chuẩn bị dữ liệu để phân tích bằng Cloud Dataprep, tải dữ liệu vào BigQuery và cho phép nhóm của bạn thực hiện phân tích trực quan bằng các công cụ như Looker hoặc Data Studio.

Sản phẩm bạn sẽ tạo ra

Trong lớp học lập trình này, bạn sẽ sử dụng Dataprep để chuyển đổi các câu trả lời trong bản khảo sát mẫu trên Google Biểu mẫu thành một định dạng hữu ích cho hoạt động phân tích dữ liệu. Bạn sẽ đẩy dữ liệu đã chuyển đổi vào BigQuery, nơi bạn có thể đặt các câu hỏi sâu hơn bằng SQL và kết hợp dữ liệu đó với các tập dữ liệu khác để phân tích hiệu quả hơn. Cuối cùng, bạn có thể khám phá các trang tổng quan được tạo sẵn hoặc kết nối công cụ thông tin kinh doanh của riêng mình với BigQuery để tạo báo cáo mới.

Kiến thức bạn sẽ học được

  • Cách chuyển đổi dữ liệu khảo sát bằng Dataprep
  • Cách chuyển dữ liệu khảo sát vào BigQuery
  • Cách khai thác thêm thông tin chi tiết từ dữ liệu khảo sát

Bạn cần có

2. Quản lý câu trả lời trong Google Biểu mẫu

Chúng ta sẽ bắt đầu bằng cách xem xét kỹ hơn các câu trả lời trong Google Biểu mẫu cho khảo sát mẫu của chúng ta.

f3d25efd2cc923f5.png

Bạn có thể xuất kết quả khảo sát từ thẻ "Câu trả lời" bằng cách nhấp vào biểu tượng Google Trang tính rồi tạo một bảng tính mới hoặc tải kết quả vào một bảng tính hiện có. Google Biểu mẫu sẽ tiếp tục thêm câu trả lời vào bảng tính khi người trả lời gửi câu trả lời cho đến khi bạn bỏ chọn nút "Chấp nhận câu trả lời".

d499e5a4dccdf5fd.png4939332a5d8f9f19.png

Bây giờ, hãy xem xét từng loại câu trả lời và cách loại câu trả lời đó được chuyển đổi trong tệp Google Trang tính.

3. Chuyển đổi câu trả lời khảo sát

Các câu hỏi trong khảo sát có thể được nhóm thành 4 nhóm và mỗi nhóm sẽ có một định dạng xuất cụ thể. Tuỳ thuộc vào loại câu hỏi, bạn sẽ cần tái cấu trúc dữ liệu theo một cách nhất định. Ở đây, chúng ta sẽ xem xét từng nhóm và các loại phép biến đổi mà chúng ta cần áp dụng.

Câu hỏi chọn một đáp án: câu trả lời ngắn, đoạn văn, trình đơn thả xuống, thang điểm tuyến tính, v.v.

  • Tên câu hỏi: tên cột
  • Phản hồi: giá trị ô
  • Yêu cầu về việc chuyển đổi: không cần chuyển đổi; phản hồi được tải nguyên trạng.

3eeedc50b0fd54fd.png

Câu hỏi trắc nghiệm: nhiều lựa chọn, hộp đánh dấu

  • Tên câu hỏi: tên cột
  • Phản hồi: danh sách giá trị có dấu chấm phẩy phân tách (ví dụ: "Phản hồi 1; Phản hồi 4; Phản hồi 6")
  • Yêu cầu về việc chuyển đổi: bạn cần trích xuất và xoay danh sách giá trị để mỗi phản hồi trở thành một hàng mới.

cab8a38a96a13ce4.png

Câu hỏi dạng lưới trắc nghiệm

Sau đây là ví dụ về một câu hỏi trắc nghiệm. Bạn phải chọn một giá trị duy nhất trong mỗi hàng.

c6ea3d47d4dd5e78.png

  • Tên câu hỏi: mỗi câu hỏi riêng lẻ sẽ trở thành tên cột theo định dạng "Câu hỏi [Lựa chọn]".
  • Câu trả lời: mỗi câu trả lời riêng lẻ trong lưới sẽ trở thành một cột có giá trị riêng biệt.
  • Yêu cầu về việc chuyển đổi: mỗi câu hỏi/câu trả lời phải trở thành một hàng mới trong bảng và được chia thành 2 cột. Một cột đề cập đến lựa chọn của câu hỏi và cột còn lại có câu trả lời.

9223d0271516c58d.png

Câu hỏi dạng lưới hộp đánh dấu trắc nghiệm

Sau đây là ví dụ về một lưới hộp đánh dấu. Bạn có thể chọn từ không đến nhiều giá trị trong mỗi hàng.

4e3189b8cc2d4a8b.png

  • Tên câu hỏi: mỗi câu hỏi riêng lẻ sẽ trở thành tên cột theo định dạng "Câu hỏi [Lựa chọn]".
  • Phản hồi: mỗi phản hồi riêng lẻ trong lưới sẽ trở thành một cột có danh sách các giá trị được phân tách bằng dấu chấm phẩy.
  • Yêu cầu về việc chuyển đổi: các loại câu hỏi này kết hợp danh mục "hộp đánh dấu" và "lưới trắc nghiệm" và phải được giải quyết theo thứ tự này.

Trước tiên, bạn cần trích xuất và xoay danh sách giá trị của từng câu trả lời để mỗi câu trả lời trở thành một hàng mới cho câu hỏi cụ thể.

Thứ hai: mỗi câu trả lời riêng lẻ phải trở thành một hàng mới trong bảng và được chia thành hai cột. Một cột đề cập đến lựa chọn của câu hỏi và cột còn lại có câu trả lời.

3c3c2bd098e03003.png

Tiếp theo, chúng ta sẽ xem cách xử lý các phép biến đổi này bằng Cloud Dataprep.

4. Xây dựng luồng Cloud Dataprep

Nhập "Mẫu thiết kế số liệu phân tích của Google Biểu mẫu" trong Cloud Dataprep

Tải gói quy trình Google Forms Analytics Design Pattern xuống (không giải nén). Trong ứng dụng Cloud Dataprep, hãy nhấp vào biểu tượng Luồng trong thanh điều hướng bên trái. Sau đó, trong trang Luồng, hãy chọn Nhập trong trình đơn theo bối cảnh.

ba7c0cb0eec398df.png

Sau khi bạn nhập quy trình, hãy chọn quy trình đã nhập để chỉnh sửa. Màn hình của bạn sẽ có dạng như sau:

44978861eb34ec71.png

Kết nối bảng tính kết quả khảo sát trên Google Trang tính

Ở bên trái của quy trình, bạn phải kết nối lại nguồn dữ liệu với một Google Trang tính chứa kết quả của Google Biểu mẫu. Nhấp chuột phải vào đối tượng tập dữ liệu Google Trang tính rồi chọn "Replace" (Thay thế).

55c16f0c04366f0c.png

Sau đó, hãy nhấp vào đường liên kết "Nhập tập dữ liệu" ở cuối cửa sổ phương thức. Nhấp vào biểu tượng bút chì "Chỉnh sửa đường dẫn".

8afeef260c96277f.png

Từ đó, hãy thay thế giá trị hiện tại bằng đường liên kết này. Đường liên kết này sẽ trỏ đến một Google Trang tính có một số kết quả của Google Biểu mẫu. Bạn có thể sử dụng ví dụ của chúng tôi hoặc bản sao của riêng bạn: https://docs.google.com/spreadsheets/d/1DgIlvlLceFDqWEJs91F8rt1B-X0PJGLY6shkKGBPWpk/edit?usp=sharing

Nhấp vào "Go" (Chuyển đến) rồi nhấp vào "Import & Add to Flow" (Nhập và thêm vào luồng) ở dưới cùng bên phải. Khi bạn quay lại cửa sổ phương thức, hãy nhấp vào nút "Thay thế" ở dưới cùng bên phải.

Kết nối các bảng BigQuery

Ở phía bên phải của luồng, bạn cần kết nối các đầu ra với thực thể BigQuery của riêng mình. Đối với mỗi đầu ra, hãy nhấp vào biểu tượng rồi chỉnh sửa các thuộc tính của đầu ra đó như sau.

Trước tiên, hãy bắt đầu bằng cách chỉnh sửa "Đích đến thủ công"

a3fc2cb80153ec25.png

Trong màn hình "Chế độ cài đặt xuất bản" sau đây, hãy nhấp vào nút chỉnh sửa

85791e6162a370de.png

Khi thấy màn hình "Hành động xuất bản", bạn cần thay đổi chế độ cài đặt kết nối bằng cách nhấp vào kết nối BigQuery rồi chỉnh sửa các thuộc tính của kết nối đó.

1f3e4887baaeaffd.png

Chọn tập dữ liệu BigQuery mà bạn muốn tải kết quả trên Google Biểu mẫu vào. Bạn có thể chọn "mặc định" nếu chưa tạo tập dữ liệu BigQuery nào.

f4eaa05ecf9de162.png

Sau khi bạn chỉnh sửa "Đích đến thủ công", hãy làm theo cách tương tự cho đầu ra "Đích đến theo lịch".

46edea1b8ca63270.png

Lặp lại trên từng đầu ra theo các bước tương tự. Bạn phải chỉnh sửa tổng cộng 8 đích đến.

5. Giải thích về luồng Cloud Dataprep

Ý tưởng cơ bản của quy trình "Mẫu thiết kế Analytics của Google Biểu mẫu" là thực hiện các phép biến đổi đối với câu trả lời khảo sát như đã mô tả trước đó – bằng cách chia từng danh mục câu hỏi thành một công thức biến đổi dữ liệu cụ thể của Cloud Dataprep.

Quy trình này chia các câu hỏi thành 4 bảng (tương ứng với 4 danh mục câu hỏi, cho đơn giản)

afa421849b1bd398.png

Bạn nên khám phá từng công thức một, bắt đầu bằng "Tiêu đề rõ ràng" rồi đến "Câu hỏi SingleChoiceSELECT", sau đó là từng công thức khác bên dưới.

Tất cả các công thức đều có chú thích để giải thích các bước chuyển đổi khác nhau. Khi đang ở trong một công thức, bạn có thể chỉnh sửa một bước và xem trước trạng thái trước/sau của một cột cụ thể.

449da06d96cd520e.png4ac6e14f578d0707.png

6. Chạy quy trình Cloud Dataprep

Giờ đây, khi nguồn và đích đến đã được định cấu hình đúng cách, bạn có thể chạy quy trình để chuyển đổi và tải các câu trả lời vào BigQuery. Chọn từng đầu ra rồi nhấp vào nút "Chạy". Nếu bảng BigQuery được chỉ định tồn tại, Dataprep sẽ thêm các hàng mới, nếu không, Dataprep sẽ tạo một bảng mới.

47cf50f6d17a5b1e.png

Nhấp vào biểu tượng "nhật ký công việc" trên ngăn bên trái để theo dõi các công việc. Quá trình này sẽ mất vài phút để tiếp tục và tải các bảng BigQuery.

afc79eeb27202fb4.png

Khi tất cả các công việc hoàn tất, kết quả khảo sát sẽ được tải vào BigQuery ở định dạng rõ ràng, có cấu trúc và được chuẩn hoá để sẵn sàng phân tích.

7. Phân tích dữ liệu khảo sát trong BigQuery

Trong Google Console cho BigQuery, bạn sẽ có thể xem thông tin chi tiết của từng bảng mới

df370873572511ac.png

Với dữ liệu khảo sát trong BigQuery, bạn có thể dễ dàng đặt những câu hỏi toàn diện hơn để hiểu rõ hơn về các câu trả lời trong khảo sát. Ví dụ: giả sử bạn đang cố gắng tìm hiểu ngôn ngữ lập trình nào thường được những người có chức danh chuyên môn khác nhau sử dụng nhiều nhất, bạn có thể viết một câu hỏi như sau:

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

Để phân tích hiệu quả hơn nữa, bạn có thể kết hợp các câu trả lời khảo sát với dữ liệu CRM để xem liệu người tham gia có liên kết với bất kỳ tài khoản nào đã có trong kho dữ liệu của bạn hay không. Điều này có thể giúp doanh nghiệp của bạn đưa ra quyết định sáng suốt hơn về việc hỗ trợ khách hàng hoặc nhắm đến người dùng cho các sản phẩm mới ra mắt.

Ở đây, chúng tôi trình bày cách bạn có thể kết hợp dữ liệu khảo sát vào một bảng tài khoản dựa trên miền của người trả lời và trang web của tài khoản. Giờ đây, bạn có thể xem mức phân bổ phản hồi theo loại tài khoản, giúp bạn biết có bao nhiêu người phản hồi thuộc tài khoản khách hàng hiện tại.

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. Thực hiện Phân tích dữ liệu trực quan

Giờ đây, khi dữ liệu khảo sát được tập trung trong một kho dữ liệu, bạn có thể dễ dàng phân tích dữ liệu trong một công cụ thông tin doanh nghiệp. Chúng tôi đã tạo một số báo cáo mẫu trong Data Studio và trong Looker.

Looker

Nếu đã có một phiên bản Looker, bạn có thể sử dụng LookML trong thư mục này để bắt đầu phân tích dữ liệu mẫu của bản khảo sát và CRM cho mẫu này. Bạn chỉ cần tạo một dự án Looker mới, thêm LookML, rồi thay thế tên kết nối và tên bảng trong tệp cho phù hợp với cấu hình BigQuery của bạn. Nếu không có phiên bản Looker nhưng muốn tìm hiểu thêm, bạn có thể lên lịch xem bản minh hoạ tại đây.

129db05d6f85f484.png

Data Studio

Ngoài ra, để tạo báo cáo trong Data Studio, hãy nhấp vào khung có dấu thập của Google "Báo cáo trống" rồi kết nối với BigQuery. Làm theo tất cả hướng dẫn của Data Studio. Nếu muốn tìm hiểu thêm, bạn có thể xem hướng dẫn bắt đầu nhanh và giới thiệu về các tính năng chính của Data Studio tại đây. Bạn cũng có thể tìm thấy các trang tổng quan Data Studio được tạo sẵn của chúng tôi tại đây.

5e744869e3fe3f8f.png

9. Dọn dẹp

Cách dễ nhất để không bị tính phí là xoá dự án trên đám mây mà bạn đã tạo cho hướng dẫn này. Ngoài ra, bạn có thể xoá từng tài nguyên.

  1. Trong Cloud Console, hãy chuyển đến phần quản lý tài nguyên
  2. Trong danh sách dự án, hãy chọn dự án bạn muốn xoá, rồi nhấp vào Xoá.
  3. Trong hộp thoại, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.