با استفاده از داده های برندها یک پرس و جو بنویسید

Places Insights اطلاعات برند را برای بسیاری از دسته‌های مکان‌ها ارائه می‌دهد. به عنوان مثال:

  • برای دسته «خودپردازها، بانک‌ها و اتحادیه‌های اعتباری»، داده‌های برندها شامل ورودی برای هر یک از برندهای PNC، UBS و Chase bank است.
  • برای دسته «اجاره خودرو»، داده‌ها شامل ورودی برای هر یک از برندهای Budget، Hertz و Thrifty است.

یک مورد استفاده معمول برای پرس‌وجو از مجموعه داده‌های برندها، اتصال آن به یک پرس‌وجو در مورد داده‌های مکان برای پاسخ به سؤالاتی مانند موارد زیر است:

  • تعداد کل فروشگاه‌ها بر اساس برند در یک منطقه چقدر است؟
  • تعداد سه برند رقیب برتر من در منطقه چقدر است؟
  • تعداد برندهای یک دسته خاص، مانند «تناسب اندام» یا «پمپ بنزین»، در منطقه چقدر است؟

درباره مجموعه داده‌های برندها

مجموعه داده‌های برندها برای ایالات متحده places_insights___us.brands نام دارد.

طرحواره مجموعه داده‌های برندها

طرحواره مجموعه داده برندها سه فیلد را تعریف می‌کند:

  • id : شناسه برند.
  • name : نام تجاری، مانند «هرتز» یا «چیس».
  • category : نوع برند، مانند "پمپ بنزین"، "غذا و نوشیدنی" یا "اقامتگاه". برای فهرستی از مقادیر ممکن، به مقادیر دسته بندی مراجعه کنید.

استفاده از مجموعه داده‌های برندها در یک پرس‌وجو

طرحواره مجموعه داده places فیلد brand_ids را تعریف می‌کند. اگر مکانی در مجموعه داده places با یک برند مرتبط باشد، فیلد brand_ids برای آن مکان شامل شناسه برند مربوطه است.

یک پرس‌وجوی معمولی که به مجموعه داده‌های brands اشاره می‌کند، بر اساس فیلد brand_ids یک JOIN با مجموعه داده‌های places انجام می‌دهد.

برای مثال، برای یافتن تعداد رستوران‌های مک‌دونالد در شعاع ۲۰۰۰ متری ساختمان امپایر استیت در شهر نیویورک:

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