Übersicht

In diesem Dokument wird beschrieben, wie Sie mit Places Insights und Data Studio dynamische raumbezogene Berichte erstellen. Sie können den Wert Ihrer Standortdaten maximieren, indem Sie nichttechnischen Stakeholdern die Möglichkeit geben, ihre eigenen Fragen zu beantworten. In dieser Anleitung 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 so die Lücke zwischen Data Engineering und Business Intelligence.
Die Verwendung dieses Architekturmusters bietet mehrere wichtige Vorteile:
- Visuelle Darstellung von Daten:Wandelt Places Insights-Daten in interaktive Karten und Diagramme um, die räumliche Dichte und Trends sofort veranschaulichen.
- Vereinfachte Analyse ohne SQL:Ermöglicht Teammitgliedern wie Marktanalysten oder Immobilienplanern, Daten dynamisch mit vordefinierten Parametern zu filtern (z.B. durch Ändern von „Stadt“ oder „Tageszeit“ über Drop-down-Menüs). Sie können die Daten analysieren, ohne eine einzige Zeile SQL schreiben zu müssen.
- Nahtlose Zusammenarbeit:Mit den Standardfunktionen für die Freigabe von Data Studio können Sie diese interaktiven Informationen sicher weitergeben.
Solution workflow
Mit dem folgenden Workflow wird eine leistungsstarke Berichterstellungsarchitektur eingerichtet. Er geht von einer statischen Baseline zu einer vollständig dynamischen Anwendung über und sorgt für die Richtigkeit der Daten, bevor die Komplexität erhöht wird.
Vorbereitung
Bevor Sie beginnen, folgen Sie dieser Anleitung, um Places Insights einzurichten. Sie benötigen Zugriff auf Data Studio, ein kostenloses Tool.
Schritt 1: Statische raumbezogene Baseline einrichten
Bevor Sie Interaktivität einführen, erstellen Sie eine Basisabfrage und prüfen Sie, ob sie in Data Studio korrekt gerendert wird. Verwenden Sie Places Insights und die raumbezogenen Funktionen von BigQuery, um Daten mithilfe des H3-Indexierungssystems in sechseckigen Rastern zu aggregieren. Dadurch wird eine Abfrageausgabe erstellt, die mit dem Kartentyp „Gefüllte Karte“ 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 zielt auf einen festen Standort (London) und eine feste Kategorie (Restaurants) ab, 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
H3_FROMGEOGPOINT Funktion wandelt bestimmte Standortpunkte in H3
Zellen um. Dieses System unterteilt die Welt in sechseckige Rasterzellen.
Wir verwenden diese Transformation, weil für die Darstellung von Farben in der gefüllten Karte von Data Studio Polygone (Formen) erforderlich sind. Durch das Umwandeln von Punkten in sechseckige Formen können wir die Dichte von Unternehmen in einem bestimmten Gebiet visualisieren, anstatt Tausende von überlappenden Punkten darzustellen.
Hinweis zum Aggregationsgrenzwert
Für alle Places Insights-Abfragen ist die Klausel WITH AGGREGATION_THRESHOLD erforderlich.
Diese Datenschutzmaßnahme sorgt dafür, dass Daten nur zurückgegeben werden, wenn die aggregierte Anzahl 5 oder höher ist.
Wenn eine H3-Rasterzelle weniger als 5 Restaurants enthält, wird sie im Kontext dieser Visualisierung vollständig aus dem Ergebnissatz 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ü links BENUTZERDEFINIERTE ABFRAGE aus und wählen Sie Ihre Abrechnungs-Projekt-ID aus.
- Fügen Sie die statische Basisabfrage oben 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 Raumbezogene Visualisierung konfigurieren
Nachdem die Daten verbunden sind, konfigurieren Sie Data Studio so, dass die H3-Begrenzungsdaten korrekt erkannt werden:
- Fügen Sie der Berichtsoberfläche im Menü Diagramm hinzufügen eine gefüllte Karte hinzu.
- Achten Sie darauf, dass für das Feld
h3_geo, das die Polygongeometrie enthält, der Datentyp Raumbezogen festgelegt ist.- Klicken Sie neben dem Namen Ihrer Verbindung auf das Symbol Datenquelle bearbeiten (Stift).
- Wenn für
h3_geoText (ABC) festgelegt ist, wählen Sie im Drop-down-Menü Geo > Raumbezogen aus. - Klicken Sie auf Fertig.
- Ordnen Sie das Feld
h3_indexStandort zu (als eindeutige Kennung). - Ordnen Sie das Feld
h3_geoRaumbezogenes Feld zu (als Polygongeometrie). - Ordnen Sie das Feld
restaurant_countFarbmesswert zu.
Dadurch wird eine Karte der Restaurantdichte nach H3-Zelle gerendert. Das dunklere Blau (Standardfarboption) weist auf eine Zelle mit einer höheren Anzahl von Restaurants hin.

Schritt 2: Dynamische Parameter implementieren
Um den Bericht interaktiv zu gestalten, fügen wir Steuerelemente hinzu, mit denen der Nutzer aus den 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, und nutzt dabei den Eintrag
regular_opening_hoursim Schema. - Uhrzeit: Filtert Orte nach ihren Öffnungszeiten, indem sie mit den Feldern
start_timeundend_timeverglichen werden.
Dazu übergeben Sie vom Nutzer ausgewählte Parameter zur Laufzeit direkt an eine geänderte 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 und dann Hinzugefügte Datenquellen verwalten aus. Wählen Sie im angezeigten Bereich für die zuvor hinzugefügte
benutzerdefinierte SQL-Datenquelle von BigQuery die Option EDIT aus.
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 genau auf die Spalte Value.
Da die SQL-Abfrage CAST(@p_hour_of_day AS TIME) verwendet, müssen die von Data Studio übergebenen Werte das Format HH:MM:SS (24-Stunden-Uhr) haben.
Nachdem Sie alle drei Parameter eingerichtet und gespeichert haben, ändern Sie Ihre benutzerdefinierte SQL-Verbindung von BigQuery so, dass auf diese Variablen mit der Syntax @ verwiesen wird.
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 Änderungen zu speichern. Beachten Sie in der geänderten Abfrage die neuen Variablen wie @p_hour_of_day, die den gerade eingerichteten Parameternamen entsprechen.
Kehren Sie zur Berichtsoberfläche zurück, um diese Parameter für den Endnutzer verfügbar zu machen:
- Fügen Sie Ihrem Bericht drei Steuerelemente vom Typ Drop-down-Liste hinzu.
- Legen Sie für jedes Steuerelement das Steuerfeld so fest, dass es den neu erstellten Parametern entspricht:
- Steuerelement 1:
p_locality - Steuerelement 2:
p_day_of_week - Steuerelement 3:
p_hour_of_day
- Steuerelement 1:
Der fertige Bericht sollte so aussehen: Wenn Sie einen Wert in einem der Drop-down-Steuerelemente ä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 sharing tool in Data Studio integrierte Tool zum Teilen, um den Bericht freizugeben. So können Betrachter die Visualisierung dynamisch anhand der Parameter aktualisieren, die sie in den Drop-down-Listen auswählen.
Fazit
Dieses Muster erstellt ein skalierbares, interaktives Berichterstellungstool, das die Rechenleistung von BigQuery nutzt, um aggregierte Places Insights-Daten für Data Studio bereitzustellen. Diese Architektur vermeidet die Fallstricke, die bei der Visualisierung riesiger Rohdatensätze entstehen, und bietet Endnutzern die Flexibilität, Daten in nahezu Echtzeit über verschiedene Dimensionen hinweg zu analysieren, z. B. nach Zeit, Standort und Unternehmenstyp. Dies ist ein leistungsstarkes Tool, mit dem Sie nichttechnischen Stakeholdern die Möglichkeit geben, die Daten zu analysieren.
Nächste Schritte
Sehen Sie sich andere Varianten dynamischer Berichte an, indem Sie verschiedene Teile des Places Insights-Schemas parametrisieren:
- Dynamische Wettbewerbsanalyse:Erstellen Sie einen Parameter für
brand-Namen, damit Nutzer die Heatmap sofort zwischen verschiedenen Wettbewerbern wechseln können, um ihre relative Sättigung in einem Markt zu sehen. Informationen zur Verfügbarkeit von Markendaten finden Sie unter Informationen zu Places Insights Daten. - Interaktive Standortauswahl:Fügen Sie Parameter für
price_level(z.B. „Mittel“ im Vergleich zu „Teuer“) und eine Mindestbewertung (rating) hinzu, 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:Bei komplexen benutzerdefinierten Formen (z. B. Vertriebsgebieten) können Nutzer Geometrietext nicht einfach eingeben. Erstellen Sie stattdessen eine Suchtabelle in BigQuery, die Ihre Formgeometrien und einen benutzerfreundlichen Namen enthält (z.B. „Zone A“). 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