טרנספורמציה וטעינה של התשובות לסקר ב-Google Forms ל-BigQuery

1. מבוא

יש הרבה סיבות להפעלת סקרים: הערכת שביעות רצון הלקוחות, ביצוע מחקר שוק, שיפור מוצר או שירות או הערכת מעורבות העובדים. עם זאת, אם ניסיתם לעבוד עם נתוני סקר בעבר, אתם כנראה יודעים שקשה לעבוד עם הפורמט הרגיל. במדריך הזה אנחנו בונים פייפליין אוטומטי שמתעד תוצאות של Google Forms, מכין את הנתונים לניתוח נתונים באמצעות Cloud Dataprep, טוען אותם ל-BigQuery ומאפשר לצוות שלכם לבצע ניתוח חזותי באמצעות כלים כמו Looker או Data Studio.

מה תפַתחו

ב-Codelab הזה תשתמשו ב-Dataprep כדי לבצע טרנספורמציה של תשובות מסקר לדוגמה ב-Google Forms לפורמט שמתאים לניתוח נתונים. תדחפו את הנתונים שעברו טרנספורמציה ל-BigQuery, שם תוכלו לשאול שאלות מעמיקות יותר באמצעות SQL ולצרף אותם למערכי נתונים אחרים כדי לבצע ניתוחים יעילים יותר. בסיום, תוכלו לעיין בלוחות בקרה מוכנים מראש או לקשר את כלי הבינה העסקית שלכם ל-BigQuery כדי ליצור דוחות חדשים.

מה תלמדו

  • איך לבצע טרנספורמציה של נתוני סקר באמצעות Dataprep
  • איך מעבירים נתוני סקר ל-BigQuery
  • איך מקבלים תובנות נוספות מנתוני הסקר

הדרישות

  • פרויקט ב-Google Cloud שבו הופעלו חיוב, BigQuery ו-Dataprep
  • ידע בסיסי ב-Dataprep יכול לעזור, אבל הוא לא חובה
  • מומלץ להכיר את BigQuery ואת SQL, אבל לא חובה

2. ניהול התשובות ב-Google Forms

נתחיל בבדיקה מעמיקה של התשובות ב-Google Forms לסקר לדוגמה.

f3d25efd2cc923f5.png

אפשר לייצא את תוצאות הסקר מהכרטיסייה 'תשובות' על ידי לחיצה על סמל Google Sheets ויצירת גיליון אלקטרוני חדש או טעינת התוצאות לגיליון אלקטרוני קיים. מערכת Google Forms תמשיך להוסיף תגובות לגיליון האלקטרוני כשהמשיבים ישלחו את התשובות שלהם, עד שתבטלו את הבחירה בלחצן 'קבלת תשובות'.

d499e5a4dccdf5fd.png

4939332a5d8f9f19.png

עכשיו נבדוק כל סוג של תגובה ואיך הוא מתורגם בקובץ Google Sheets.

3. שינוי תשובות לסקרים

אפשר לקבץ את השאלות בסקר לארבע קבוצות, שלכל אחת מהן יהיה פורמט ייצוא מסוים. בהתאם לסוג השאלה, תצטרכו לשנות את מבנה הנתונים בצורה מסוימת. בשלב הזה אנחנו בודקים כל אחת מהקבוצות ואת סוגי השינויים שצריך לבצע.

שאלות עם תשובה אחת: תשובה קצרה, פסקה, תפריט נפתח, סולם ליניארי וכו'.

  • שם השאלה: שם העמודה
  • תגובה: ערך התא
  • דרישות טרנספורמציה: לא נדרשת טרנספורמציה. התשובה נטענת כמו שהיא.

3eeedc50b0fd54fd.png

שאלות אמריקאיות: שאלות אמריקאיות, תיבת סימון

  • שם השאלה: שם העמודה
  • תשובה: רשימת ערכים עם מפריד של נקודה-ופסיק (לדוגמה, 'תשובה 1; תשובה 4; תשובה 6')
  • דרישות לשינוי: צריך לחלץ את רשימת הערכים ולשנות את הכיוון שלה, כך שכל תשובה תהפוך לשורה חדשה.

cab8a38a96a13ce4.png

שאלות אמריקאיות בצורת רשת

הנה דוגמה לשאלה אמריקאית. צריך לבחור ערך אחד מכל שורה.

c6ea3d47d4dd5e78.png

  • שם השאלה: כל שאלה הופכת לשם עמודה בפורמט הזה: 'שאלה [אפשרות]'.
  • תשובה: כל תשובה בטבלה הופכת לעמודה עם ערך ייחודי.
  • דרישות לגבי השינוי: כל שאלה או תשובה צריכות להפוך לשורה חדשה בטבלה, ולחולק לשתי עמודות. עמודה אחת שבה מוזכרת האפשרות של השאלה, ועמודה שנייה שבה מוזכרת התשובה.

9223d0271516c58d.png

שאלות מסוג רשת של תיבות סימון לבחירה מרובה

לדוגמה, הנה רשת של תיבות סימון. אפשר לבחור ערך אחד או יותר מכל שורה, או לא לבחור אף ערך.

4e3189b8cc2d4a8b.png

  • שם השאלה: כל שאלה הופכת לשם עמודה בפורמט הזה: 'שאלה [אפשרות]'.
  • תשובה: כל תשובה בודדת בטבלה הופכת לעמודה עם רשימה של ערכים שמופרדים באמצעות נקודה-פסיק.
  • דרישות טרנספורמציה: סוגי השאלות האלה משלבים את הקטגוריות 'תיבת סימון' ו'טבלת שאלות אמריקאיות', וצריך לפתור אותן בסדר הזה.

קודם כל, צריך לחלץ את רשימת הערכים של כל תשובה ולשנות את הכיוון שלה, כך שכל תשובה תהפוך לשורה חדשה בשאלה הספציפית.

שנית: כל תשובה בודדת צריכה להפוך לשורה חדשה בטבלה ולהיות מחולקת לשתי עמודות. עמודה אחת שבה מוזכרת האפשרות לשאלה, ועמודה שנייה שבה מופיעה התשובה.

3c3c2bd098e03003.png

בהמשך נסביר איך מתבצעות הטרנספורמציות האלה באמצעות Cloud Dataprep.

4. יצירת תהליך עבודה ב-Cloud Dataprep

ייבוא של 'תבנית עיצוב של Google Forms Analytics' ב-Cloud Dataprep

מורידים את חבילת התהליך של דפוס העיצוב של Google Forms Analytics (בלי לפתוח את הקובץ). באפליקציית Cloud Dataprep, לוחצים על סמל התהליכים בסרגל הניווט הימני. בדף 'תהליכים', בוחרים באפשרות 'ייבוא' מתוך התפריט בהקשר.

ba7c0cb0eec398df.png

אחרי שמייבאים את התהליך, בוחרים בתהליך המיובא כדי לערוך אותו. המסך אמור להיראות כך:

44978861eb34ec71.png

חיבור גיליון אלקטרוני עם תוצאות סקר ב-Google Sheets

בצד ימין של התרשים, צריך לקשר מחדש את מקור הנתונים לגיליון אלקטרוני ב-Google Sheets שמכיל את התוצאות של Google Forms. לוחצים לחיצה ימנית על אובייקט של מערכי נתונים ב-Google Sheets ובוחרים באפשרות 'החלפה'.

55c16f0c04366f0c.png

לאחר מכן לוחצים על הקישור 'ייבוא מערכי נתונים' בחלק התחתון של תיבת הדו-שיח. לוחצים על סמל העיפרון 'עריכת הנתיב'.

8afeef260c96277f.png

משם, מחליפים את הערך הנוכחי בקישור הזה שמפנה לגיליון אלקטרוני ב-Google Sheets עם תוצאות מ-Google Forms. אפשר להשתמש בדוגמה שלנו או בעותק משלכם: 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

הרעיון הבסיסי של התהליך 'דפוס עיצוב של ניתוח נתונים ב-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 תימשך כמה דקות.

afc79eeb27202fb4.png

כשכל העבודות יסתיימו, תוצאות הסקר ייטענו ב-BigQuery בפורמט נקי, מובנה ומנורמל שמוכן לניתוח.

7. ניתוח נתוני הסקר ב-BigQuery

ב-Google Console for 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. ביצוע ניתוח נתונים חזותי

עכשיו, כשנתוני הסקרים מרוכזים במחסן נתונים, אפשר לנתח אותם בקלות באמצעות כלי לבינה עסקית (BI). יצרנו כמה דוחות לדוגמה ב-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. ניקוי

הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט ב-Cloud שיצרתם בשביל המדריך. אפשר גם למחוק את המשאבים בנפרד.

  1. במסוף Cloud, עוברים לדף Manage resources.
  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.