Visualización de Data Studio de Estadísticas de Lugares

Descripción general

Un diagrama de flujo de trabajo que ilustra cómo Data 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 Data Studio. Permite que las partes interesadas no técnicas respondan sus propias preguntas y aprovechen el valor de tus datos de ubicación. En esta guía, se muestra cómo convertir informes estáticos en herramientas interactivas de estilo de mapa de calor para el análisis de mercado, sin tener que escribir SQL para cada solicitud. Habilita el acceso a datos de ubicación complejos y cierra la brecha entre la ingeniería de datos y la inteligencia empresarial.

La adopción de este patrón arquitectónico ofrece varios beneficios clave:

  • Representación visual de 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 inmobiliarios, filtren 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 de uso compartido de Data 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 una referencia estática 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 acceso a Data Studio, que es una herramienta gratuita.

Paso 1: Establece una referencia geoespacial estática

Antes de introducir la interactividad, establece una consulta base y asegúrate de que se renderice correctamente en Data 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 producirá un resultado de consulta que se puede usar con el tipo de mapa de mapa de relleno de Data Studio para la visualización.

1.1 Conecta datos

Usa la siguiente consulta estática para establecer la conexión inicial. Se orienta a 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 CARTO Analytics Toolbox (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 de relleno de Data Studio requiere polígonos (formas) para renderizar colores. Si convertimos 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 muestren si el recuento agregado es 5 o más.

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

Para implementar esto en Data 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 el ID del proyecto de facturación.
  4. Pega la consulta base estática anterior en el editor.
  5. Borra los parámetros Usar SQL heredado, Habilitar período y Habilitar dirección de correo electrónico del usuario.
  6. Haz clic en Agregar.

1.2 Configura la visualización geoespacial

Una vez que se conecten los datos, configura Data Studio para que reconozca correctamente los datos de límite H3:

  1. Agrega una visualización de mapa de relleno 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 en el tipo de datos Geoespacial.
    1. Haz clic en el ícono Editar fuente de datos (lápiz) junto al nombre de la conexión.
    2. Si h3_geo está configurado como Texto (ABC), usa el menú desplegable para seleccionar Geo > Geoespacial,
    3. Haz clic en Listo.
  3. Asigna el campo h3_index a Ubicación (que actúa como el 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 un recuento de restaurantes más alto.

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 al informe 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 su horario de atención comparando con los campos start_time y end_time.

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

En Data Studio, selecciona el menú Recurso y, luego, haz clic en Gestionar las fuentes de datos agregadas. En el panel que aparece, selecciona EDIT en la fuente de datos de SQL personalizado de BigQuery que agregamos antes.

En la ventana Editar conexión, selecciona AGREGAR UN PARÁMETRO. Agregaremos tres parámetros con los siguientes valores.

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 De 3 a.m. a 4 a.m.
08:00:00 De 8 a.m. a 9 a.m.
19:00:00 De 7 p.m. a 8 p.m.

Configuración de ejemplo 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. Debido a que la consulta de SQL usa CAST(@p_hour_of_day AS TIME), los valores que se pasan desde Data Studio deben estar en formato HH:MM:SS estricto (reloj de 24 horas).

Una vez que hayas configurado y guardado los tres parámetros, modifica la 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 variables nuevas, 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 para que corresponda a los parámetros que creaste recientemente:
    • Control 1: p_locality
    • Control 2: p_day_of_week
    • Control 3: p_hour_of_day

El informe final debería verse de la siguiente manera. Si cambias un valor en uno de los controles desplegables, se activará Data Studio para 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 de uso compartido integrada en Data Studio para compartir el informe. Esto permitirá que los usuarios actualicen de forma dinámica la visualización en función de los parámetros que seleccionen de las 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 Data 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 datos en diferentes dimensiones, como la hora, la ubicación y el tipo de empresa, casi en tiempo real. Esta es una herramienta potente para brindar flexibilidad a las partes interesadas no técnicas para explorar los datos.

Próximos pasos

Explora otras variaciones de 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 para permitir que los usuarios cambien instantáneamente el mapa de calor entre diferentes competidores para ver su saturación relativa en un mercado. Consulta Acerca de los datos de Places Insights datos para conocer la disponibilidad de datos de marca.
  • Selección interactiva de sitios: Agrega parámetros para price_level (p.ej., "Moderado" en comparación con "Caro") y rating mínimo para permitir que los equipos inmobiliarios filtren de forma dinámica las áreas que coinciden con perfiles demográficos específicos.
  • Áreas de captación personalizadas: En lugar de filtrar por nombre de ciudad, permite que los usuarios definan áreas de estudio personalizadas.
    • Basado 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, insértalas en la función ST_DWITHIN:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • Basado en polígonos: Para formas personalizadas complejas (como territorios de ventas), los usuarios no pueden ingresar texto de geometría con facilidad. En su lugar, crea una tabla de consulta en BigQuery que contenga las geometrías de formas y un nombre descriptivo (p.ej., "Zona A"). Crea un parámetro de texto p_zone_name en Data 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