Übersicht

In diesem Dokument wird beschrieben, wie Sie dynamische geografische Berichte mit Places Insights und Looker Studio erstellen. Sie können den Wert Ihrer Standortdaten steigern, indem Sie nicht technische Stakeholder in die Lage versetzen, ihre eigenen Fragen zu beantworten. In dieser Anleitung erfahren Sie, wie Sie statische Berichte in interaktive Tools im Heatmap-Stil für die Marktanalyse umwandeln, ohne für jede Anfrage SQL schreiben zu müssen. Zugriff auf komplexe Standortdaten ermöglichen und die Lücke zwischen Data Engineering und Business Intelligence schließen
Die Einführung dieses Architekturmusters bietet mehrere wichtige Vorteile:
- Visuelle Darstellung von Daten:Places Insights-Daten werden in interaktive Karten und Diagramme umgewandelt, die sofort räumliche Dichte und Trends vermitteln.
- Vereinfachte Datenexploration ohne SQL:Teammitglieder wie Marktforschungsanalysten oder Immobilienplaner können Daten dynamisch mit vordefinierten Parametern filtern, z.B. indem sie „Stadt“ oder „Tageszeit“ über Drop-down-Menüs ändern. Sie können die Daten analysieren, ohne eine einzige Zeile SQL-Code schreiben zu müssen.
- Nahtlose Zusammenarbeit:Mit den Standardfunktionen für die Freigabe in Looker Studio können Sie diese interaktiven Statistiken sicher weitergeben.
Lösungsablauf
Der folgende Workflow stellt eine leistungsstarke Berichtsarchitektur dar. Sie geht von einer statischen Baseline zu einer vollständig dynamischen Anwendung über und sorgt so für die Richtigkeit der Daten, bevor Komplexität eingeführt wird.
Vorbereitung
Folgen Sie dieser Anleitung, um Places Insights einzurichten. Sie benötigen Zugriff auf Looker Studio, ein kostenloses Tool.
Schritt 1: Statische geografische Baseline erstellen
Bevor Sie Interaktivität einführen, sollten Sie eine Basisabfrage erstellen und dafür sorgen, dass sie in Looker Studio richtig gerendert wird. Mit Places Insights und den raumbezogenen Funktionen von BigQuery können Sie Daten mithilfe des H3-Indexierungssystems in sechseckige Raster aggregieren. Dadurch wird eine Abfrageausgabe generiert, die mit dem Kartentyp „Flächenkarte“ von Looker Studio für die Visualisierung verwendet werden kann.
1.1 Daten verbinden
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
In dieser Abfrage wird eine Funktion aus der CARTO Analytics Toolbox (carto-os) verwendet, die öffentlich in Google Cloud BigQuery verfügbar ist. Mit der Funktion H3_FROMGEOGPOINT werden bestimmte Standortpunkte in H3-Zellen umgewandelt. Dabei wird die Welt in sechseckige Rasterzellen unterteilt.
Wir verwenden diese Transformation, weil für die Darstellung von Farben in der Karte mit Flächen in Looker Studio Polygone (Formen) erforderlich sind. Wenn wir Punkte in sechseckige Formen umwandeln, können wir die Dichte von Unternehmen in einem bestimmten Gebiet visualisieren, anstatt Tausende von sich überlappenden 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 mindestens 5 beträgt.
Wenn eine H3-Rasterzelle weniger als fünf Restaurants enthält, wird sie im Kontext dieser Visualisierung vollständig aus dem Ergebnissatz entfernt und auf der Karte leer angezeigt.
So implementieren Sie das in Looker 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 Ihre Projekt-ID für die Abrechnung aus.
- Fügen Sie die statische Basisabfrage oben in den Editor ein.
- Entfernen Sie die Häkchen bei Legacy SQL-Dialekt verwenden, Zeitraum aktivieren und E-Mail-Adressen-Parameter von Betrachter aktivieren.
- Klicken Sie auf Hinzufügen.
1.2 Geospatiale Visualisierung konfigurieren
Nachdem die Daten verbunden sind, müssen Sie Looker Studio so konfigurieren, dass die H3-Grenzdaten richtig erkannt werden:
- Fügen Sie dem Bericht-Canvas über das Menü Diagramm hinzufügen eine Karte mit Flächen 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 der Verbindung auf das Stiftsymbol Datenquelle bearbeiten.
- Wenn
h3_geoauf Text (ABC) festgelegt ist, wählen Sie im Drop-down-Menü Geografisch > Geografisch aus. - Klicken Sie auf Fertig.
- Ordnen Sie das Feld
h3_indexdem Feld Standort zu (das als eindeutige Kennung dient). - Ordnen Sie das Feld
h3_geodem Feld für raumbezogene Daten zu (das als Polygongeometrie fungiert). - Ordnen Sie das Feld
restaurant_countdem Messwert für Farbe 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
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. Dabei wird der
regular_opening_hours-Eintrag im Schema verwendet. - Tageszeit: Filtert Orte anhand ihrer Öffnungszeiten, indem die Felder
start_timeundend_timeverglichen werden.
Dazu übergeben Sie die vom Nutzer ausgewählten Parameter zur Laufzeit direkt an eine geänderte Places Insights-Abfrage. Im Datenquellen-Editor von Looker Studio müssen Sie diese Parameter explizit als typisierte Variablen definieren.
Wählen Sie in Looker 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 genau auf die Spalte Value.
Da in der SQL-Abfrage CAST(@p_hour_of_day AS TIME) verwendet wird, müssen die von Looker Studio übergebenen Werte im strengen HH:MM:SS-Format (24-Stunden-Format) angegeben werden.
Nachdem Sie alle drei Parameter eingerichtet und gespeichert haben, ändern Sie Ihre benutzerdefinierte BigQuery-SQL-Verbindung so, dass auf diese Variablen mit der @-Syntax verwiesen wird.
Klicken Sie dazu auf „Verbindung bearbeiten“ und fügen Sie die unten 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 „Wieder verbinden“, um die Änderung 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 zum Berichts-Canvas zurück, um diese Parameter für den Endnutzer verfügbar zu machen:
- Fügen Sie Ihrem Bericht drei Drop-down-Liste-Steuerelemente hinzu.
- Legen Sie für jede Kontrollgruppe das Kontrollfeld entsprechend den neu erstellten Parametern fest:
- Kontrollgruppe 1:
p_locality - Kontrollgruppe 2:
p_day_of_week - Kontrollgruppe 3:
p_hour_of_day
- Kontrollgruppe 1:
Der endgültige Bericht sollte so aussehen: Wenn Sie einen Wert in einem der Drop-down-Steuerelemente ändern, ruft Looker Studio die angeforderten Daten aus Places Insights ab, bevor sie auf der Karte visualisiert werden.

Schritt 3: Ergebnisse teilen
Verwenden Sie das in Looker Studio integrierte Freigabetool, um den Bericht freizugeben. So können Zuschauer 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 Looker Studio bereitzustellen. Diese Architektur vermeidet die Fallstricke, die beim Versuch entstehen, riesige Rohdatensätze zu visualisieren, und bietet Endnutzern die Flexibilität, Daten in nahezu Echtzeit über verschiedene Dimensionen hinweg zu analysieren, z. B. nach Zeit, Standort und Unternehmenstyp. So können Sie Stakeholdern ohne technischen Hintergrund die Möglichkeit geben, die Daten flexibel zu analysieren.
Nächste Schritte
Sie können auch andere Varianten dynamischer Berichte erstellen, 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 Mitbewerbern umschalten können, um deren relative Marktsättigung zu sehen. Informationen zur Verfügbarkeit von Markendaten finden Sie unter Places Insights-Daten. - Interaktive Auswahl von Websites:Fügen Sie Parameter für
price_levelhinzu, z.B. „Mittel“ im Vergleich zu „Teuer“) undrating, damit Immobilienmaklerteams dynamisch nach Gebieten filtern können, die bestimmten demografischen Profilen entsprechen. - Benutzerdefinierte Einzugsgebiete:Nutzer können benutzerdefinierte Testgebiete definieren, anstatt nach Städtenamen zu filtern.
- 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 in Ihre Abfrage Folgendes in die Funktion ST_DWITHIN ein:
ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
- Polygonbasiert:Bei komplexen benutzerdefinierten Formen wie Vertriebsgebieten können Nutzer den Geometrietext nicht einfach eingeben. Erstellen Sie stattdessen eine Nachschlagetabelle in BigQuery, die Ihre Formgeometrien und einen benutzerfreundlichen Namen enthält (z.B.
„Zone A“). Erstellen Sie in Looker 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 in Ihre Abfrage Folgendes in die Funktion ST_DWITHIN ein:
Beitragende
- David Szajngarten | Developer Relations Engineer
- Henrik Valve | DevX Engineer