Напишите запрос, используя данные о брендах

Places Insights предоставляет информацию о брендах для многих категорий мест. Например:

  • В категории «Банкоматы, банки и кредитные союзы» данные по брендам содержат информацию по каждому из банков: PNC, UBS и Chase.
  • В категории "Прокат автомобилей" данные содержат информацию по каждому из брендов Budget, Hertz и Thrifty.

Типичный пример использования запроса к набору данных о брендах — это объединение его с запросом к данным о местах для ответа на такие вопросы, как:

  • Каково общее количество магазинов по каждой торговой марке в данном районе?
  • Каково количество брендов трех моих главных конкурентов в этом регионе?
  • Каково количество брендов определенной категории, например, «Фитнес-центры» или «Автозаправочные станции», в этом районе?

О наборе данных по брендам

Набор данных о брендах в США называется places_insights___us.brands .

Схема набора данных брендов

Схема набора данных о брендах определяет три поля:

  • id : Идентификатор бренда.
  • name : торговая марка, например, «Hertz» или «Chase».
  • category : Тип бренда, например, «Автозаправочная станция», «Продукты питания и напитки» или «Проживание». Список возможных значений см. в разделе «Значения категории ».

Используйте набор данных о брендах в запросе.

Схема набора данных «Места» определяет поле brand_ids . Если место в наборе данных «Места» связано с брендом, то поле brand_ids для этого места содержит соответствующий идентификатор бренда.

Типичный запрос, обращающийся к набору данных brands , выполняет объединение JOIN с набором данных places на основе поля brand_ids .

Например, чтобы узнать количество ресторанов McDonald's в радиусе 2000 метров от Эмпайр-стейт-билдинг в Нью-Йорке:

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