Hàm PLACES_COUNT_V2 trả về một bảng BigQuery chứa số lượng địa điểm và Mã địa điểm mẫu cho nhiều khu vực địa lý đầu vào dựa trên các bộ lọc đã chỉ định.
Hàm này được thiết kế để xử lý hàng loạt hiệu quả bằng cách chấp nhận tham số bảng đầu vào của các khu vực địa lý, cho phép bạn phân tích nhiều khu vực mà bạn quan tâm trong một truy vấn bằng cách cung cấp các khu vực địa lý thông qua một bảng đầu vào.
Cú pháp
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`( TABLE input_geographies, filters )
Thông số
PROJECT_NAME: Tên dự án trên đám mây của bạn trên Google Cloud.LINKED_DATASET_NAME: Tên của tập dữ liệu BigQuery chứa các hàm Thông tin chi tiết về địa điểm (ví dụ:places_insights___us).input_geographies: Bảng BigQuery chứa các khu vực địa lý cần phân tích. Bảng này phải bao gồm các cột sau:filters(JSON): Đối tượng JSON chứa các cặp khoá-giá trị để lọc địa điểm. Xem Tham số bộ lọc.
Lược đồ bảng đầu ra
Hàm PLACES_COUNT_V2 trả về một bảng có các cột sau:
| Tên cột | Loại dữ liệu | Mô tả |
|---|---|---|
geo_id |
STRING | Giá trị nhận dạng duy nhất cho khu vực địa lý đầu vào, từ bảng input_geographies. |
input_geography |
GEOGRAPHY | Đối tượng GEOGRAPHY ban đầu từ bảng input_geographies. |
place_count |
INTEGER | Tổng số địa điểm phù hợp với các bộ lọc. |
sample_place_ids |
ARRAY<STRING> | Một mảng có tối đa 250 Mã địa điểm phù hợp với tiêu chí. |
Cách hoạt động
Hàm này xử lý từng hàng trong bảng input_geographies. Đối với mỗi geo
đối tượng, hàm này sẽ đếm số địa điểm nằm trong khu vực địa lý (hoặc trong
bán kính geography_radius nếu geo là một điểm và bán kính được chỉ định trong
filters). Số lượng chỉ bao gồm những địa điểm phù hợp với tất cả các
điều kiện được xác định trong đối tượng JSON filters.
Ví dụ: Tính toán số lượng nhà hàng ở 3 quận của Thành phố New York
Ví dụ này tạo ra một bảng về số lượng nhà hàng đang hoạt động ở 3 quận của Thành phố New York.
Ví dụ này sử dụng tập dữ liệu công khai của Cục điều tra dân số Hoa Kỳ
trên BigQuery để lấy
ranh giới cho 3 quận ở Thành phố New York: "Queens", "Kings" và "New
York". Ranh giới của mỗi quận được chứa trong cột county_geom.
Trước tiên, chúng ta tạo một bảng tạm thời new_york_counties để lưu giữ geo_id và GEOGRAPHY đơn giản hoá cho mỗi quận.
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( ( SELECT county_name AS geo_id, ST_SIMPLIFY(county_geom, 100) AS geo FROM `bigquery-public-data.geo_us_boundaries.counties` WHERE state_fips_code = "36" -- New York State AND county_name IN ("Queens", "Kings", "New York") ), JSON_OBJECT( 'types', ["restaurant"], 'business_status', ['OPERATIONAL'] ) );
Bảng phản hồi sẽ có 3 hàng, mỗi hàng cho một quận, cho biết geo_id, input_geography, place_count và sample_place_ids của các nhà hàng đang hoạt động.

Lợi ích của việc sử dụng PLACES_COUNT_V2
PLACES_COUNT_V2 mang lại những lợi thế đáng kể so với cả PLACES_COUNT và
PLACES_COUNT_PER_GEO:
- Xử lý hàng loạt: Phân tích hiệu quả hàng nghìn khu vực địa lý tuỳ chỉnh trong một truy vấn bằng cách cung cấp nhiều dữ liệu đầu vào về khu vực địa lý trong một bảng.
- Hiệu suất: Sử dụng các phép nối không gian địa lý được tối ưu hoá của BigQuery mang lại lợi thế đáng kể về tốc độ cho các tập dữ liệu lớn.
- Khả năng mở rộng: Được thiết kế để xử lý một số lượng lớn khu vực địa lý đầu vào mà không bị giới hạn về kích thước tham số JSON duy nhất.
- Bao gồm số lượng bằng 0:
PLACES_COUNT_V2trả về một hàng cho mọigeo_idđược cung cấp trong bảng đầu vào. Nếu không có địa điểm nào phù hợp với tiêu chí cho một khu vực địa lý nhất định, thìplace_countsẽ là 0. Điều này đảm bảo bạn có kết quả cho từng khu vực đầu vào, để bạn có thể biết những nơi không có địa điểm.