Übersicht

In diesem Dokument wird beschrieben, wie Sie mit Places Insights und Data Studio dynamische Berichte mit Geodaten erstellen. Nutzen Sie den Wert Ihrer Standortdaten, indem Sie nicht-technischen Stakeholdern die Möglichkeit geben, ihre eigenen Fragen zu beantworten. In diesem Leitfaden erfahren Sie, wie Sie statische Berichte in interaktive Heatmap-Tools für die Marktanalyse umwandeln, ohne für jede Anfrage SQL schreiben zu müssen. Ermöglichen Sie den Zugriff auf komplexe Standortdaten und schließen Sie die Lücke zwischen Data Engineering und Business Intelligence.
Die Übernahme dieses Architekturmusters bietet mehrere wichtige Vorteile:
- Visuelle Datendarstellung:Places Insights-Daten werden in interaktive Karten und Diagramme umgewandelt, die die räumliche Dichte und Trends sofort veranschaulichen.
- Vereinfachte Exploration ohne SQL: Teammitglieder wie Marktanalysten oder Immobilienplaner können Daten dynamisch mithilfe vordefinierter Parameter filtern (z.B. „Stadt“ oder „Tageszeit“ über Drop-down-Menüs ändern). Sie können die Daten analysieren, ohne eine einzige Zeile SQL schreiben zu müssen.
- Nahtlose Zusammenarbeit:Mit den Standardfunktionen für die Freigabe in Data Studio können Sie diese interaktiven Statistiken sicher weitergeben.
Lösungs-Workflow
Mit dem folgenden Workflow wird eine leistungsstarke Berichtsarchitektur eingerichtet. Sie wechseln von einer statischen Baseline zu einer vollständig dynamischen Anwendung und stellen die Datenkorrektheit sicher, bevor Sie Komplexität einführen.
Vorbereitung
Folgen Sie dieser Anleitung, um Places Insights einzurichten. Sie benötigen Zugriff auf Data Studio, ein kostenloses Tool.
Schritt 1: Statische Geodaten-Baseline festlegen
Bevor Sie Interaktivität einführen, erstellen Sie eine Basisabfrage und prüfen Sie, ob sie in Data Studio korrekt gerendert wird. Mit Places Insights und den raumbezogenen Funktionen von BigQuery können Sie Daten mithilfe des H3-Indexierungssystems in sechseckigen Rastern aggregieren. Dadurch wird eine Abfrageausgabe erzeugt, die mit dem Kartentyp „Flächenkartogramm“ von Data Studio zur Visualisierung verwendet werden kann.
1.1 Daten verknüpfen
Verwenden Sie die folgende statische Abfrage, um die erste Verbindung herzustellen. Sie ist auf einen festen Standort (London) und eine Kategorie (Restaurants) ausgerichtet, um die Datenpipeline zu validieren.
SELECT
h3_index,
`carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
restaurant_count
FROM (
SELECT WITH AGGREGATION_THRESHOLD
`carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
COUNT(*) AS restaurant_count
FROM
-- Note: Change 'gb' to your target country code (e.g., 'us')
`places_insights___gb.places`
WHERE
'London' IN UNNEST(locality_names)
AND 'restaurant' IN UNNEST(types)
GROUP BY
h3_index
)
ORDER BY
restaurant_count DESC;
Hinweis zur räumlichen Aggregation
Diese Abfrage verwendet eine Funktion aus der CARTO Analytics Toolbox (carto-os), die öffentlich in Google Cloud BigQuery verfügbar ist. Die Funktion H3_FROMGEOGPOINT konvertiert bestimmte Standortpunkte in H3-Zellen, ein System, das die Welt in sechseckige Gitterzellen unterteilt.
Wir verwenden diese Transformation, weil für die ausgefüllte Karte von Data Studio Polygone (Formen) zum Rendern von Farben erforderlich sind. Durch die Umwandlung von Punkten in sechseckige Formen können wir die Dichte von Unternehmen in einem bestimmten Gebiet visualisieren, anstatt Tausende von sich überschneidenden Punkten darzustellen.
Hinweis zum Aggregationsschwellenwert
Für alle Places Insights-Abfragen ist die WITH AGGREGATION_THRESHOLD-Klausel erforderlich.
Dieser Datenschutz sorgt dafür, dass Daten nur zurückgegeben werden, wenn die aggregierte Anzahl 5 oder höher ist.
Wenn eine H3-Rasterzelle im Kontext dieser Visualisierung weniger als 5 Restaurants enthält, wird sie vollständig aus der Ergebnismenge entfernt und auf der Karte leer angezeigt.
So implementieren Sie dies in Data Studio:
- Erstellen Sie einen neuen leeren Bericht.
- Wählen Sie BigQuery als Daten-Connector aus.
- Wählen Sie im Menü auf der linken Seite BENUTZERDEFINIERTE ABFRAGE und dann die Projekt-ID für die Abrechnung aus.
- Fügen Sie die obige statische Basisabfrage in den Editor ein.
- Deaktivieren Sie die Parameter Legacy-SQL verwenden, Zeitraum aktivieren und E-Mail-Adresse des Betrachters aktivieren.
- Klicken Sie auf Hinzufügen.
1.2 Georäumliche Visualisierung konfigurieren
Nachdem die Daten verbunden wurden, konfigurieren Sie Data Studio so, dass die H3-Grenzdaten korrekt erkannt werden:
- Fügen Sie dem Berichtscanvas über das Menü Diagramm hinzufügen die Visualisierung Flächenkartogramm hinzu.
- Achten Sie darauf, dass das Feld
h3_geo, das die Polygongeometrie enthält, auf den Datentyp Geospatial festgelegt ist.- Klicken Sie neben dem Namen Ihrer Verbindung auf das Symbol Datenquelle bearbeiten (Stift).
- Wenn
h3_geoauf Text (ABC) festgelegt ist, wählen Sie im Drop-down-Menü Geografisch > Geodaten aus. - Klicken Sie auf Fertig.
- Ordnen Sie das Feld
h3_indexdem Feld Location zu (als eindeutige Kennung). - Ordnen Sie das Feld
h3_geodem raumbezogenen Feld zu (fungiert als Polygon-Geometrie). - Ordnen Sie das Feld
restaurant_countdem Farbmesswert zu.
Dadurch wird eine Karte der Restaurantdichte nach H3-Zelle gerendert. Das dunklere Blau (Standardfarboption) zeigt eine Zelle mit einer höheren Anzahl von Restaurants an.

Schritt 2: Dynamische Parameter implementieren
Damit der Bericht interaktiv wird, fügen wir Steuerelemente hinzu, mit denen der Nutzer die folgenden Optionen auswählen kann:
- Ort: Steuert die Stadt, auf die sich der Bericht konzentriert.
- Wochentag: Filtert Orte nach dem Tag, an dem sie geöffnet sind, anhand des
regular_opening_hours-Eintrags im Schema. - Tageszeit: Filtert Orte anhand ihrer Öffnungszeiten, indem sie mit den Feldern
start_timeundend_timeverglichen werden.
Dazu übergeben Sie die vom Nutzer ausgewählten Parameter zur Laufzeit direkt an eine modifizierte Places Insights-Abfrage. Im Datenquelleneditor von Data Studio müssen Sie diese Parameter explizit als typisierte Variablen definieren.
Wählen Sie in Data Studio das Menü Ressource aus und klicken Sie dann auf Hinzugefügte Datenquellen verwalten. Wählen Sie im angezeigten Bereich EDIT für die BigQuery-Datenquelle mit benutzerdefiniertem SQL aus, die wir zuvor hinzugefügt haben.
Wählen Sie im Fenster „Verbindung bearbeiten“ die Option PARAMETER HINZUFÜGEN aus. Wir fügen drei Parameter mit den folgenden Werten hinzu.
| Parametername | Datentyp | Zulässige Werte | Liste der Werte (muss genau mit der Datenbank übereinstimmen) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
p_locality |
Text | Liste mit Werten |
|
||||||||||||||||
p_day_of_week |
Text | Liste mit Werten |
|
||||||||||||||||
p_hour_of_day |
Text | Liste mit Werten |
|
Beispielkonfiguration für den Parameter p_hour_of_day.

Achten Sie beim Parameter p_hour_of_day besonders auf die Spalte Value.
Da die SQL-Abfrage CAST(@p_hour_of_day AS TIME) verwendet, müssen die von Data Studio übergebenen Werte im strikten HH:MM:SS-Format (24-Stunden-Format) vorliegen.
Nachdem Sie alle drei Parameter eingerichtet und gespeichert haben, ändern Sie Ihre benutzerdefinierte SQL-Verbindung in BigQuery so, dass diese Variablen mit der Syntax @ referenziert werden.
Klicken Sie dazu auf „Verbindung bearbeiten“ und fügen Sie die folgende geänderte Abfrage ein:
SELECT
h3_index,
`carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
restaurant_count
FROM (
SELECT WITH AGGREGATION_THRESHOLD
`carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
COUNT(*) AS restaurant_count
FROM
`places_insights___gb.places`
WHERE
-- Dynamic locality filter based on parameter
@p_locality IN UNNEST(locality_names)
AND 'restaurant' IN UNNEST(types)
AND business_status = 'OPERATIONAL'
AND EXISTS (
SELECT 1
FROM UNNEST(
CASE @p_day_of_week
WHEN 'monday' THEN regular_opening_hours.monday
WHEN 'tuesday' THEN regular_opening_hours.tuesday
WHEN 'wednesday' THEN regular_opening_hours.wednesday
WHEN 'thursday' THEN regular_opening_hours.thursday
WHEN 'friday' THEN regular_opening_hours.friday
WHEN 'saturday' THEN regular_opening_hours.saturday
WHEN 'sunday' THEN regular_opening_hours.sunday
END
) AS hours
WHERE hours.start_time <= CAST(@p_hour_of_day AS TIME)
AND hours.end_time >= TIME_ADD(CAST(@p_hour_of_day AS TIME), INTERVAL 1 HOUR)
)
GROUP BY
h3_index
)
ORDER BY
restaurant_count DESC;
Klicken Sie auf „Verbindung wiederherstellen“, um die Änderung zu speichern. In der geänderten Abfrage sehen Sie die neuen Variablen wie @p_hour_of_day, die den gerade eingerichteten Parameternamen entsprechen.
Kehren Sie zum Berichtsbereich zurück, um diese Parameter für den Endnutzer freizugeben:
- Fügen Sie Ihrem Bericht drei Drop-down-Listen hinzu.
- Legen Sie für jedes Steuerelement das Steuerfeld so fest, dass es den neu erstellten Parametern entspricht:
- Einstellung 1:
p_locality - Einstellung 2:
p_day_of_week - Einstellung 3:
p_hour_of_day
- Einstellung 1:
Der endgültige Bericht sollte in etwa so aussehen: Wenn Sie einen Wert in einem der Drop-down-Menüs ändern, ruft Data Studio die angeforderten Daten aus Places Insights ab, bevor sie auf der Karte visualisiert werden.

Schritt 3: Ergebnisse teilen
Verwenden Sie das in Data Studio integrierte Freigabetool, um den Bericht freizugeben. So können Betrachter die Visualisierung dynamisch aktualisieren, indem sie Parameter aus Ihren Drop-down-Listen auswählen.
Fazit
Mit diesem Muster wird ein skalierbares, interaktives Berichtstool erstellt, das die Rechenleistung von BigQuery nutzt, um aggregierte Places Insights-Daten für Data Studio bereitzustellen. Diese Architektur vermeidet die Fallstricke, die mit der Visualisierung riesiger Rohdatenmengen verbunden sind, und bietet Endnutzern die Flexibilität, Daten über verschiedene Dimensionen wie Zeit, Standort und Geschäftstyp nahezu in Echtzeit zu untersuchen. Dies ist ein leistungsstarkes Tool, mit dem Sie Ihren nicht technischen Stakeholdern die Möglichkeit geben, die Daten flexibel zu untersuchen.
Nächste Schritte
Sie können auch andere Varianten dynamischer Berichte ausprobieren, indem Sie verschiedene Teile des Places Insights-Schemas parametrisieren:
- Dynamische Mitbewerberanalyse: Erstellen Sie einen Parameter für
brand-Namen, damit Nutzer sofort zwischen verschiedenen Mitbewerbern wechseln können, um deren relative Sättigung in einem Markt zu sehen. Informationen zur Verfügbarkeit von Markendaten finden Sie unter Places Insights-Daten. - Interaktive Standortauswahl: Fügen Sie Parameter für
price_level(z.B. „Mittel“ im Vergleich zu „Teuer“) und die Mindestanzahl vonratinghinzu, damit Immobilienteams dynamisch nach Gebieten filtern können, die bestimmten demografischen Profilen entsprechen. - Benutzerdefinierte Einzugsgebiete:Anstatt nach Städtenamen zu filtern, können Nutzer benutzerdefinierte Untersuchungsgebiete definieren.
- Radiusbasiert: Erstellen Sie drei numerische Parameter: p_latitude, p_longitude und p_radius_meters. Koordinaten können über Google Maps Platform APIs abgerufen werden, einschließlich der Geocoding API. Fügen Sie diese in Ihrer Abfrage in die Funktion ST_DWITHIN ein:
ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
- Polygonbasiert:Für komplexe benutzerdefinierte Formen (z. B. Verkaufsgebiete) können Nutzer nicht einfach Geometrietext eingeben. Erstellen Sie stattdessen eine Suchtabelle in BigQuery, die Ihre Formgeometrien und einen aussagekräftigen Namen (z.B. „Zone A“) enthält. Erstellen Sie in Data Studio einen Textparameter
p_zone_name, damit Nutzer die Zone auswählen können, und verwenden Sie eine Unterabfrage, um die Geometrie für die FunktionST_CONTAINSabzurufen.
- Radiusbasiert: Erstellen Sie drei numerische Parameter: p_latitude, p_longitude und p_radius_meters. Koordinaten können über Google Maps Platform APIs abgerufen werden, einschließlich der Geocoding API. Fügen Sie diese in Ihrer Abfrage in die Funktion ST_DWITHIN ein:
Beitragende
- David Szajngarten | Developer Relations Engineer
- Henrik Valve | DevX Engineer