เปลี่ยนรูปแบบและโหลดคำตอบจากแบบสำรวจ Google ฟอร์มไปยัง BigQuery

1. บทนำ

เหตุผลที่ต้องทำแบบสำรวจมีหลายประการ เช่น ประเมินความพึงพอใจของลูกค้า ทำการวิจัยตลาด ปรับปรุงผลิตภัณฑ์หรือบริการ หรือประเมินการมีส่วนร่วมของพนักงาน อย่างไรก็ตาม หากคุณเคยลองใช้ข้อมูลแบบสำรวจมาก่อนแล้ว คุณอาจทราบว่ารูปแบบมาตรฐานนั้นใช้งานได้ยาก ในคู่มือนี้ เราได้สร้างไปป์ไลน์อัตโนมัติที่บันทึกผลลัพธ์ของ Google ฟอร์ม, เตรียมข้อมูลเพื่อทำการวิเคราะห์ด้วย Cloud Dataprep, โหลดข้อมูลลงใน BigQuery และช่วยให้ทีมของคุณทำการวิเคราะห์ด้วยภาพโดยใช้เครื่องมืออย่าง Looker หรือ Data Studio

สิ่งที่คุณจะสร้าง

ใน Codelab นี้ คุณจะใช้ Dataprep เพื่อเปลี่ยนคำตอบจากตัวอย่างแบบสำรวจใน Google ฟอร์มให้เป็นรูปแบบที่เป็นประโยชน์สำหรับการวิเคราะห์ข้อมูล คุณจะพุชข้อมูลที่เปลี่ยนรูปแบบไปยัง BigQuery ซึ่งสามารถถามคำถามที่เจาะลึกยิ่งขึ้นด้วย SQL และรวมข้อมูลนั้นเข้ากับชุดข้อมูลอื่นๆ เพื่อการวิเคราะห์ที่มีประสิทธิภาพมากขึ้น และในตอนท้าย คุณจะสำรวจแดชบอร์ดที่สร้างไว้ล่วงหน้าหรือเชื่อมต่อเครื่องมือ Business Intelligence ของคุณเองกับ BigQuery เพื่อสร้างรายงานใหม่ได้

สิ่งที่คุณจะได้เรียนรู้

  • วิธีเปลี่ยนรูปแบบข้อมูลแบบสำรวจโดยใช้ Dataprep
  • วิธีพุชข้อมูลแบบสำรวจไปยัง BigQuery
  • วิธีรับข้อมูลเชิงลึกเพิ่มเติมจากข้อมูลแบบสํารวจ

สิ่งที่ต้องมี

2. จัดการคำตอบใน Google ฟอร์ม

เราจะเริ่มจากการดูคำตอบใน Google ฟอร์มอย่างละเอียดในแบบสำรวจตัวอย่าง

f3d25efd2cc923f5.png

ส่งออกผลการสำรวจได้จาก "คำตอบ" โดยคลิกไอคอน Google ชีต และสร้างสเปรดชีตใหม่หรือโหลดผลลัพธ์ลงในสเปรดชีตที่มีอยู่ Google ฟอร์มจะยังเพิ่มคำตอบในสเปรดชีตต่อไปเมื่อผู้ตอบส่งคำตอบ จนกว่าคุณจะยกเลิกการเลือก "ยอมรับคำตอบ"

d499e5a4dccdf5fd.png

4939332a5d8f9f19.png

คราวนี้เรามาดูการตอบกลับแต่ละประเภทและวิธีแปลในไฟล์ Google ชีตกัน

3. เปลี่ยนรูปแบบการตอบแบบสำรวจ

คุณจัดกลุ่มคำถามในแบบสำรวจออกเป็น 4 กลุ่ม ซึ่งจะมีรูปแบบการส่งออกเฉพาะได้ คุณจะต้องปรับโครงสร้างข้อมูลในลักษณะใดลักษณะหนึ่ง ทั้งนี้ขึ้นอยู่กับประเภทของคำถาม เราจะตรวจสอบแต่ละกลุ่มและประเภทการเปลี่ยนรูปแบบที่จําเป็น

คำถามแบบตัวเลือกเดียว: คำตอบสั้นๆ ย่อหน้า เมนูแบบเลื่อนลง สเกลเชิงเส้น ฯลฯ

  • ชื่อคำถาม: ชื่อคอลัมน์
  • การตอบสนอง: ค่าของเซลล์
  • ข้อกำหนดด้านการเปลี่ยนรูปแบบ: ไม่จำเป็นต้องเปลี่ยนรูปแบบ ระบบจะโหลดการตอบกลับตามที่เป็น

3eeedc50b0fd54fd.png

คำถามแบบหลายตัวเลือก: หลายตัวเลือก, ช่องทำเครื่องหมาย

  • ชื่อคำถาม: ชื่อคอลัมน์
  • คำตอบ: รายการค่าที่มีตัวคั่นเซมิโคลอน (เช่น "Resp 1; Resp 4; Resp 6")
  • ข้อกำหนดด้านการเปลี่ยนรูปแบบ: ต้องแยกและ Pivot รายการค่าเพื่อให้คำตอบแต่ละรายการกลายเป็นแถวใหม่

cab8a38a96a13ce4.png

คำถามแบบหลายตัวเลือกแบบตารางกริด

ต่อไปนี้เป็นตัวอย่างของคำถามแบบหลายตัวเลือก โดยเลือกค่าเดียวจากแต่ละแถว

c6ea3d47d4dd5e78.png

  • ชื่อคำถาม: คำถามแต่ละข้อจะกลายเป็นชื่อคอลัมน์ในรูปแบบ "คำถาม [Option]"
  • คำตอบ: คำตอบแต่ละรายการในตารางกริดจะกลายเป็นคอลัมน์ที่มีค่าไม่ซ้ำกัน
  • ข้อกำหนดด้านการเปลี่ยนรูปแบบ: คำถาม/คำตอบแต่ละข้อต้องกลายเป็นแถวใหม่ในตารางและถูกแบ่งออกเป็น 2 คอลัมน์ คอลัมน์หนึ่งพูดถึงตัวเลือกคำถามและอีกคอลัมน์ที่มีคำตอบ

9223d0271516c58d.png

คำถามแบบช่องทำเครื่องหมายสำหรับตัวเลือกหลายตัวเลือก

ต่อไปนี้คือตัวอย่างของตารางกริดแบบช่องทำเครื่องหมาย โดยในแต่ละแถวจะเลือกค่าไม่มีหรือมีค่าหลายค่าจากแต่ละแถวได้

4e3189b8cc2d4a8b.png

  • ชื่อคำถาม: คำถามแต่ละข้อจะกลายเป็นชื่อคอลัมน์ในรูปแบบ "คำถาม [ตัวเลือก]"
  • คำตอบ: คำตอบแต่ละรายการในตารางกริดจะกลายเป็นคอลัมน์ที่มีรายการค่าเป็นเครื่องหมายอัฒภาคคั่น
  • ข้อกำหนดด้านการเปลี่ยนรูปแบบ: คำถามประเภทเหล่านี้จะรวม "ช่องทำเครื่องหมาย" เข้าด้วยกัน และ "ตารางหลายตัวเลือก" และจะต้องได้รับการแก้ไขตามลำดับนี้

ขั้นแรก จะต้องดึงรายการค่าของคำตอบแต่ละรายการและทำ Pivot เพื่อให้แต่ละคำตอบกลายเป็นแถวใหม่สำหรับคำถามนั้นๆ

อย่างที่ 2 คำตอบแต่ละรายการจะต้องกลายเป็นแถวใหม่ในตารางและถูกแบ่งออกเป็น 2 คอลัมน์ คอลัมน์หนึ่งพูดถึงตัวเลือกคำถามและอีกคอลัมน์ที่มีคำตอบ

3c3c2bd098e03003.png

ต่อไปเราจะแสดงวิธีจัดการการเปลี่ยนรูปแบบเหล่านี้ด้วย Cloud Dataprep

4. สร้างโฟลว์ Cloud Dataprep

นำเข้า "รูปแบบการออกแบบ Analytics ของ Google ฟอร์ม" ใน Cloud Dataprep

ดาวน์โหลดแพ็กเกจขั้นตอนรูปแบบการออกแบบของ Analytics ของ Google ฟอร์ม (โดยไม่ต้องคลายการบีบอัดไฟล์) ในแอปพลิเคชัน Cloud Dataprep ให้คลิกไอคอนโฟลว์ในแถบนำทางด้านซ้าย จากนั้นในหน้าโฟลว์ ให้เลือก "นำเข้า" จากเมนูบริบท

ba7c0cb0eec398df.png

หลังจากนำเข้าขั้นตอนแล้ว ให้เลือกขั้นตอนที่นำเข้าเพื่อแก้ไข หน้าจอควรมีลักษณะดังนี้

44978861eb34ec71.png

เชื่อมต่อสเปรดชีตผลการสำรวจของ Google ชีต

ทางด้านซ้ายของขั้นตอน ต้องเชื่อมต่อแหล่งข้อมูลกับ Google ชีตที่มีผลลัพธ์ Google ฟอร์มอีกครั้ง คลิกขวาที่ออบเจ็กต์ชุดข้อมูลใน Google ชีต แล้วเลือก "แทนที่"

55c16f0c04366f0c.png

จากนั้นคลิก "นำเข้าชุดข้อมูล" ที่ด้านล่างของโมดัลดังกล่าว คลิกปุ่ม "แก้ไขเส้นทาง" ดินสอ

8afeef260c96277f.png

จากนั้นแทนที่ค่าปัจจุบันด้วยลิงก์นี้ซึ่งชี้ไปยัง Google ชีตด้วยผลลัพธ์บางรายการของ Google ฟอร์ม คุณจะใช้ตัวอย่างของเราหรือสำเนาของคุณเองก็ได้: https://docs.google.com/spreadsheets/d/1DgIlvlLceFDqWEJs91F8rt1B-X0PJGLY6shkKGBPWpk/edit?usp=sharing

คลิก "ไป" แล้วคลิก "นำเข้าและ เพิ่มลงในโฟลว์" ที่ด้านขวาล่าง เมื่อคุณกลับมาที่โมดัลอีกครั้ง ให้คลิกปุ่ม "แทนที่" ที่ด้านล่างขวา

เชื่อมต่อตาราง BigQuery

ที่ด้านขวาของโฟลว์ คุณต้องเชื่อมต่อเอาต์พุตกับอินสแตนซ์ BigQuery ของคุณเอง สำหรับเอาต์พุตแต่ละรายการ ให้คลิกไอคอนแล้วแก้ไขคุณสมบัติดังนี้

ก่อนอื่น ให้เริ่มด้วยการแก้ไข "ปลายทางที่กำหนดเอง"

a3fc2cb80153ec25.png

ใน "การตั้งค่าการเผยแพร่" ต่อไปนี้ คลิกปุ่มแก้ไข

85791e6162a370de.png

เมื่อคุณเห็น "การดำเนินการเผยแพร่" คุณต้องเปลี่ยนการตั้งค่าการเชื่อมต่อโดยคลิกการเชื่อมต่อ BigQuery และแก้ไขพร็อพเพอร์ตี้ของการเชื่อมต่อ

1f3e4887baaeaffd.png

เลือกชุดข้อมูล BigQuery ที่ต้องการโหลดผลลัพธ์ของ Google ฟอร์ม คุณเลือก "ค่าเริ่มต้น" ได้ หากคุณยังไม่ได้สร้างชุดข้อมูล BigQuery

f4eaa05ecf9de162.png

หลังจากที่คุณแก้ไข "ปลายทางที่กำหนดเอง" ให้ดำเนินการแบบเดียวกันนี้กับ "ปลายทางที่กำหนดเวลาไว้" เอาต์พุต

46edea1b8ca63270.png

ทำซ้ำในแต่ละเอาต์พุตโดยทำตามขั้นตอนเดียวกัน โดยรวมแล้ว คุณต้องแก้ไขปลายทาง 8 แห่ง

5. อธิบายโฟลว์ Cloud Dataprep

แนวคิดพื้นฐานของ "รูปแบบการออกแบบ Analytics ของ Google ฟอร์ม" คือการดำเนินการเปลี่ยนรูปแบบการตอบแบบสำรวจตามที่อธิบายไว้ก่อนหน้านี้ โดยแจกแจงคำถามแต่ละหมวดหมู่เป็นสูตรการเปลี่ยนรูปแบบข้อมูล Cloud Dataprep ที่เจาะจง

ขั้นตอนนี้จะแบ่งคำถามออกเป็น 4 ตาราง (สอดคล้องกับหมวดหมู่คำถาม 4 ข้อเพื่อความเรียบง่าย)

afa421849b1bd398.png

เราขอแนะนำให้สำรวจสูตรอาหารแต่ละสูตรโดยเริ่มจาก "Clean Headers" แล้วคลิก "SingleChoiceSELECT-Questions" ตามด้วยสูตรซึ่งกันและกันที่ด้านล่าง

สูตรอาหารทั้งหมดมีการแสดงความคิดเห็นเพื่ออธิบายขั้นตอนต่างๆ ในการเปลี่ยนรูปแบบ เมื่ออยู่ในสูตรอาหาร คุณสามารถแก้ไขขั้นตอนและดูตัวอย่างสถานะก่อน/หลังของคอลัมน์ใดคอลัมน์หนึ่งได้

449da06d96cd520e.png

4ac6e14f578d0707.png

6. เรียกใช้โฟลว์ Cloud Dataprep

เมื่อแหล่งที่มาและปลายทางกําหนดค่าเรียบร้อยแล้ว คุณก็เรียกใช้โฟลว์เพื่อเปลี่ยนรูปแบบและโหลดการตอบกลับลงใน BigQuery ได้ เลือกเอาต์พุตแต่ละรายการและคลิก "เรียกใช้" หากมีตาราง BigQuery ที่ระบุอยู่ Dataprep จะเพิ่มแถวใหม่ต่อท้าย มิเช่นนั้นจะสร้างตารางใหม่

47cf50f6d17a5b1e.png

คลิก "ประวัติงาน" ไอคอนที่เลื่อนด้านซ้ายเพื่อตรวจสอบงาน อาจใช้เวลา 2-3 นาทีเพื่อดำเนินการต่อและโหลดตาราง BigQuery

afc79eeb27202fb4.png

เมื่องานทั้งหมดเสร็จสมบูรณ์แล้ว ผลการสำรวจจะโหลดใน BigQuery ในรูปแบบที่สะอาด มีโครงสร้าง และเป็นมาตรฐานซึ่งพร้อมสำหรับการวิเคราะห์

7. วิเคราะห์ข้อมูลจากแบบสำรวจใน BigQuery

ในคอนโซล Google สำหรับ BigQuery คุณควรจะเห็นรายละเอียดของตารางใหม่แต่ละตารางได้

df370873572511ac.png

ข้อมูลแบบสำรวจใน 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. ทำการวิเคราะห์ภาพ

เมื่อข้อมูลแบบสำรวจรวมอยู่ในคลังข้อมูลแล้ว คุณก็วิเคราะห์ข้อมูลในเครื่องมือ Business Intelligence ได้อย่างง่ายดาย เราได้สร้างรายงานตัวอย่างบางรายการใน Data Studio และใน Looker

Looker

หากมีอินสแตนซ์ Looker อยู่แล้ว คุณสามารถใช้ LookML ในโฟลเดอร์นี้ เพื่อเริ่มวิเคราะห์แบบสํารวจตัวอย่างและข้อมูล CRM สําหรับรูปแบบนี้ได้ เพียงสร้างโปรเจ็กต์ Looker ใหม่ เพิ่ม LookML จากนั้นแทนที่ชื่อการเชื่อมต่อและชื่อตารางในไฟล์ให้ตรงกับการกำหนดค่า BigQuery หากไม่มีอินสแตนซ์ Looker แต่สนใจดูข้อมูลเพิ่มเติม ให้กําหนดเวลาการสาธิตที่นี่

129db05d6f85f484.png

Data Studio

หรือหากต้องการสร้างรายงานใน Data Studio ให้คลิกเฟรมที่มีไอคอนกากบาท "รายงานเปล่า" ของ Google และเชื่อมต่อกับ BigQuery ทำตามวิธีการทั้งหมดจาก Data Studio หากต้องการทราบข้อมูลเพิ่มเติม โปรดดูคู่มือเริ่มต้นฉบับย่อและข้อมูลเบื้องต้นเกี่ยวกับฟีเจอร์หลักของ Data Studio ได้ที่นี่ นอกจากนี้ คุณยังดูแดชบอร์ดของ Data Studio ที่สร้างไว้ล่วงหน้าได้ที่นี่

5e744869e3fe3f8f.png

9. ล้างข้อมูล

วิธีที่ง่ายที่สุดในการยกเลิกการเรียกเก็บเงินคือการลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณสร้างสำหรับบทแนะนำ หรือจะลบทรัพยากรทีละรายการก็ได้

  1. ใน Cloud Console ให้ไปที่การจัดการทรัพยากร
  2. ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
  3. ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเครื่องเพื่อลบโปรเจ็กต์