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, thực hiện nghiên cứu thị trường, cải thiện một sản phẩm hoặc dịch vụ hoặc đánh giá mức độ gắn kết 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 pipeline tự động thu thập kết quả của 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 từ 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 việc 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 bạn 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 đẩy dữ liệu khảo sát vào BigQuery
  • Cách thu thập thêm thông tin chi tiết từ dữ liệu khảo sát

Bạn cần có

  • Một dự án trên Google Cloud có bật tính năng thanh toán, BigQuery và Dataprep
  • Bạn nên có kiến thức cơ bản về Dataprep, nhưng không bắt buộc
  • Bạn nên có kiến thức cơ bản về BigQuery và SQL, nhưng không bắt buộc

2. Quản lý câu trả lời trên 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 trên Google Biểu mẫu cho bản khảo sát mẫu.

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 và 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.png

4939332a5d8f9f19.png

Bây giờ, hãy xem xét từng loại câu trả lời và cách chuyển đổi loại câu trả lờ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 khảo sát có thể được nhóm thành 4 nhóm có định dạng xuất cụ thể. Dựa trên loại câu hỏi, bạn cần phải 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 chuyể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 tuyến tính, v.v.

  • Tên câu hỏi: tên cột
  • Câu trả lời: giá trị ô
  • Yêu cầu chuyển đổi: không cần chuyển đổi; câu trả lời được tải nguyên trạng.

3eeedc50b0fd54fd.png

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

  • Tên câu hỏi: tên cột
  • Câu trả lời: danh sách giá trị có dấu chấm phẩy phân tách (ví dụ: "Câu trả lời 1; Câu trả lời 4; Câu trả lời 6")
  • Yêu cầu chuyển đổi: cần trích xuất và xoay danh sách giá trị để mỗi câu trả lờ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. Người trả lời 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ẻ trở thành một tên cột có đị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 trở thành một cột có giá trị riêng biệt.
  • Yêu cầu 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âu hỏi và cột còn lại chứa câu trả lời.

9223d0271516c58d.png

Câu hỏi dạng lưới hộp đánh dấu

Sau đây là ví dụ về một lưới hộp đánh dấu. Người trả lời có thể chọn không có giá trị nào đế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ẻ trở thành một tên cột có đị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 trở thành một cột có danh sách giá trị được phân tách bằng dấu chấm phẩy.
  • Yêu cầu 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, cần trích xuất và xoay danh sách giá trị của mỗi 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 2 cột. Một cột đề cập đến lựa chọn câu hỏi và cột còn lại chứa câu trả lời.

3c3c2bd098e03003.png

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

4. Xây dựng quy trình Cloud Dataprep

Nhập "Mẫu thiết kế phân tích Google Biểu mẫu" trong Cloud Dataprep

Tải gói quy trình Mẫu thiết kế phân tích Google Biểu mẫu xuống (không giải nén gói này). Trong ứng dụng Cloud Dataprep, hãy nhấp vào biểu tượng Quy trình trong thanh điều hướng bên trái. Sau đó, trong trang Quy trình, hãy chọn Nhập trong trình đơn theo bối cảnh.

ba7c0cb0eec398df.png

Sau khi 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

Ở phía bên trái của quy trình, nguồn dữ liệu phải được kết nối lại 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 "Thay thế".

55c16f0c04366f0c.png

Sau đó, nhấp vào đường liên kết "Nhập tập dữ liệu" ở cuối 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 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 "Đi" rồi nhấp vào "Nhập và thêm vào quy trình" ở dưới cùng bên phải. Khi bạn quay lại 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 bảng BigQuery

Ở phía bên phải của quy trình, bạn cần kết nối các kết quả đầu ra với thực thể BigQuery của riêng bạn. Đối với mỗi kết quả đầ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 kết quả đó 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 "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 và 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ả của 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 chỉnh sửa "Đích đến thủ công", hãy tiếp tục theo cách tương tự cho kết quả đầu ra "Đích đến theo lịch trình".

46edea1b8ca63270.png

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

5. Giải thích về quy trình Cloud Dataprep

Ý tưởng cơ bản của quy trình "Mẫu thiết kế phân tích Google Biểu mẫu" là thực hiện các phép chuyển đổi trên 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 chuyể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 mục đích đơ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 "Clean Headers" (Xoá tiêu đề) rồi đến "SingleChoiceSELECT-Questions" (Câu hỏi chọn một đáp án) và sau đó là các công thức khác bên dưới.

Tất cả công thức đều được nhận xét để giải thích các bước chuyển đổi khác nhau. Khi ở 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.png

4ac6e14f578d0707.png

6. Chạy quy trình Cloud Dataprep

Bây giờ, 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âu trả lời vào BigQuery. Chọn từng kết quả đầ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 "lịch sử 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ến hành và tải các bảng BigQuery.

afc79eeb27202fb4.png

Khi tất 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 sạch, 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 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 các câu hỏi toàn diện hơn để hiểu sâu hơn về câu trả lời 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 được sử dụng phổ biến nhất bởi những người có chức danh chuyên môn khác nhau – bạn có thể viết một truy vấn 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âu trả lời khảo sát với dữ liệu CRM để xem liệu người tham gia có khớp 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 mục tiêu đến người dùng cho các sản phẩm mới ra mắt.

Ở đây, chúng ta sẽ trình bày cách bạn có thể kết hợp dữ liệu khảo sát với một bảng tài khoản dựa trên miền của người trả lời và trang web tài khoản. Giờ đây, bạn có thể thấy sự phân bố câu trả lời theo loại tài khoản, giúp bạn hiểu được có bao nhiêu người trả lời thuộc về cá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 trực quan

Giờ đây, dữ liệu khảo sát của bạn đượ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 kinh doanh. 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 thực thể 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 khảo sát và dữ liệu CRM mẫu cho mẫu này. Chỉ cần tạo một dự án Looker mới, thêm LookML và thay thế tên kết nối và tên bảng trong tệp để khớp với cấu hình BigQuery của bạn. Nếu bạn không có thực thể Looker nhưng muốn tìm hiểu thêm, bạn có thể lên lịch bản minh họa 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 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 bạn muốn biết thêm, bạn có thể tìm thấy hướng dẫn bắt đầu nhanh và phần 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 để loại bỏ hoá đơn 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 mà 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.