Visualiza los datos de Estadísticas de Lugares de forma dinámica con Looker Studio

Descripción general

Un diagrama de flujo de trabajo que ilustra cómo Looker Studio envía parámetros dinámicos de ciudad, día y hora a Places Insights en BigQuery para generar un mapa de calor de densidad geoespacial.

En este documento, se describe cómo compilar informes geoespaciales dinámicos con Places Insights y Looker Studio. Libera el valor de tus datos de ubicación permitiendo que las partes interesadas no técnicas respondan sus propias preguntas. En esta guía, se muestra cómo convertir informes estáticos en herramientas interactivas de estilo mapa de calor para el análisis de mercado, sin tener que escribir código SQL para cada solicitud. Habilita el acceso a datos de ubicación complejos, lo que cierra la brecha entre la ingeniería de datos y la inteligencia empresarial.

Adoptar este patrón arquitectónico ofrece varios beneficios clave:

  • Representación visual de los datos: Transforma los datos de Places Insights en mapas y gráficos interactivos que comunican de inmediato la densidad y las tendencias espaciales.
  • Exploración simplificada sin SQL: Permite que los miembros del equipo, como los analistas de mercado o los planificadores de bienes raíces, filtren los datos de forma dinámica con parámetros predefinidos (p.ej., cambiar "Ciudad" o "Hora del día" con menús desplegables). Pueden explorar los datos sin escribir una sola línea de SQL.
  • Colaboración fluida: Las funciones estándar para compartir de Looker Studio te permiten distribuir de forma segura estas estadísticas interactivas.

Flujo de trabajo de la solución

El siguiente flujo de trabajo establece una arquitectura de informes de alto rendimiento. Pasa de un modelo de referencia estático a una aplicación completamente dinámica, lo que garantiza la exactitud de los datos antes de introducir complejidad.

Requisitos previos

Antes de comenzar, sigue estas instrucciones para configurar Places Insights. Necesitarás acceder a Looker Studio, una herramienta sin costo.

Paso 1: Establece un valor de referencia geoespacial estático

Antes de introducir la interactividad, establece una consulta base y asegúrate de que se renderice correctamente en Looker Studio. Usa Places Insights y las capacidades geoespaciales de BigQuery para agregar datos en cuadrículas hexagonales con el sistema de indexación H3. Esto generará un resultado de la consulta que se puede usar con el tipo de mapa completado de Looker Studio para la visualización.

1.1 Conecta datos

Usa la siguiente consulta estática para establecer la conexión inicial. Se segmenta para una ubicación (Londres) y una categoría (Restaurantes) fijas para validar la canalización de datos.

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 sobre la agregación espacial

Esta consulta usa una función de la caja de herramientas de Analytics de CARTO (carto-os) disponible públicamente en Google Cloud BigQuery. La función H3_FROMGEOGPOINT convierte puntos de ubicación específicos en celdas H3, un sistema que divide el mundo en celdas de cuadrícula hexagonales.

Usamos esta transformación porque el mapa completado de Looker Studio requiere polígonos (formas) para renderizar los colores. Al convertir los puntos en formas hexagonales, podemos visualizar la densidad de las empresas en un área específica, en lugar de trazar miles de puntos superpuestos.

Nota sobre el umbral de agregación

Todas las consultas de Places Insights requieren la cláusula WITH AGGREGATION_THRESHOLD. Esta protección de la privacidad garantiza que los datos solo se devuelvan si el recuento agregado es 5 o superior.

En el contexto de esta visualización, si una celda de la cuadrícula H3 contiene menos de 5 restaurantes, se omite por completo del conjunto de resultados y aparecerá vacía en el mapa.

Para implementar esto en Looker Studio, sigue estos pasos:

  1. Crea un Informe en blanco nuevo.
  2. Selecciona BigQuery como el conector de datos.
  3. Elige CONSULTA PERSONALIZADA en el menú de la izquierda y selecciona tu ID del proyecto de facturación.
  4. Pega la Consulta base estática anterior en el editor.
  5. Borra los parámetros Use Legacy SQL, Enable date range y Enable viewer email address.
  6. Haz clic en Agregar.

1.2 Configura la visualización geoespacial

Una vez que los datos estén conectados, configura Looker Studio para que reconozca correctamente los datos de límites de H3:

  1. Agrega una visualización de Mapa completado al lienzo del informe desde el menú Agregar un gráfico.
  2. Asegúrate de que el campo h3_geo, que contiene la geometría del polígono, esté configurado como el tipo de datos Geoespacial.
    1. Haz clic en el ícono de Editar fuente de datos (lápiz) junto al nombre de tu conexión.
    2. Si h3_geo está configurado como Texto (ABC), usa el menú desplegable para seleccionar Ubicación geográfica > Geospatial.
    3. Haz clic en Listo.
  3. Asigna el campo h3_index a Ubicación (que actúa como identificador único).
  4. Asigna el campo h3_geo a Campo geoespacial (que actúa como la geometría del polígono).
  5. Asigna el campo restaurant_count a Métrica de color.

Esto renderizará un mapa de la densidad de restaurantes por celda H3. El azul más oscuro (opción de color predeterminada) indica una celda con una mayor cantidad de restaurantes.

Un mapa completo de Londres superpuesto con una cuadrícula hexagonal, en el que las celdas azules más oscuras indican una mayor concentración de restaurantes. La leyenda indica los recuentos de densidad, que van de 5 a 1,215.

Paso 2: Implementa parámetros dinámicos

Para que el informe sea interactivo, agregaremos controles que permitan al usuario seleccionar entre las siguientes opciones:

  • Localidad: Controla la ciudad en la que se centra el informe.
  • Día de la semana: Filtra lugares según el día en que están abiertos, aprovechando el registro regular_opening_hours en el esquema.
  • Hora del día: Filtra lugares según sus horarios de atención comparándolos con los campos start_time y end_time.

Para lograrlo, pasarás los parámetros seleccionados por el usuario directamente a una consulta modificada de Places Insights en el tiempo de ejecución. En el editor de fuentes de datos de Looker Studio, debes definir explícitamente estos parámetros como variables escritas.

En Looker Studio, selecciona el menú Recurso y, luego, haz clic en Administrar las fuentes de datos agregadas. En el panel que aparece, selecciona EDIT junto a la fuente de datos de BigQuery Custom SQL que agregamos antes.

En la ventana Editar conexión, selecciona AGREGAR UN PARÁMETRO. Agregaremos tres parámetros con los valores que se indican a continuación.

Nombre del parámetro Tipo de datos Valores permitidos Lista de valores (debe coincidir exactamente con la base de datos)
p_locality Texto Lista de valores
Valor Etiqueta
London Londres
Manchester Manchester
Birmingham Birmingham
Glasgow Glasgow
p_day_of_week Texto Lista de valores
Valor Etiqueta
monday Lunes
tuesday Martes
wednesday Miércoles
thursday Jueves
friday Viernes
saturday Sábado
sunday Domingo
p_hour_of_day Texto Lista de valores
Valor Etiqueta
03:00:00 3 a.m. a 4 a.m.
08:00:00 8:00 a.m. a 9:00 a.m.
19:00:00 7 p.m. a 8 p.m.

Ejemplo de configuración para el parámetro p_hour_of_day.

Interfaz de configuración del parámetro p_hour_of_day que muestra la sección de la lista de valores en la que las cadenas de tiempo se asignan a etiquetas legibles.

Para el parámetro p_hour_of_day, presta mucha atención a la columna Value. Dado que la consulta de SQL usa CAST(@p_hour_of_day AS TIME), los valores que se pasan desde Looker Studio deben tener el formato HH:MM:SS estricto (reloj de 24 horas).

Una vez que hayas configurado y guardado los tres parámetros, modifica tu conexión de SQL personalizado de BigQuery para hacer referencia a estas variables con la sintaxis @.

Para ello, haz clic en Editar conexión y pega la siguiente consulta modificada:

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;

Haz clic en Volver a conectar para guardar la edición. En la consulta modificada, observa las nuevas variables, como @p_hour_of_day, que se correlacionan con los nombres de los parámetros que acabamos de configurar.

Vuelve al lienzo del informe para exponer estos parámetros al usuario final:

  1. Agrega tres controles de Lista desplegable a tu informe.
  2. Para cada control, configura el campo de control de modo que corresponda a los parámetros que acabas de crear:
    • Control 1: p_locality
    • Control 2: p_day_of_week
    • Control 3: p_hour_of_day

Tu informe final debería verse de la siguiente manera. Si cambias un valor en uno de los controles desplegables, Looker Studio recuperará los datos solicitados de Places Insights antes de visualizarlos en el mapa.

El informe interactivo final muestra un mapa de densidad de restaurantes de Glasgow con tres filtros desplegables en la parte superior. El menú de la hora del día se expande para mostrar los intervalos de tiempo seleccionables.

Paso 3: Comparte los resultados

Usa la herramienta para compartir integrada en Looker Studio para compartir el informe. Esto permitirá que los usuarios actualicen de forma dinámica la visualización según los parámetros que seleccionen en tus listas desplegables.

Conclusión

Este patrón crea una herramienta de informes interactiva y escalable que aprovecha la potencia de procesamiento de BigQuery para entregar datos agregados de Places Insights a Looker Studio. Esta arquitectura evita los inconvenientes de intentar visualizar conjuntos de datos sin procesar masivos y proporciona a los usuarios finales la flexibilidad para explorar los datos en diferentes dimensiones, como el tiempo, la ubicación y el tipo de empresa, casi en tiempo real. Esta es una herramienta poderosa que les brinda a tus interesados no técnicos la flexibilidad para explorar los datos.

Próximos pasos

Explora otras variaciones de los informes dinámicos parametrizando diferentes partes del esquema de Places Insights:

  • Análisis dinámico de la competencia: Crea un parámetro para los nombres de brand que permita a los usuarios cambiar instantáneamente el mapa de calor entre diferentes competidores para ver su saturación relativa en un mercado. Consulta Acerca de los datos de Estadísticas de Places para conocer la disponibilidad de los datos de la marca.
  • Selección interactiva del sitio: Agrega parámetros para price_level (p.ej., "Moderado" en comparación con "Costoso") y un mínimo de rating para permitir que los equipos de bienes raíces filtren de forma dinámica las áreas que coinciden con perfiles demográficos específicos.
  • Áreas de alcance personalizadas: En lugar de filtrar por nombre de ciudad, permite que los usuarios definan áreas de estudio personalizadas.
    • Basados en el radio: Crea tres parámetros numéricos: p_latitude, p_longitude y p_radius_meters. Las coordenadas se pueden obtener de las APIs de Google Maps Platform, incluida la API de Geocoding. En tu consulta, inserta estos elementos en la función ST_DWITHIN:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • Basadas en polígonos: En el caso de formas personalizadas complejas (como los territorios de ventas), los usuarios no pueden ingresar texto de geometría con facilidad. En su lugar, crea una tabla de búsqueda en BigQuery que contenga las geometrías de tus formas y un nombre descriptivo (p.ej., "Zona A"). Crea un parámetro de texto p_zone_name en Looker Studio para permitir que los usuarios seleccionen la zona y usa una subconsulta para recuperar la geometría de la función ST_CONTAINS.

Colaboradores