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

1. מבוא

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

מה תפַתחו

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

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

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

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

3eeedc50b0fd54fd.png

שאלות בנושא בחירות מרובות: ריבוי אפשרויות, תיבת סימון

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

cab8a38a96a13ce4.png

שאלות רשת של ריבוי אפשרויות

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

c6ea3d47d4dd5e78.png

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

9223d0271516c58d.png

שאלות רשת של תיבות סימון עם מספר אפשרויות

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

4e3189b8cc2d4a8b.png

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

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

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

3c3c2bd098e03003.png

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

4. פיתוח זרימת Dataprep ב-Cloud

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

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

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. הסבר על זרימת Dataprep ב-Cloud

הרעיון הבסיסי של 'תבנית העיצוב של Google Forms ל-Analytics' לבצע את הטרנספורמציות בתגובות לסקר כפי שתואר קודם לכן – על ידי פירוק כל קטגוריית שאלות למתכון ספציפי לטרנספורמציה של נתונים ב-Cloud Dataprep.

תהליך זה מחלק את השאלות ל-4 טבלאות (בהתאם ל-4 קטגוריות השאלות, מטעמי פשטות)

afa421849b1bd398.png

מומלץ לבדוק כל אחד מהמתכונים אחד אחרי השני, ולהתחיל ב"כותרות נקיות" ואז 'SingleChoiceSELECT-שאלות' ואחריהם מופיעים מתכונים אחרים.

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

449da06d96cd520e.png

4ac6e14f578d0707.png

6. הפעלת התהליך של Cloud Dataprep

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

47cf50f6d17a5b1e.png

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

afc79eeb27202fb4.png

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

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

ב-Google Console ל-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) כדי לראות אם המשתתפים ממפים לחשבונות שכבר כלולים במחסן הנתונים (data warehouse) שלכם. כך תוכלו לעזור לעסק שלכם לקבל החלטות מושכלות יותר לגבי תמיכת לקוחות או לטרגט משתמשים להשקות חדשות.

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

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.