טרנספורמציה וטעינה של התשובות לסקר ב-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.png4939332a5d8f9f19.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' ב-Cloud Dataprep

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

ba7c0cb0eec398df.png

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

44978861eb34ec71.png

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

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

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

עכשיו, כשנתוני הסקרים מרוכזים במחסן נתונים, אפשר לנתח אותם בקלות באמצעות כלי לבינה עסקית. יצרנו כמה דוחות לדוגמה ב-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, עוברים לדף Manage resources.
  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.