Abfrage mit Markendaten schreiben

Places Insights bietet Markeninformationen für viele Kategorien von Orten. Beispiel:

  • Für die Kategorie „Geldautomaten, Banken und Kreditgenossenschaften“ enthalten die Markendaten einen Eintrag für jede der Marken PNC, UBS und Chase.
  • Für die Kategorie „Autovermietungen“ enthält der Datensatz einen Eintrag für jede der Marken Budget, Hertz und Thrifty.

Ein typischer Anwendungsfall für das Abfragen des Markendatasets ist das Verknüpfen mit einer Abfrage der Ortsdaten, um Fragen wie die folgenden zu beantworten:

  • Wie viele Geschäfte gibt es in einem bestimmten Gebiet für jede Marke?
  • Wie viele Nutzer haben die drei wichtigsten Marken meiner Mitbewerber in der Region?
  • Wie viele Marken einer bestimmten Kategorie, z. B. „Fitness“ oder „Tankstelle“, gibt es in der Gegend?

Dataset „Marken“

Das Dataset für Marken in den USA heißt places_insights___us___sample.brands.

Schema für das Dataset „Marken“

Das Schema für das Dataset „Marken“ definiert drei Felder:

  • id: Die Marken-ID.
  • name: Der Markenname, z. B. „Hertz“ oder „Chase“.
  • category: Der Markentyp, z. B. „Tankstelle“, „Essen und Trinken“ oder „Unterkunft“. Eine Liste der möglichen Werte finden Sie unter Kategoriewerte.

Marken-Dataset in einer Abfrage verwenden

Das Schema des Ortsdatensatzes definiert das Feld brand_ids. Wenn ein Ort im Places-Dataset mit einer Marke verknüpft ist, enthält das Feld brand_ids für den Ort die entsprechende Marken-ID.

Bei einer typischen Abfrage, die auf das Marken-Dataset verweist, wird ein JOIN mit dem Orte-Dataset basierend auf dem Feld brand_ids ausgeführt.

Wenn Sie beispielsweise die Anzahl der McDonald's-Restaurants im Umkreis von 2.000 Metern um das Empire State Building in New York City ermitteln möchten, gehen Sie so vor:

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"

Die nächste Abfrage gibt die Anzahl der Cafés in New York City zurück, die zu einer Marke gehören, gruppiert nach Markennamen:

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;

Die folgende Abbildung zeigt die Anzahl nach Marke:

Abfrageergebnisse zum Zählen von CFEs, gruppiert nach Marke.

Kategoriewerte

Das Feld category für eine Marke kann die folgenden Werte enthalten:

Wert des Kategorie-Typs
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