查询各个月份之间的 POI 变化 (PLACES_COUNT_CHANGE)

PLACES_COUNT_CHANGE 函数用于计算兴趣点数量的变化,并检索多个输入地理位置中两个特定月份之间添加和移除的示例地点 ID。

PLACES_COUNT_V2 类似,此函数旨在通过接受地理位置的输入表参数进行高效的批量处理,让您可以同时评估多个位置的增长趋势和商业变化。

语法

SELECT *
FROM
  `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_CHANGE`(
    TABLE input_geographies,
    filters
  );

参数

  • PROJECT_NAME:您的 Google Cloud 云项目的名称。
  • LINKED_DATASET_NAME:包含地点数据分析函数的 BigQuery 数据集的名称(例如 places_insights___us)。
  • input_geographies:包含要分析的地理位置的 BigQuery 表。 此表必须 包含以下列:
    • geo_id (STRING):每个地理位置的唯一标识符。
    • geo (GEOGRAPHY): 表示区域的 BigQuery GEOGRAPHY 对象。可以是点、多边形或其他地理位置类型。
  • filters (JSON): 一个 JSON 对象,其中包含用于过滤地点的键值对。请参阅 过滤 条件参数。它必须包含以下过滤条件:
    • month1 (STRING): 要查找地点的第一个月。
    • month2 (STRING): 要查找地点的第二个月。

输出表架构

PLACES_COUNT_CHANGE 函数会返回一个包含以下列的表:

列名 数据类型 说明
geo_id STRING 输入地理位置中的 ID。
start_count INT64 第一个月的地点数量。
end_count INT64 第二个月的地点数量。
net_change INT64 end_count 和 start_count 之间的差值 (end_count - start_count)。
percentage_change FLOAT64 从 month1 到 month2 的百分比变化。
compound_monthly_growth_rate FLOAT64 从 month1 到 month2 的复合月增长率。
added_count INT64 sample_added_place_ids 中的示例地点 ID 数量。
removed_count INT64 sample_removed_place_ids 中的示例地点 ID 数量。
sample_added_place_ids ARRAY<STRING> month2 中存在但 month1 中不存在的示例地点 ID 列表。
sample_removed_place_ids ARRAY<STRING> month1 中存在但 month2 中不存在的示例地点 ID 列表。

结果按 percentage_changestart_count 降序排序。

运作方式

该函数会处理 input_geographies 表中的每一行。对于每个 geo 对象,它会统计在 filters中的 month1month2 中指定的两个月内,位于地理位置内(如果 geo 是点且半径在 filters中指定,则位于 geography_radius 内)的地点数量。使用这些地点,它可以计算其他有用的统计信息,例如从第一个月到第二个月的百分比变化和复合月增长率。

统计信息仅包含与 filters JSON 对象中定义的所有条件匹配的地点。

示例:计算两个月之间地图注点数量的变化

此示例演示了如何使用 month1month2 参数查询两个特定月份之间兴趣点数量的变化,半径为给定地理位置点的 5000。

WITH my_locations AS (
  SELECT
    'loc_1' AS geo_id,
    ST_GEOGFROMTEXT('POINT(-122.4194 37.7749)') AS geo
  -- Add more target locations as needed...
)

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_CHANGE`(
  TABLE my_locations,
  JSON_OBJECT(
    'geography_radius', 5000,
    'month1', '2026-01', -- Baseline snapshot month (YYYY-MM)
    'month2', '2026-02'  -- Comparison snapshot month (YYYY-MM)
  )
);

分析输出

查询会返回一个表,其中包含每个输入地理位置的行。

  • 增长指标: 输出会显示基准数量(start_count:89,560)和比较数量(end_count:90,923),从而得出 net_change 为 +1,363 个地点(percentage_change 为 +1.52%)。
  • 实况检查sample_added_place_ids 数组列出了在 month2(2026 年 2 月)中变为活跃状态的特定地点 ID,而 sample_removed_place_ids 列出了不再存在的地点 ID。
  • 桥接至 Places API: 您可以将这些示例地点 ID 直接传递给 地点详情 API (新)来查找 新开业或已关闭的商家的商店名称、地址和属性。

Places Count Change 函数的结果。