Tworzenie zapytania z użyciem danych o markach

Statystyki Miejsc Google zawierają informacje o markach w wielu kategoriach miejsc. Przykład:

  • W przypadku kategorii „Bankomaty, banki i spółdzielcze kasy oszczędnościowo-kredytowe” dane o markach zawierają wpis dla każdej z marek PNC, UBS i Chase.
  • W przypadku kategorii „Wypożyczalnie samochodów” dane zawierają wpis dla każdej z marek: Budget, Hertz i Thrifty.

Typowy przypadek użycia zapytań dotyczących zbioru danych o markach to łączenie go z zapytaniem o dane o miejscach, aby uzyskać odpowiedzi na pytania takie jak:

  • Jaka jest liczba wszystkich sklepów danej marki w danym obszarze?
  • Jaka jest liczba moich 3 największych marek konkurencyjnych w danym obszarze?
  • Ile marek z określonej kategorii, np. „Fitness” lub „Stacja paliw”, znajduje się w danym obszarze?

Informacje o zbiorze danych marek

Zbiór danych o markach w Stanach Zjednoczonych ma nazwę places_insights___us___sample.brands.

Schemat zbioru danych o markach

Schemat zbioru danych o markach definiuje 3 pola:

  • id: identyfikator marki.
  • name: nazwa marki, np. „Hertz” lub „Chase”.
  • category: typ marki, np. „Stacja benzynowa”, „Jedzenie i napoje” lub „Obiekty noclegowe”. Listę możliwych wartości znajdziesz w sekcji Wartości kategorii.

Używanie zbioru danych o markach w zapytaniu

Schemat zbioru danych o miejscach określa pole brand_ids. Jeśli miejsce w zbiorze danych o miejscach jest powiązane z marką, pole brand_ids dla tego miejsca zawiera odpowiedni identyfikator marki.

Typowe zapytanie, które odwołuje się do zbioru danych o markach, wykonuje JOIN ze zbiorem danych o miejscach na podstawie pola brand_ids.

Aby na przykład znaleźć liczbę restauracji McDonald's w promieniu 2000 metrów od Empire State Building w Nowym Jorku:

SELECT WITH AGGREGATION_THRESHOLD
 COUNT(*)
FROM places_insights___us___sample.places_sample places, UNNEST(brand_ids) AS brand_id
LEFT JOIN places_insights___us___sample.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"

Następne zapytanie zwraca liczbę kawiarni w Nowym Jorku, które należą do danej marki, pogrupowaną według nazwy marki:

SELECT WITH AGGREGATION_THRESHOLD
  brands.name,
  COUNT(*) AS store_count
FROM places_insights___us___sample.places_sample places, UNNEST(brand_ids) AS brand_id
LEFT JOIN places_insights___us___sample.brands ON brand_id = brands.id
WHERE brands.category = "Food and Drink"
AND "cafe" IN UNNEST(places.types)
AND business_status = "OPERATIONAL"
GROUP BY brands.name
ORDER BY store_count DESC;

Na poniższym obrazie widać liczbę wystąpień według marki:

Wyniki zapytania dotyczące zliczania cfes pogrupowane według marki.

Wartości kategorii

Pole category w przypadku marki może zawierać te wartości:

Wartość typu kategorii
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