Abfrage mit Markendaten schreiben

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

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

Ein typischer Anwendungsfall für das Abfragen des Datasets „Marken“ 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 pro Marke?
  • Wie viele Geschäfte gibt es in einem bestimmten Gebiet von den drei Marken meiner größten Wettbewerber?
  • Wie viele Geschäfte gibt es in einem bestimmten Gebiet von Marken einer bestimmten Kategorie, z. B. „Fitness“ oder „Tankstelle“?

Informationen zum Dataset „Marken“

Das Dataset „Marken“ für die USA heißt places_insights___us.brands.

Schema des Datasets „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 „Unterkünfte“. Eine Liste der möglichen Werte finden Sie unter Kategorie werte.

Dataset „Marken“ in einer Abfrage verwenden

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

Eine typische Abfrage, die auf das Dataset „Marken“ verweist, führt einen JOIN mit dem Dataset „Orte“ basierend auf dem Feld brand_ids aus.

So ermitteln Sie beispielsweise die Anzahl der McDonald's-Restaurants im Umkreis von 2.000 Metern um das Empire State Building in New York City:

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"

Die nächste Abfrage gibt die Anzahl der Banken 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 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;

Die folgende Abbildung zeigt die Anzahl nach Marke:

Abfrageergebnisse für die Zählung von Banken, gruppiert nach Marke.

Kategoriewerte

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

Wert des Kategorietyps
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