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 địa điểm đầu vào dựa trên các bộ lọc được chỉ định.
Hàm này được thiết kế để xử lý hàng loạt một cách hiệu quả bằng cách chấp nhận một tham số bảng đầu vào về 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 duy nhất 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 có các cột sau:filters(JSON): Một đối tượng JSON chứa các cặp khoá-giá trị để lọc các địa điểm. Xem Tham số bộ lọc.
Giản đồ 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 của địa lý đầu vào, từ bảng input_geographies. |
input_geography |
GEOGRAPHY | Đối tượng GEOGRAPHY ban đầu trong bảng input_geographies. |
place_count |
INTEGER | Tổng số địa điểm phù hợp với bộ lọc. |
sample_place_ids |
ARRAY<STRING> | Một mảng gồm 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 đối tượng geo, đối tượng này sẽ đếm số lượng địa điểm nằm trong khu vực địa lý (hoặc trong geography_radius nếu geo là một điểm và bán kính được chỉ định trong filters). Số lượng này chỉ bao gồm những địa điểm đáp ứng tất cả các điều kiện được xác định trong đối tượng JSON filters.
Ví dụ: Tính 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 Dữ liệu của Cục Thống kê Dân số Hoa Kỳ tập dữ liệu công khai BigQuery để lấy ranh giới của 3 quận ở Thành phố New York: "Queens", "Kings" và "New York". Ranh giới của mỗi quận nằm 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 trữ geo_id và GEOGRAPHY được đơ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 kết hợp 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 các vị trí địa lý đầu vào mà không bị giới hạn về kích thước tham số JSON đơn lẻ.
- 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 đáp ứng 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 vùng đầu vào, nhờ đó, bạn có thể biết những nơi không có.