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

1. บทนำ

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

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

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

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

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

สิ่งที่คุณต้องมี

  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน, BigQuery และ Dataprep
  • ความรู้พื้นฐานเกี่ยวกับ Dataprep อาจเป็นประโยชน์ แต่หากไม่มีความรู้ด้านนี้ก็ไม่เป็นไร
  • ความรู้พื้นฐานเกี่ยวกับ BigQuery และ SQL อาจเป็นประโยชน์ แต่หากไม่มีความรู้ด้านนี้ก็ไม่เป็นไร

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

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

f3d25efd2cc923f5.png

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

d499e5a4dccdf5fd.png

4939332a5d8f9f19.png

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

3. เปลี่ยนรูปแบบคำตอบของแบบสำรวจ

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

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

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

3eeedc50b0fd54fd.png

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

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

cab8a38a96a13ce4.png

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

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

c6ea3d47d4dd5e78.png

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

9223d0271516c58d.png

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

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

4e3189b8cc2d4a8b.png

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

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

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

3c3c2bd098e03003.png

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

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

นำเข้า "รูปแบบการออกแบบการวิเคราะห์ Google ฟอร์ม" ใน Cloud Dataprep

ดาวน์โหลดแพ็กเกจโฟลว์รูปแบบการออกแบบการวิเคราะห์ของ 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 ฟอร์ม คุณเลือก "default" ได้หากยังไม่ได้สร้างชุดข้อมูล BigQuery

f4eaa05ecf9de162.png

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

46edea1b8ca63270.png

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

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

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

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

afa421849b1bd398.png

เราขอแนะนำให้คุณลองใช้สูตรทีละสูตร โดยเริ่มจาก "ส่วนหัวที่สะอาด" จากนั้นจึงเป็น "คำถามแบบเลือกตอบ" แล้วจึงเป็นสูตรอื่นๆ ที่อยู่ด้านล่าง

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

449da06d96cd520e.png

4ac6e14f578d0707.png

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

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

47cf50f6d17a5b1e.png

คลิกไอคอน "ประวัติงาน" ในแผงด้านซ้ายเพื่อตรวจสอบงาน การดำเนินการและโหลดตาราง 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. ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบโปรเจ็กต์