המחשה ויזואלית דינמית של נתוני 'תובנות לגבי מקומות' באמצעות Looker Studio

סקירה כללית

דיאגרמה של תהליך עבודה שממחישה את שליחת הפרמטרים הדינמיים של העיר, היום והשעה מ-Looker Studio אל 'תובנות לגבי מקומות' ב-BigQuery כדי ליצור מפת חום של צפיפות גיאו-מרחבית.

במאמר הזה נסביר איך ליצור דוחות גיאוגרפיים דינמיים באמצעות Places Insights ו-Looker Studio. כדי לנצל את הערך של נתוני המיקום, צריך לאפשר לבעלי עניין שאינם טכניים לקבל תשובות לשאלות שלהם. במדריך הזה נסביר איך להפוך דוחות סטטיים לכלים אינטראקטיביים לניתוח שוק, בסגנון מפת חום, בלי שתצטרכו לכתוב SQL לכל בקשה. הפעלת גישה לנתוני מיקום מורכבים, כדי לגשר על הפער בין הנדסת נתונים לבין בינה עסקית.

השימוש בדפוס הארכיטקטוני הזה מאפשר ליהנות מכמה יתרונות מרכזיים:

  • ייצוג חזותי של נתונים: הופך את נתוני התובנות לגבי מקומות לתרשימים ולמפות אינטראקטיביות שמציגים באופן מיידי את הצפיפות המרחבית ואת המגמות.
  • ניתוח פשוט ללא SQL: מאפשר לחברי צוות, כמו אנליסטים של שוק או מתכנני נדל"ן, לסנן נתונים באופן דינמי באמצעות פרמטרים מוגדרים מראש (למשל, שינוי של 'עיר' או 'שעה ביום' באמצעות תפריטים נפתחים). הם יכולים לבדוק את הנתונים בלי לכתוב אפילו שורה אחת של SQL.
  • שיתוף פעולה חלק: תכונות השיתוף הרגילות של Looker Studio מאפשרות לכם להפיץ את התובנות האינטראקטיביות האלה בצורה מאובטחת.

תהליך העבודה של הפתרון

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

דרישות מוקדמות

לפני שמתחילים, חשוב לפעול לפי ההוראות האלה כדי להגדיר את התובנות לגבי מקומות. תצטרכו גישה ל-Looker Studio, כלי ללא עלות.

שלב 1: יוצרים בסיס גיאוגרפי סטטי

לפני שמוסיפים אינטראקטיביות, צריך ליצור שאילתת בסיס ולוודא שהיא מוצגת בצורה נכונה ב-Looker Studio. אפשר להשתמש בתובנות לגבי מקומות וביכולות הגיאו-מרחביות של BigQuery כדי לצבור נתונים נצברים ברשתות משושים באמצעות מערכת האינדקס H3. הפעולה הזו תיצור פלט של שאילתה שאפשר להשתמש בו עם סוג התרשים 'מפה עם אזורים מוצללים' של Looker Studio כדי להציג את הנתונים בצורה חזותית.

‫1.1 קישור נתונים

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

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    -- Note: Change 'gb' to your target country code (e.g., 'us')
    `places_insights___gb.places`
  WHERE
    'London' IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

הערה לגבי צבירה מרחבית

השאילתה הזו משתמשת בפונקציה מתוך CARTO Analytics Toolbox ‏ (carto-os) שזמין לציבור ב-Google Cloud BigQuery. הפונקציה H3_FROMGEOGPOINT ממירה נקודות מיקום ספציפיות לתאי H3, מערכת שמחלקת את העולם לתאים משושים ברשת.

אנחנו משתמשים בהמרה הזו כי כדי לרנדר צבעים במפה המלאה ב-Looker Studio צריך מצולעים (צורות). המרת הנקודות לצורות משושה מאפשרת לנו להמחיש את צפיפות העסקים באזור מסוים, במקום לשרטט אלפי נקודות חופפות.

הערה לגבי הסף לצבירת נתונים

כל השאילתות של 'תובנות לגבי מקומות' מחייבות את פסוקית WITH AGGREGATION_THRESHOLD. ההגנה על הפרטיות מבטיחה שהנתונים יוחזרו רק אם הספירה המצטברת היא 5 או יותר.

בהקשר של התרשים הזה, אם תא ברשת H3 מכיל פחות מ-5 מסעדות, התא הזה לא ייכלל בתוצאות ויופיע ריק במפה.

כדי להטמיע את זה ב-Looker Studio:

  1. יוצרים דוח ריק חדש.
  2. בוחרים באפשרות BigQuery כמחבר הנתונים.
  3. בתפריט הימני, בוחרים באפשרות שאילתה בהתאמה אישית ובוחרים את מזהה פרויקט לחיוב.
  4. מדביקים את שאילתת הבסיס הסטטית שלמעלה בעורך.
  5. מבטלים את הסימון של הפרמטרים SQL מדור קודם,‏ Enable date range ו-Enable viewer email address.
  6. לוחצים על הוספה.

‫1.2 הגדרת המחשה של נתונים גיאו-מרחביים

אחרי שמחברים את הנתונים, צריך להגדיר את Looker Studio כך שיזהה את נתוני הגבולות של H3 בצורה נכונה:

  1. בתפריט הוספת תרשים, מוסיפים את התרשים מפה עם צבעים לסביבת העריכה של רכיבי הדוח.
  2. מוודאים שהשדה h3_geo שמכיל את גיאומטריית הפוליגון מוגדר לסוג הנתונים גיאו-מרחבי.
    1. לוחצים על סמל עריכת מקור הנתונים (עיפרון) לצד שם החיבור.
    2. אם h3_geo מוגדר לטקסט (ABC), משתמשים בתפריט הנפתח כדי לבחור באפשרות גיאוגרפיה > גיאו-מרחבית.
    3. לוחצים על סיום.
  3. ממפים את השדה h3_index אל Location (שמשמש כמזהה הייחודי).
  4. ממפים את השדה h3_geo אל Geospatial Field (שמשמש כגיאומטריית הפוליגון).
  5. ממפים את השדה restaurant_count אל מדד הצבע.

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

מפת צבעים של לונדון עם רשת משושים, שבה תאים כחולים כהים יותר מציינים ריכוז גבוה יותר של מסעדות. במקרא מצוינים ערכי הצפיפות שנעים בין 5 ל-1,215.

שלב 2: הטמעה של פרמטרים דינמיים

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

  • רשות מוניציפאלית: מאפשר לשלוט בעיר שמוצגת בדוח.
  • יום בשבוע: מסננים מקומות לפי היום שבו הם פתוחים, באמצעות רשומת regular_opening_hours בסכימה.
  • שעה ביום: מסנן מקומות לפי שעות הפעילות שלהם על ידי השוואה לשדות start_time ו-end_time.

כדי לעשות את זה, תעבירו פרמטרים שהמשתמש בחר ישירות לשאילתת Places Insights שעברה שינוי בזמן הריצה. בכלי לעריכת מקורות נתונים ב-Looker Studio, צריך להגדיר את הפרמטרים האלה במפורש כמשתנים מוקלדים.

ב-Looker Studio, בוחרים בתפריט Resource ואז לוחצים על Manage added data sources. בחלונית שמופיעה, בוחרים באפשרות EDIT לצד מקור הנתונים של BigQuery Custom SQL שהוספנו קודם.

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

שם פרמטר סוג הנתונים ערכים מותרים רשימת ערכים (חייבת להיות זהה לערכים במסד הנתונים)
p_locality טקסט רשימת ערכים
ערך תווית
London לונדון
Manchester מנצ'סטר
Birmingham Birmingham
Glasgow גלזגו
p_day_of_week טקסט רשימת ערכים
ערך תווית
monday שני
tuesday שלישי
wednesday רביעי
thursday חמישי
friday שישי
saturday שבת
sunday ראשון
p_hour_of_day טקסט רשימת ערכים
ערך תווית
03:00:00 ‫3:00 עד 4:00
08:00:00 ‫8:00 עד 9:00
19:00:00 ‫19:00 עד 20:00

הגדרה לדוגמה של הפרמטר p_hour_of_day.

ממשק ההגדרה של הפרמטר p_hour_of_day שמוצג בו הקטע של רשימת הערכים שבו מחרוזות של שעות ממופות לתוויות קריאות.

לגבי הפרמטר p_hour_of_day, חשוב לשים לב לעמודה Value. מכיוון שבשאילתת ה-SQL נעשה שימוש ב-CAST(@p_hour_of_day AS TIME), הערכים שמועברים מ-Looker Studio צריכים להיות בפורמט HH:MM:SS (שעון של 24 שעות).

אחרי שמגדירים ושומרים את שלושת הפרמטרים, משנים את החיבור של BigQuery Custom SQL כדי להפנות למשתנים האלה באמצעות התחביר @.

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

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    `places_insights___gb.places`
  WHERE
    -- Dynamic locality filter based on parameter
    @p_locality IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
    AND business_status = 'OPERATIONAL'
    AND EXISTS (
      SELECT 1
      FROM UNNEST(
        CASE @p_day_of_week
          WHEN 'monday' THEN regular_opening_hours.monday
          WHEN 'tuesday' THEN regular_opening_hours.tuesday
          WHEN 'wednesday' THEN regular_opening_hours.wednesday
          WHEN 'thursday' THEN regular_opening_hours.thursday
          WHEN 'friday' THEN regular_opening_hours.friday
          WHEN 'saturday' THEN regular_opening_hours.saturday
          WHEN 'sunday' THEN regular_opening_hours.sunday
        END
      ) AS hours
      WHERE hours.start_time <= CAST(@p_hour_of_day AS TIME)
        AND hours.end_time >= TIME_ADD(CAST(@p_hour_of_day AS TIME), INTERVAL 1 HOUR)
    )
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

לוחצים על 'חיבור מחדש' כדי לשמור את העריכה. בשורה של השאילתה ששיניתם, שימו לב למשתנים החדשים, כמו @p_hour_of_day, שמתאימים לשמות הפרמטרים שהגדרנו עכשיו.

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

  1. מוסיפים לדוח שלושה אמצעי בקרה מסוג תפריט נפתח.
  2. לכל אמצעי בקרה, מגדירים את שדה אמצעי הבקרה כך שיתאים לפרמטרים החדשים שיצרתם:
    • פקד 1: p_locality
    • שליטה 2: p_day_of_week
    • Control 3: p_hour_of_day

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

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

שלב 3: שיתוף התוצאות

משתמשים בכלי השיתוף המובנה ב-Looker Studio כדי לשתף את הדוח. כך הצופים יוכלו לעדכן באופן דינמי את הוויזואליזציה על סמך הפרמטרים שהם בוחרים מתוך התפריטים הנפתחים.

סיכום

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

השלבים הבאים

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

  • ניתוח דינמי של מתחרים: אפשר ליצור פרמטר לשמות של brand כדי לאפשר למשתמשים להחליף באופן מיידי את מפת החום בין מתחרים שונים ולראות את מידת החדירה היחסית שלהם לשוק. מידע על זמינות נתוני המותג מופיע במאמר מידע על נתוני תובנות לגבי מקומות.
  • בחירת אתר אינטראקטיבית: מוסיפים פרמטרים ל-price_level (למשל, 'בינוני' לעומת 'יקר') ומינימום rating כדי לאפשר לצוותי נדל"ן לסנן באופן דינמי אזורים שתואמים לפרופילים דמוגרפיים ספציפיים.
  • אזורי השפעה בהתאמה אישית: במקום לסנן לפי שם העיר, אפשר למשתמשים להגדיר אזורי מחקר בהתאמה אישית.
    • על בסיס רדיוס: יוצרים שלושה פרמטרים מספריים: p_latitude,‏ p_longitude ו-p_radius_meters. אפשר לקבל קואורדינטות מממשקי API של הפלטפורמה של מפות Google, כולל Geocoding API. בשאילתה, מזינים את הערכים הבאים לפונקציה ST_DWITHIN:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • על בסיס מצולע: עבור צורות מותאמות אישית מורכבות (כמו אזורי מכירות), המשתמשים לא יכולים להזין בקלות טקסט גיאומטרי. במקום זאת, אפשר ליצור טבלת חיפוש ב-BigQuery שמכילה את הגיאומטריות של הצורות הסגורות ושם ידידותי (למשל, 'אזור א'). יוצרים פרמטר טקסט p_zone_name ב-Looker Studio כדי לאפשר למשתמשים לבחור את האזור, ומשתמשים בשאילתת משנה כדי לאחזר את הגיאומטריה של הפונקציה ST_CONTAINS.

תורמים