Places Insights-Daten dynamisch mit Looker Studio visualisieren

Übersicht

Ein Workflowdiagramm, in dem dargestellt wird, wie Looker Studio dynamische Parameter für Stadt, Tag und Uhrzeit an Places Insights in BigQuery sendet, um eine Heatmap der geografischen Dichte zu erstellen.

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:

  1. Erstellen Sie einen neuen leeren Bericht.
  2. Wählen Sie BigQuery als Daten-Connector aus.
  3. Wählen Sie im Menü auf der linken Seite BENUTZERDEFINIERTE ABFRAGE und dann Ihre Projekt-ID für die Abrechnung aus.
  4. Fügen Sie die statische Basisabfrage oben in den Editor ein.
  5. Entfernen Sie die Häkchen bei Legacy SQL-Dialekt verwenden, Zeitraum aktivieren und E-Mail-Adressen-Parameter von Betrachter aktivieren.
  6. 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:

  1. Fügen Sie dem Bericht-Canvas über das Menü Diagramm hinzufügen eine Karte mit Flächen hinzu.
  2. Achten Sie darauf, dass das Feld h3_geo, das die Polygongeometrie enthält, auf den Datentyp Geospatial festgelegt ist.
    1. Klicken Sie neben dem Namen der Verbindung auf das Stiftsymbol Datenquelle bearbeiten.
    2. Wenn h3_geo auf Text (ABC) festgelegt ist, wählen Sie im Drop-down-Menü Geografisch > Geografisch aus.
    3. Klicken Sie auf Fertig.
  3. Ordnen Sie das Feld h3_index dem Feld Standort zu (das als eindeutige Kennung dient).
  4. Ordnen Sie das Feld h3_geo dem Feld für raumbezogene Daten zu (das als Polygongeometrie fungiert).
  5. Ordnen Sie das Feld restaurant_count dem 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.

Eine Karte von London mit einem hexagonalen Raster. Dunkelblaue Zellen weisen auf eine höhere Konzentration von Restaurants hin. Die Legende gibt die Dichte in Zahlen von 5 bis 1.215 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. Dabei wird der regular_opening_hours-Eintrag im Schema verwendet.
  • Tageszeit: Filtert Orte anhand ihrer Öffnungszeiten, indem die Felder start_time und end_time verglichen 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
Wert Label
London London
Manchester Manchester
Birmingham Birmingham
Glasgow Glasgow
p_day_of_week Text Liste mit Werten
Wert Label
monday Montag
tuesday Dienstag
wednesday Mittwoch
thursday Donnerstag
friday Freitag
saturday Samstag
sunday Sonntag
p_hour_of_day Text Liste mit Werten
Wert Label
03:00:00 3:00 bis 4:00 Uhr
08:00:00 8:00 bis 9:00 Uhr
19:00:00 19:00 bis 20:00 Uhr

Beispielkonfiguration für den Parameter p_hour_of_day.

Konfigurationsoberfläche für den Parameter „p_hour_of_day“ mit dem Abschnitt „Liste der Werte“, in dem Zeitstrings lesbaren Labels zugeordnet werden.

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:

  1. Fügen Sie Ihrem Bericht drei Drop-down-Liste-Steuerelemente hinzu.
  2. 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

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.

Der fertige interaktive Bericht mit einer Karte der Restaurantdichte von Glasgow und drei Drop-down-Filtern oben. Das Menü „Stunde des Tages“ wird maximiert und zeigt auswählbare Zeiträume an.

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_level hinzu, z.B. „Mittel“ im Vergleich zu „Teuer“) und rating, 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 Funktion ST_CONTAINS abzurufen.

Beitragende