查询各个月份之间的 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:包含 Places Insights 函数的 BigQuery 数据集的名称(例如 places_insights___us)。
  • input_geographies:包含要分析的地理位置的 BigQuery 表。 此表必须包含以下列:
    • geo_idSTRING):每个地理位置的唯一标识符。
    • geoGEOGRAPHY):表示相应区域的 BigQuery 地理位置对象。可以是点、多边形或其他地理位置类型。
  • filters (JSON):一个 JSON 对象,包含用于过滤地点的键值对。请参阅过滤参数。它必须包含以下过滤条件:
    • month1STRING):要查找地点的第一个月份。
    • month2STRING):要查找地点的第二个月份。

输出表架构

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 从第 1 个月到第 2 个月的复合月增长率。
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 对象,它会统计 filtersmonth1month2 指定的两个月内位于相应地理位置(或 geography_radius 内,如果 geo 是点且半径在 filters 中指定)内的地点数量。利用这些位置,它可以计算其他有用的统计信息,例如从第一个月到第二个月的百分比变化和复合月增长率。

该数量仅包含满足 filters JSON 对象中定义的所有条件的地点。

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

此示例演示了如何使用 month1month2 参数查询两个特定月份之间 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(新),以查找新开业或已关闭的商家的商店名称、地址和属性。

Places Count Change 函数的结果。