查询各个月份之间的 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 从第 1 个月到第 2 个月的百分比变化。
compound_monthly_growth_rate FLOAT64 从第 1 个月到第 2 个月的月复合增长率。
added_count INT64 sample_added_place_ids 中的示例地点 ID 数量。
removed_count INT64 sample_removed_place_ids 中的示例地点 ID 数量。
sample_added_place_ids ARRAY<STRING> 第 2 个月存在但第 1 个月不存在的示例地点 ID 列表。
sample_removed_place_ids ARRAY<STRING> 第 1 个月存在但第 2 个月不存在的示例地点 ID 的列表。

结果按 percentage_change 和 start_count 降序排序。

运作方式

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

该计数仅包含符合 filters JSON 对象中定义的所有条件的地点。

示例:计算两个月内 POI 数量的变化

此示例演示了如何使用 month1 和 month2 参数查询两个特定月份之间 POI 数量的变化,其中给定地理位置点的半径为 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 个地点(+1.52% percentage_change)。
  • 标准答案检查:sample_added_place_ids 数组列出了在 month2(2026 年 2 月)生效的特定地点 ID,而 sample_removed_place_ids 列出了不再存在的地点 ID。
  • 与 Places API 衔接:您可以将这些示例地点 ID 直接传递给 地点详情 API(新版),以查找新开业或已停业商家的商店名称、地址和属性。

“地点数量变化”函数的结果。