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

1. บทนำ

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

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

ในโค้ดแล็บนี้ คุณจะใช้ 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

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

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

cab8a38a96a13ce4.png

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

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

c6ea3d47d4dd5e78.png

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

9223d0271516c58d.png

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

ต่อไปนี้คือตัวอย่างตารางกริดช่องทําเครื่องหมาย ผู้ใช้สามารถเลือกค่าตั้งแต่ 0 ถึงหลายค่าจากแต่ละแถว

4e3189b8cc2d4a8b.png

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

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

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

3c3c2bd098e03003.png

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

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

นําเข้า "รูปแบบการออกแบบ Analytics ของ Google Forms" ใน Cloud Dataprep

ดาวน์โหลดแพ็กเกจโฟลว์ Google Forms Analytics Design Pattern (ไม่ต้องแตกไฟล์) ในแอปพลิเคชัน 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 Forms คุณเลือก "ค่าเริ่มต้น" ได้หากยังไม่ได้สร้างชุดข้อมูล BigQuery ใดๆ

f4eaa05ecf9de162.png

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

46edea1b8ca63270.png

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

5. อธิบายขั้นตอนของ Cloud Dataprep

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

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

afa421849b1bd398.png

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

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

449da06d96cd520e.png

4ac6e14f578d0707.png

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

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

47cf50f6d17a5b1e.png

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

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