Places Insights-Daten dynamisch mit Data Studio visualisieren

Übersicht

Ein Workflow-Diagramm, in dem dargestellt wird, wie Data 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 geospatiale Berichte mit Places Insights und Data 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. „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 Data Studio-Freigabe können Sie diese interaktiven Statistiken sicher weitergeben.

Lösungs-Workflow

Mit dem folgenden Workflow wird eine leistungsstarke Berichtsarchitektur erstellt. Er beginnt mit einer statischen Baseline und geht zu einer vollständig dynamischen Anwendung über. So wird die Richtigkeit der Daten sichergestellt, bevor Komplexität eingeführt wird.

Vorbereitung

Folgen Sie dieser Anleitung, um Places Insights einzurichten. Sie benötigen Zugriff auf Data Studio, ein kostenloses Tool.

Schritt 1: Statische geografische Baseline erstellen

Bevor Sie Interaktivität einführen, müssen Sie eine Basisabfrage erstellen und dafür sorgen, dass sie in Data 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 „Gefüllte Karte“ von Data Studio für die 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

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 Data Studio Polygone (Formen) 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 mindestens 5 beträgt.

Wenn eine H3-Rasterzelle weniger als fünf Restaurants enthält, wird sie in dieser Visualisierung vollständig aus dem Ergebnissatz entfernt und auf der Karte leer dargestellt.

So implementieren Sie das in Data 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 Geodatenvisualisierung konfigurieren

Nachdem die Daten verbunden sind, müssen Sie Data 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 Symbol Datenquelle bearbeiten (Stift).
    2. Wenn h3_geo auf Text (ABC) festgelegt ist, wählen Sie im Drop-down-Menü Geografisch > Georäumlich aus.
    3. Klicken Sie auf Fertig.
  3. Ordnen Sie das Feld h3_index dem Feld Location (als eindeutige Kennung) zu.
  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 Farbmesswert 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 ausgefüllte Karte von London mit einem hexagonalen Raster, wobei dunkelblaue Zellen auf eine höhere Konzentration von Restaurants hinweisen. Die Legende gibt Dichtewerte zwischen 5 und 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, und nutzt dabei den regular_opening_hours-Eintrag im Schema.
  • 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 modifizierte Places Insights-Abfrage. Im Datenquellen-Editor 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
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 Data Studio übergebenen Werte das Format HH:MM:SS (24-Stunden-Format) haben.

Nachdem Sie alle drei Parameter eingerichtet und gespeichert haben, ändern Sie Ihre benutzerdefinierte BigQuery-SQL-Verbindung so, dass mit der @-Syntax auf diese Variablen 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. In der geänderten Abfrage sehen Sie 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 Data Studio die angeforderten Daten aus Places Insights ab, bevor sie auf der Karte visualisiert werden.

Der interaktive Abschlussbericht mit einer Karte zur Restaurantdichte von Glasgow und drei Drop-down-Filtern oben. Das Menü „Tageszeit“ ist maximiert und zeigt auswählbare Zeiträume.

Schritt 3: Ergebnisse teilen

Verwenden Sie das in Data 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 Data Studio bereitzustellen. Diese Architektur vermeidet die Fallstricke, die mit der Visualisierung riesiger Rohdatensätze verbunden sind, und bietet Endnutzern die Flexibilität, Daten nahezu in Echtzeit über verschiedene Dimensionen hinweg zu analysieren, z. B. nach Zeit, Standort und Unternehmenstyp. So können auch Stakeholder ohne technisches Know-how die Daten flexibel 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 Wettbewerbern umschalten 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 einen Mindestwert für rating hinzu, damit Immobilien-Teams 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 nicht einfach Geometrietext eingeben. Erstellen Sie stattdessen in BigQuery eine Suchtabelle mit den Geometrien der Formen und einem benutzerfreundlichen Namen (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 Funktion ST_CONTAINS abzurufen.

Beitragende