כתיבת שאילתה באמצעות נתוני מותגים

התובנות לגבי מקומות מספקות מידע על מותגים בהרבה קטגוריות של מקומות. לדוגמה:

  • בקטגוריה 'כספומטים, בנקים ואיגודי אשראי', נתוני המותגים מכילים רשומה לכל אחד מהמותגים PNC,‏ UBS ו-Chase banks.
  • בקטגוריה 'השכרת רכב', הנתונים מכילים רשומה לכל אחד מהמותגים Budget,‏ Hertz ו-Thrifty.

תרחיש שימוש אופייני לשאילתות על מערך הנתונים של המותגים הוא איחוד שלו עם שאילתה על נתוני המקום, כדי לענות על שאלות כמו:

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

מידע על מערך הנתונים של המותגים

שם מערך הנתונים של המותגים בארה"ב הוא places_insights___us.brands.

סכימת נתונים של מותגים

הסכימה של מערך הנתונים brands מגדירה שלושה שדות:

  • id: מזהה המותג.
  • name: שם המותג, כמו 'Hertz' או 'Chase'.
  • category: סוג המותג, כמו Gas Station (תחנת דלק), Food and Drink (מזון ומשקאות) או Lodging (לינה). רשימה של הערכים האפשריים מופיעה במאמר ערכי קטגוריות.

שימוש במערך הנתונים של מותגים בשאילתה

הסכימה של מערך הנתונים של מקומות מגדירה את השדה brand_ids. אם מקום במערך הנתונים של המקומות משויך למותג, השדה brand_ids של המקום מכיל את מזהה המותג המתאים.

שאילתה טיפוסית שמפנה אל קבוצת הנתונים brands מבצעת JOIN עם קבוצת הנתונים places על סמך השדה brand_ids.

לדוגמה, כדי למצוא את מספר מסעדות מקדונלד'ס ברדיוס של 2,000 מטר מבניין האמפייר סטייט בניו יורק:

SELECT WITH AGGREGATION_THRESHOLD
 COUNT(*)
FROM PROJECT_NAME.places_insights___us.places places, UNNEST(brand_ids) AS brand_id
LEFT JOIN PROJECT_NAME.places_insights___us.brands ON brand_id = brands.id
WHERE
ST_DWITHIN(ST_GEOGPOINT(-73.9857, 40.7484), point, 2000)
AND brands.name = "McDonald's"
AND business_status = "OPERATIONAL"

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

SELECT WITH AGGREGATION_THRESHOLD
  brands.name,
  COUNT(*) AS store_count
FROM PROJECT_NAME.places_insights___us.places places, UNNEST(brand_ids) AS brand_id
LEFT JOIN PROJECT_NAME.places_insights___us.brands ON brand_id = brands.id
WHERE brands.category = "ATMs, Banks and Credit Unions"
AND "bank" IN UNNEST(places.types)
AND business_status = "OPERATIONAL"
GROUP BY brands.name
ORDER BY store_count DESC;

בתמונה הבאה מוצגים המספרים לפי מותג:

תוצאות שאילתה לספירת בנקים שמקובצות לפי מותג.

ערכי קטגוריות

השדה category של מותג יכול להכיל את הערכים הבאים:

הערך של סוג הקטגוריה
ATMs, Banks and Credit Unions
Automotive and Parts Dealers
Automotive Rentals
Automotive Services
Dental
Electric Vehicle Charging Stations
Electronics Retailers
Fitness
Food and Drink
Gas Station
Grocery and Liquor
Health and Personal Care Retailers
Hospital
Lodging
Merchandise Retail
Movie Theater
Parking
Telecommunications