Запрос изменений в объектах инфраструктуры за несколько месяцев (PLACES_COUNT_CHANGE)

Функция PLACES_COUNT_CHANGE рассчитывает изменения в количестве объектов инфраструктуры и извлекает примеры добавленных и удаленных идентификаторов мест за два определенных месяца в нескольких географических регионах.

Как и 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 (например, 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 Идентификатор из входных данных о географическом местоположении.
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.
removed_count INT64 Количество идентификаторов мест в sample_removed_place_ids.
sample_added_place_ids ARRAY<STRING> Список примеров идентификаторов мест, которые есть в month2, но отсутствуют в month1.
sample_removed_place_ids ARRAY<STRING> Список примеров идентификаторов мест, которые есть в month1, но отсутствуют в month2.

Результаты сортируются по убыванию значений в столбцах percentage_change и start_count.

Принцип работы

Функция обрабатывает каждую строку в таблице input_geographies. Для каждого объекта geo подсчитывается количество мест, которые попадают в географическую область (или в geography_radius, если geo – это точка, а радиус указан в filters) за два месяца, указанных в month1 и month2 в filters. На основе этих данных рассчитываются другие полезные статистические показатели, такие как процентное изменение и совокупный месячный темп роста с первого по второй месяц.

В подсчет включаются только те места, которые соответствуют всем условиям, определенным в объекте JSON filters.

Пример. Как рассчитать изменения в количестве объектов инфраструктуры за два месяца

В этом примере показано, как запросить изменения в количестве объектов инфраструктуры между двумя месяцами, используя параметры month1 и month2, в радиусе 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 +1363 места (+1,52% percentage_change).
  • Проверка фундаментальной истины. Массив sample_added_place_ids содержит идентификаторы мест, которые стали активными в month2 (февраль 2026 г.), а sample_removed_place_ids – идентификаторы мест, которые больше не существуют.
  • Связь с Places API. Вы можете передавать эти примеры идентификаторов мест непосредственно в Place Details API (New), чтобы искать названия, адреса и атрибуты недавно открытых или закрытых компаний.

Результаты функции Places Count Change.