Hàm Đếm địa điểm là các truy vấn SQL được xác định trước, chạy trong BigQuery và bổ sung cho việc truy vấn trực tiếp tập dữ liệu. Điểm khác biệt chính giữa việc truy vấn trực tiếp dữ liệu và sử dụng một hàm là các hàm không thực thi ngưỡng số lượng tối thiểu mà thay vào đó thực thi diện tích tìm kiếm tối thiểu:
- Truy vấn tập dữ liệu về địa điểm chỉ có thể trả về số lượng từ 5 trở lên, nhưng không áp dụng giới hạn về kích thước của khu vực tìm kiếm.
- Hàm Places Count có thể trả về mọi số lượng, kể cả 0, nhưng phải thực thi diện tích tìm kiếm tối thiểu là 40 m x 40 m (1.600 m2). Các hàm cũng có thể trả về Place IDs (Mã địa điểm). Bạn có thể dùng mã này để tra cứu thông tin về từng Địa điểm.
Bạn nên sử dụng hàm Places Count nếu cần biết thời điểm một cụm từ tìm kiếm không trả về kết quả hoặc nếu bạn cần biết số lượng địa điểm dưới 5. Thao tác này cũng hữu ích nếu bạn cần lấy thông tin về từng địa điểm để kiểm tra nhanh kết quả.
Các hàm Places Count chỉ cung cấp số lượng, vì vậy, nếu cần thực hiện các truy vấn phức tạp hơn như kết hợp dữ liệu hoặc nhận thêm thông tin chi tiết như điểm xếp hạng trung bình của một nhóm địa điểm, thì hãy truy vấn trực tiếp tập dữ liệu.
Các hàm và quốc gia được hỗ trợ cho số lượng địa điểm
Thông tin chi tiết về địa điểm hỗ trợ các chức năng sau:
-
PLACES_COUNT_V2: Trả về một bảng chứa số lượng địa điểm và Mã địa điểm mẫu. Hàm này chấp nhận tham số bảng cho dữ liệu đầu vào ở nhiều khu vực địa lý, cho phép xử lý hàng loạt hiệu quả. Hàm này được tối ưu hoá cao cho các phép kết hợp không gian địa lý so với các hàmPLACES_COUNTvàPLACES_COUNT_PER_GEO. -
PLACES_COUNT_PER_TYPE_V2: Trả về một bảng gồm số lượng địa điểm và Mã địa điểm mẫu, được phân loại theo loại địa điểm. Tương tự nhưPLACES_COUNT_V2, hàm này chấp nhận tham số bảng để xử lý đồng thời nhiều địa điểm đầu vào. Cấu trúc này hỗ trợ xử lý hàng loạt hiệu quả và cung cấp tính năng kết hợp không gian địa lý được tối ưu hoá so vớiPLACES_COUNT_PER_TYPE. PLACES_COUNT_PER_H3: Trả về một bảng BigQuery về số lượng địa điểm trên mỗi ô H3.PLACES_COUNT: Trả về một hàng chứa số lượng địa điểm.PLACES_COUNT_PER_TYPE: Trả về một bảng BigQuery về số lượng địa điểm theo từng loại địa điểm.PLACES_COUNT_PER_GEO: Trả về một bảng BigQuery gồm số lượng địa điểm theo từng khu vực địa lý.
Cùng với số lượng địa điểm, tất cả các hàm (ngoại trừ PLACES_COUNT) cũng trả về tối đa 250 mã địa điểm cho mỗi phần tử của phản hồi.
Bạn có thể sử dụng Mã địa điểm với:
Viết truy vấn bằng các hàm
Hãy dùng định dạng sau để gọi các hàm: [project name
(optional)].[table name].[function name].
Nếu bạn đã thay đổi tên tập dữ liệu được liên kết khi thiết lập Thông tin chi tiết về địa điểm, hãy sử dụng tên tuỳ chỉnh thay vì tên bảng mặc định được liệt kê trong phần Hàm đếm địa điểm tham chiếu trong BigQuery. Bạn cũng có thể tuỳ ý thêm tên dự án. Nếu không có dự án nào được đưa vào, truy vấn sẽ mặc định là dự án đang hoạt động.
Ví dụ:
PROJECT_NAME.places_insights___us.PLACES_COUNT
Sử dụng JSON_OBJECT để truyền các đối số vào hàm.
Lọc kết quả
Các hàm Places Count hỗ trợ nhiều bộ lọc để tinh chỉnh nội dung tìm kiếm. Các tham số này (ví dụ: price_level hoặc types) có phân biệt chữ hoa chữ thường và phải khớp chính xác với tên tham số. Xem tài liệu tham khảo về các tham số bộ lọc để biết danh sách đầy đủ các lựa chọn.
Trong ví dụ tiếp theo, bạn áp dụng bộ lọc để giới hạn phạm vi tìm kiếm theo điểm xếp hạng tối thiểu của người dùng, mức giá, trạng thái kinh doanh và việc nhà hàng có cho phép mang theo chó hay không, bằng cách sử dụng hàm PLACES_COUNT_V2.
Trước tiên, hãy sử dụng bảng vị trí địa lý đầu vào hoặc chuẩn bị một bảng có các vị trí địa lý đã chọn:
-- Create a table for the input geographies CREATE TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas` AS ( SELECT '1' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9857, 40.7484) AS geo -- Empire State Building UNION ALL SELECT '2' AS geo_id, -- Unique identifier ST_GEOGPOINT(-73.9851, 40.7580) AS geo -- Times Square );
Tiếp theo, hãy gọi PLACES_COUNT_V2 bằng bảng và đối tượng JSON chứa các bộ lọc. Bán kính tìm kiếm được đưa vào bộ lọc JSON và sẽ được áp dụng xung quanh mỗi điểm trong bảng my_search_areas.
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters around each point in 'geo' 'business_status', ['OPERATIONAL'], 'types', ["restaurant"], 'min_rating', 1.3, 'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'], 'allows_dogs', TRUE ) );
Ví dụ về hàm Đếm địa điểm
Ví dụ sau đây sử dụng hàm PLACES_COUNT_V2 với bảng địa lý đầu vào tuỳ chỉnh my_search_area để trả về số lượng nhà hàng đang hoạt động trong vòng 1.000 mét tính từ Toà nhà Empire State và Quảng trường Thời đại ở Thành phố New York:
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`( TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`, JSON_OBJECT( 'geography_radius', 1000, -- Radius in meters 'business_status', ['OPERATIONAL'], 'types', ["restaurant"] ) );
Phản hồi là một bảng BigQuery chứa geo_id, vị trí địa lý, số lượng và mẫu mã địa điểm.

Hình dung kết quả
Các công cụ phân tích và dữ liệu doanh nghiệp đóng vai trò quan trọng trong việc giúp bạn khám phá thông tin chi tiết từ dữ liệu BigQuery. BigQuery hỗ trợ một số công cụ trực quan hoá dữ liệu của Google và bên thứ ba mà bạn có thể dùng để phân tích kết quả của các hàm trên dữ liệu Thông tin chi tiết về địa điểm.
Để biết ví dụ về cách trực quan hoá kết quả của một hàm, hãy xem phần Trực quan hoá kết quả. Để biết thêm thông tin và ví dụ về cách trực quan hoá kết quả của Thông tin chi tiết về địa điểm, hãy xem phần Trực quan hoá kết quả truy vấn.
Giới hạn và yêu cầu
Hàm Places Count có các giới hạn và yêu cầu sau:
- Chỉ hỗ trợ thông tin chi tiết về
COUNT. - Bạn phải có diện tích tìm kiếm tối thiểu là 40 m x 40 m (1.600 m2).
- Giới hạn kích thước đầu vào của tham số: Đối tượng JSON được truyền dưới dạng tham số đến các hàm bị giới hạn ở mức 1 MB. Mức độ tác động của giới hạn này phụ thuộc vào phiên bản hàm:
- Đối với các hàm V2 (
PLACES_COUNT_V2,PLACES_COUNT_PER_TYPE_V2), giới hạn này chỉ áp dụng cho đối tượng JSON bộ lọc. Vì các địa điểm được cung cấp riêng bằng cách sử dụng một tham số bảng, nên các hàm này có thể mở rộng quy mô cho số lượng địa điểm đầu vào lớn hơn nhiều mà không đạt đến giới hạn kích thước JSON.- Đối với
PLACES_COUNT_PER_H3,PLACES_COUNT,PLACES_COUNT_PER_TYPEvàPLACES_COUNT_PER_GEO, giới hạn này áp dụng cho toàn bộ đối tượng JSON, bao gồm cả tất cả các định nghĩa về địa lý. Điều này có thể giới hạn số lượng vị trí địa lý có thể được xử lý trong một lệnh gọi.
- Đối với
- Không hỗ trợ lọc theo mã địa điểm, thương hiệu, lựa chọn sạc xe điện hoặc thành phần địa chỉ.
- Bạn chỉ có thể truy cập vào các hàm Places Count cho những thành phố và quốc gia mà bạn đã đăng ký. Hãy xem bài viết Thiết lập Thông tin chi tiết về địa điểm để biết cách truy cập vào tập dữ liệu.
- Các tham số bộ lọc (ví dụ:
geographyhoặctypes) có phân biệt chữ hoa chữ thường và phải khớp chính xác với tên tham số, nếu không truy vấn sẽ không thành công.
Tham chiếu các hàm Đếm địa điểm trong BigQuery
Tất cả các thành phố trong tập dữ liệu mẫu và tập dữ liệu đầy đủ của các quốc gia đều hỗ trợ các hàm Đếm địa điểm.
Bạn có quyền truy cập vào các hàm Places Count tương ứng với những tập dữ liệu về thành phố và quốc gia mà bạn đã đăng ký. Hãy xem bài viết Thiết lập Places Insights để biết cách truy cập vào tập dữ liệu.
Các bảng này liệt kê những thành phố, quốc gia có sẵn và tên bảng tương ứng.
Dữ liệu mẫu
| Thành phố, Quốc gia | Tên bảng |
|---|---|
| Buenos Aires, Argentina | places_insights___ar___sample.FUNCTION_NAME |
| Sydney, Úc | places_insights___au___sample.FUNCTION_NAME |
| Bad Gastein, Áo | places_insights___at___sample.FUNCTION_NAME |
| Riffa, Bahrain | places_insights___bh___sample.FUNCTION_NAME |
| Brussels, Bỉ | places_insights___be___sample.FUNCTION_NAME |
| Sao Paulo, Brazil | places_insights___br___sample.FUNCTION_NAME |
| Plovdiv, Bulgaria | places_insights___bg___sample.FUNCTION_NAME |
| Toronto, Canada | places_insights___ca___sample.FUNCTION_NAME |
| Santiago, Chi Lê | places_insights___cl___sample.FUNCTION_NAME |
| Medellín, Colombia | places_insights___co___sample.FUNCTION_NAME |
| Brno, Cộng hoà Séc | places_insights___cz___sample.FUNCTION_NAME |
| Copenhagen, Đan Mạch | places_insights___dk___sample.FUNCTION_NAME |
| Cairo, Ai Cập | places_insights___eg___sample.FUNCTION_NAME |
| Helsinki, Phần Lan | places_insights___fi___sample.FUNCTION_NAME |
| Paris, Pháp | places_insights___fr___sample.FUNCTION_NAME |
| Berlin, Đức | places_insights___de___sample.FUNCTION_NAME |
| Athens, Hy Lạp | places_insights___gr___sample.FUNCTION_NAME |
| Hong Kong, Hong Kong | places_insights___hk___sample.FUNCTION_NAME |
| Debrecen, Hungary | places_insights___hu___sample.FUNCTION_NAME |
| Mumbai, Ấn Độ | places_insights___in___sample.FUNCTION_NAME |
| Jakarta, Indonesia | places_insights___id___sample.FUNCTION_NAME |
| Cork, Ireland | places_insights___ie___sample.FUNCTION_NAME |
| Tel Aviv-Yafo, Israel | places_insights___il___sample.FUNCTION_NAME |
| Rome, Ý | places_insights___it___sample.FUNCTION_NAME |
| Tokyo, Nhật Bản | places_insights___jp___sample.FUNCTION_NAME |
| Busan, Hàn Quốc | places_insights___kr___sample.FUNCTION_NAME |
| Kuala Lumpur, Malaysia | places_insights___my___sample.FUNCTION_NAME |
| Thành phố Mexico, Mexico | places_insights___mx___sample.FUNCTION_NAME |
| Amsterdam, Hà Lan | places_insights___nl___sample.FUNCTION_NAME |
| Wellington, New Zealand | places_insights___nz___sample.FUNCTION_NAME |
| Oslo, Na Uy | places_insights___no___sample.FUNCTION_NAME |
| Arequipa, Peru | places_insights___pe___sample.FUNCTION_NAME |
| Manila, Philippines | places_insights___ph___sample.FUNCTION_NAME |
| Warsaw, Ba Lan | places_insights___pl___sample.FUNCTION_NAME |
| Lisbon, Bồ Đào Nha | places_insights___pt___sample.FUNCTION_NAME |
| Lusail, Qatar | places_insights___qa___sample.FUNCTION_NAME |
| Bucharest, Romania | places_insights___ro___sample.FUNCTION_NAME |
| Jeddah, Ả Rập Xê Út | places_insights___sa___sample.FUNCTION_NAME |
| Singapore, Singapore | places_insights___sg___sample.FUNCTION_NAME |
| Johannesburg, Nam Phi | places_insights___za___sample.FUNCTION_NAME |
| Madrid, Tây Ban Nha | places_insights___es___sample.FUNCTION_NAME |
| Stockholm, Thụy Điển | places_insights___se___sample.FUNCTION_NAME |
| Zurich, Thuỵ Sĩ | places_insights___ch___sample.FUNCTION_NAME |
| Đài Bắc, Đài Loan | places_insights___tw___sample.FUNCTION_NAME |
| Chiang Mai, Thái Lan | places_insights___th___sample.FUNCTION_NAME |
| Ankara, Thổ Nhĩ Kỳ | places_insights___tr___sample.FUNCTION_NAME |
| Sharjah, Các Tiểu vương quốc Ả Rập Thống nhất | places_insights___ae___sample.FUNCTION_NAME |
| London, Vương quốc Anh | places_insights___gb___sample.FUNCTION_NAME |
| Thành phố New York, Hoa Kỳ | places_insights___us___sample.FUNCTION_NAME |
| Hà Nội thuộc Việt Nam | places_insights___vn___sample.FUNCTION_NAME |
Đầy đủ dữ liệu
| Quốc gia | Tên bảng |
|---|---|
| Argentina | places_insights___ar.FUNCTION_NAME |
| Úc | places_insights___au.FUNCTION_NAME |
| Áo | places_insights___at.FUNCTION_NAME |
| Bahrain | places_insights___bh.FUNCTION_NAME |
| Bỉ | places_insights___be.FUNCTION_NAME |
| Brazil | places_insights___br.FUNCTION_NAME |
| Bulgaria | places_insights___bg.FUNCTION_NAME |
| Canada | places_insights___ca.FUNCTION_NAME |
| Chile | places_insights___cl.FUNCTION_NAME |
| Colombia | places_insights___co.FUNCTION_NAME |
| Séc | places_insights___cz.FUNCTION_NAME |
| Đan Mạch | places_insights___dk.FUNCTION_NAME |
| Ai Cập | places_insights___eg.FUNCTION_NAME |
| Phần Lan | places_insights___fi.FUNCTION_NAME |
| Pháp | places_insights___fr.FUNCTION_NAME |
| Đức | places_insights___de.FUNCTION_NAME |
| Hy Lạp | places_insights___gr.FUNCTION_NAME |
| Hồng Kông | places_insights___hk.FUNCTION_NAME |
| Hungary | places_insights___hu.FUNCTION_NAME |
| Ấn Độ | places_insights___in.FUNCTION_NAME |
| Indonesia | places_insights___id.FUNCTION_NAME |
| Ireland | places_insights___ie.FUNCTION_NAME |
| Israel | places_insights___il.FUNCTION_NAME |
| Ý | places_insights___it.FUNCTION_NAME |
| Nhật Bản | places_insights___jp.FUNCTION_NAME |
| Malaysia | places_insights___my.FUNCTION_NAME |
| Mexico | places_insights___mx.FUNCTION_NAME |
| Hà Lan | places_insights___nl.FUNCTION_NAME |
| New Zealand | places_insights___nz.FUNCTION_NAME |
| Na Uy | places_insights___no.FUNCTION_NAME |
| Peru | places_insights___pe.FUNCTION_NAME |
| Philippines | places_insights___ph.FUNCTION_NAME |
| Ba Lan | places_insights___pl.FUNCTION_NAME |
| Bồ Đào Nha | places_insights___pt.FUNCTION_NAME |
| Qatar | places_insights___qa.FUNCTION_NAME |
| Romania | places_insights___ro.FUNCTION_NAME |
| Ả Rập Xê Út | places_insights___sa.FUNCTION_NAME |
| Singapore | places_insights___sg.FUNCTION_NAME |
| Nam Phi | places_insights___za.FUNCTION_NAME |
| Hàn Quốc | places_insights___kr.FUNCTION_NAME |
| Tây Ban Nha | places_insights___es.FUNCTION_NAME |
| Thuỵ Điển | places_insights___se.FUNCTION_NAME |
| Thuỵ Sĩ | places_insights___ch.FUNCTION_NAME |
| Đài Loan | places_insights___tw.FUNCTION_NAME |
| Thái Lan | places_insights___th.FUNCTION_NAME |
| Thổ Nhĩ Kỳ | places_insights___tr.FUNCTION_NAME |
| Các Tiểu Vương quốc Ả Rập Thống nhất | places_insights___ae.FUNCTION_NAME |
| Vương quốc Anh | places_insights___gb.FUNCTION_NAME |
| Hoa Kỳ | places_insights___us.FUNCTION_NAME |
| Việt Nam | places_insights___vn.FUNCTION_NAME |