Visualizzare dinamicamente i dati di Places Insights con Looker Studio

Panoramica

Un diagramma del flusso di lavoro che mostra Looker Studio che invia parametri dinamici per città, giorno e ora a Places Insights in BigQuery per generare una mappa di densità geospaziale.

Questo documento descrive come creare report geospaziali dinamici utilizzando Places Insights e Looker Studio. Sfrutta il valore dei tuoi dati sulla posizione consentendo agli stakeholder non tecnici di rispondere alle proprie domande. Questa guida mostra come trasformare i report statici in strumenti interattivi in stile mappa termica per l'analisi di mercato, senza dover scrivere codice SQL per ogni richiesta. Consente l'accesso a dati sulla posizione complessi, colmando il divario tra l'ingegneria dei dati e la business intelligence.

L'adozione di questo pattern architetturale offre diversi vantaggi chiave:

  • Rappresentazione visiva dei dati:trasforma i dati di Places Insights in mappe e grafici interattivi che comunicano immediatamente la densità spaziale e le tendenze.
  • Esplorazione semplificata senza SQL: consente ai membri del team, come analisti di mercato o pianificatori immobiliari, di filtrare dinamicamente i dati utilizzando parametri predefiniti (ad es. modificando "Città" o "Ora del giorno" utilizzando i menu a discesa). Possono esplorare i dati senza scrivere una sola riga di SQL.
  • Collaborazione perfetta: le funzionalità di condivisione standard di Looker Studio ti consentono di distribuire in modo sicuro queste informazioni interattive.

Flusso di lavoro della soluzione

Il seguente flusso di lavoro stabilisce un'architettura di reporting efficiente. Passa da una base di riferimento statica a un'applicazione completamente dinamica, garantendo la correttezza dei dati prima di introdurre complessità.

Prerequisiti

Prima di iniziare, segui queste istruzioni per configurare Approfondimenti su Places. Avrai bisogno dell'accesso a Looker Studio, che è uno strumento senza costi.

Passaggio 1: stabilisci una baseline geospaziale statica

Prima di introdurre l'interattività, crea una query di base e assicurati che venga visualizzata correttamente in Looker Studio. Utilizza Places Insights e le funzionalità geospaziali di BigQuery per aggregare i dati in griglie esagonali utilizzando il sistema di indicizzazione H3. In questo modo verrà generato un output della query che può essere utilizzato con il tipo di grafico a mappa riempita di Looker Studio per la visualizzazione.

1.1 Connessione ai dati

Utilizza la seguente query statica per stabilire la connessione iniziale. Ha come target una località (Londra) e una categoria (Ristoranti) fisse per convalidare la pipeline di dati.

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;

Nota sull'aggregazione spaziale

Questa query utilizza una funzione del CARTO Analytics Toolbox (carto-os) disponibile pubblicamente in Google Cloud BigQuery. La funzione H3_FROMGEOGPOINT converte punti di posizione specifici in celle H3, un sistema che divide il mondo in celle di griglia esagonali.

Utilizziamo questa trasformazione perché la mappa riempita di Looker Studio richiede poligoni (forme) per il rendering dei colori. Convertendo i punti in forme esagonali, possiamo visualizzare la densità delle attività in un'area specifica, anziché tracciare migliaia di punti sovrapposti.

Nota sulla soglia di aggregazione

Tutte le query Places Insights richiedono la clausola WITH AGGREGATION_THRESHOLD. Questa protezione della privacy garantisce che i dati vengano restituiti solo se il conteggio aggregato è pari o superiore a 5.

Nel contesto di questa visualizzazione, se una cella della griglia H3 contiene meno di 5 ristoranti, questa cella viene omessa completamente dal set di risultati e apparirà vuota sulla mappa.

Per implementare questa funzionalità in Looker Studio:

  1. Crea un nuovo report vuoto.
  2. Seleziona BigQuery come connettore dati.
  3. Scegli QUERY PERSONALIZZATA dal menu a sinistra e seleziona l'ID progetto di fatturazione.
  4. Incolla la query di base statica sopra nell'editor.
  5. Deseleziona i parametri Utilizza SQL legacy, Attiva intervallo di date e Attiva indirizzo email del visualizzatore.
  6. Fai clic su Aggiungi.

1.2 Configura la visualizzazione geospaziale

Una volta connessi i dati, configura Looker Studio in modo che riconosca correttamente i dati del confine H3:

  1. Aggiungi una visualizzazione Mappa riempita al canvas del report dal menu Aggiungi un grafico.
  2. Assicurati che il campo h3_geo, che contiene la geometria del poligono, sia impostato sul tipo di dati geospaziale.
    1. Fai clic sull'icona Modifica origine dati (a forma di matita) accanto al nome della connessione.
    2. Se h3_geo è impostato su Testo (ABC), utilizza il menu a discesa per selezionare Geo > Geospaziale.
    3. Fai clic su Fine.
  3. Mappa il campo h3_index su Posizione (che funge da identificatore univoco).
  4. Mappa il campo h3_geo al campo geospaziale (che funge da geometria del poligono).
  5. Mappa il campo restaurant_count alla metrica Colore.

Verrà visualizzata una mappa della densità dei ristoranti per cella H3. Il blu più scuro (opzione di colore predefinita) indica una cella con un numero maggiore di ristoranti.

Una mappa riempita di Londra sovrapposta a una griglia esagonale, in cui le celle blu più scure indicano una maggiore concentrazione di ristoranti. La legenda indica i conteggi di densità compresi tra 5 e 1215.

Passaggio 2: implementa i parametri dinamici

Per rendere interattivo il report, aggiungeremo controlli che consentono all'utente di scegliere tra le seguenti opzioni:

  • Località: controlla la città su cui si concentra il report.
  • Giorno della settimana: filtra i luoghi in base al giorno di apertura, sfruttando il record regular_opening_hours nello schema.
  • Ora del giorno: filtra i luoghi in base all'orario di apertura confrontando i campi start_time e end_time.

Per farlo, devi passare i parametri selezionati dall'utente direttamente a una query Places Insights modificata in fase di runtime. Nell'editor delle origini dati di Looker Studio, devi definire esplicitamente questi parametri come variabili tipizzate.

In Looker Studio, seleziona il menu Risorsa, poi fai clic su Gestisci origini dati aggiunte. Nel riquadro visualizzato, seleziona EDIT in corrispondenza dell'origine dati SQL personalizzato BigQuery che abbiamo aggiunto in precedenza.

Nella finestra Modifica connessione, seleziona AGGIUNGI UN PARAMETRO. Aggiungeremo tre parametri con i valori riportati di seguito.

Nome parametro Tipo di dati Valori consentiti Elenco di valori (deve corrispondere esattamente al database)
p_locality Testo Elenco di valori
Valore Etichetta
London Londra
Manchester Manchester
Birmingham Birmingham
Glasgow Glasgow
p_day_of_week Testo Elenco di valori
Valore Etichetta
monday Lunedì
tuesday Martedì
wednesday Mercoledì
thursday Giovedì
friday Venerdì
saturday Sabato
sunday Domenica
p_hour_of_day Testo Elenco di valori
Valore Etichetta
03:00:00 03:00 - 04:00
08:00:00 8:00 - 9:00
19:00:00 19:00-20:00

Esempio di configurazione per il parametro p_hour_of_day.

Interfaccia di configurazione per il parametro p_hour_of_day che mostra la sezione dell'elenco dei valori in cui le stringhe temporali sono mappate a etichette leggibili.

Per il parametro p_hour_of_day, presta molta attenzione alla colonna Value. Poiché la query SQL utilizza CAST(@p_hour_of_day AS TIME), i valori passati da Looker Studio devono essere nel formato HH:MM:SS rigoroso (orologio a 24 ore).

Dopo aver configurato e salvato tutti e tre i parametri, modifica la connessione SQL personalizzata BigQuery per fare riferimento a queste variabili utilizzando la sintassi @.

Per farlo, fai clic su Modifica connessione e incolla la query modificata di seguito:

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;

Fai clic su Riconnetti per salvare la modifica. Nella query modificata, prendi nota delle nuove variabili come @p_hour_of_day, che corrispondono ai nomi dei parametri che abbiamo appena configurato.

Torna al canvas del report per mostrare questi parametri all'utente finale:

  1. Aggiungi tre controlli Elenco a discesa al report.
  2. Per ogni controllo, imposta il campo Controllo in modo che corrisponda ai parametri che hai creato di recente:
    • Controllo 1: p_locality
    • Controllo 2: p_day_of_week
    • Controllo 3: p_hour_of_day

Il report finale dovrebbe essere simile al seguente. La modifica di un valore in uno dei controlli a discesa attiverà il recupero dei dati richiesti da Places Insights da parte di Looker Studio prima della visualizzazione sulla mappa.

Il report interattivo finale che mostra una mappa della densità di ristoranti di Glasgow con tre filtri a discesa nella parte superiore. Il menu dell&#39;ora del giorno viene espanso per mostrare gli intervalli di tempo selezionabili.

Passaggio 3: condividi i risultati

Utilizza lo strumento di condivisione integrato in Looker Studio per condividere il report. In questo modo, gli spettatori potranno aggiornare dinamicamente la visualizzazione in base ai parametri selezionati dagli elenchi a discesa.

Conclusione

Questo pattern crea uno strumento di reporting scalabile e interattivo che sfrutta la potenza di calcolo di BigQuery per fornire dati aggregati di Places Insights a Looker Studio. Questa architettura evita le insidie del tentativo di visualizzare set di dati non elaborati di grandi dimensioni e offre agli utenti finali la flessibilità di esplorare i dati in diverse dimensioni, come tempo, posizione e tipo di attività, in tempo quasi reale. Si tratta di uno strumento potente che offre agli stakeholder non tecnici la flessibilità di esplorare i dati.

Passaggi successivi

Esplora altre varianti di report dinamici parametrizzando diverse parti dello schema di Places Insights:

  • Analisi dinamica della concorrenza:crea un parametro per i nomi di brand per consentire agli utenti di passare istantaneamente da una mappa termica a un'altra per visualizzare la saturazione relativa in un mercato. Per informazioni sulla disponibilità dei dati del brand, consulta Informazioni sui dati di Places Insights.
  • Selezione interattiva del sito:aggiungi parametri per price_level (ad es. "Moderato" rispetto a "Costoso") e rating minimo per consentire ai team immobiliari di filtrare dinamicamente le aree che corrispondono a profili demografici specifici.
  • Aree di utenza personalizzate:anziché filtrare in base al nome della città, consente agli utenti di definire aree di studio personalizzate.
    • Basato sul raggio:crea tre parametri numerici: p_latitude, p_longitude e p_radius_meters. Le coordinate possono essere ottenute dalle API Google Maps Platform, inclusa l'API Geocoding. Nella query, inserisci questi valori nella funzione ST_DWITHIN:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • Basato su poligoni:per forme personalizzate complesse (come i territori di vendita), gli utenti non possono inserire facilmente il testo della geometria. Crea invece una tabella di ricerca in BigQuery contenente le geometrie delle forme e un nome descrittivo (ad es. "Zona A"). Crea un parametro di testo p_zone_name in Looker Studio per consentire agli utenti di selezionare la zona e utilizza una sottoquery per recuperare la geometria per la funzione ST_CONTAINS.

Collaboratori