Fungsi PLACES_COUNT_V2 menampilkan tabel BigQuery yang berisi jumlah tempat dan contoh ID Tempat untuk beberapa geografi input berdasarkan filter yang ditentukan.
Fungsi ini dirancang untuk pemrosesan batch yang efisien dengan menerima parameter
tabel
input
geografi, sehingga Anda dapat menganalisis banyak area yang diminati dalam satu kueri
dengan memberikan geografi melalui tabel input.
Sintaksis
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`( TABLE input_geographies, filters )
Parameter
PROJECT_NAME: Nama project Google Cloud Anda.LINKED_DATASET_NAME: Nama set data BigQuery yang berisi fungsi Places Insights (misalnya,places_insights___us).input_geographies: Tabel BigQuery yang berisi geografi yang akan dianalisis. Tabel ini harus menyertakan kolom berikut:filters(JSON): Objek JSON yang berisi key-value pair untuk memfilter tempat. Lihat Parameter Filter.
Skema Tabel Output
Fungsi PLACES_COUNT_V2 menampilkan tabel dengan kolom berikut:
| Nama Kolom | Jenis Data | Deskripsi |
|---|---|---|
geo_id |
STRING | ID unik untuk geografi input, dari tabel input_geographies. |
input_geography |
GEOGRAPHY | Objek GEOGRAPHY asli dari tabel input_geographies. |
place_count |
INTEGER | Total jumlah tempat yang cocok dengan filter. |
sample_place_ids |
ARRAY<STRING> | Array hingga 250 ID Tempat yang cocok dengan kriteria. |
Cara kerjanya
Fungsi ini memproses setiap baris dalam tabel input_geographies. Untuk setiap objek geo, jumlah tempat yang berada dalam geografi (atau dalam geography_radius jika geo adalah titik dan radius ditentukan dalam filters) dihitung. Jumlah tersebut hanya mencakup tempat yang cocok dengan semua kondisi yang ditentukan dalam objek JSON filters.
Contoh: Hitung jumlah restoran di tiga wilayah New York City
Contoh ini membuat tabel jumlah restoran yang beroperasi di tiga wilayah di New York City.
Contoh ini menggunakan set data publik BigQuery United States Census Bureau
Data
untuk mendapatkan
batas tiga wilayah di New York City: "Queens", "Kings", dan "New
York". Batas setiap county terdapat di kolom county_geom.
Pertama, kita membuat tabel sementara new_york_counties untuk menyimpan geo_id dan
GEOGRAPHY yang disederhanakan untuk setiap county.
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'] ) );
Tabel respons akan memiliki tiga baris, satu untuk setiap county, yang menampilkan
geo_id, input_geography, place_count, dan sample_place_ids dari
restoran yang beroperasi.

Manfaat menggunakan PLACES_COUNT_V2
PLACES_COUNT_V2 menawarkan keunggulan signifikan dibandingkan PLACES_COUNT dan
PLACES_COUNT_PER_GEO:
- Pemrosesan Batch: Analisis ribuan geografi kustom secara efisien dalam satu kueri dengan memberikan beberapa input geografi dalam tabel.
- Performa: Memanfaatkan gabungan geospasial BigQuery yang dioptimalkan yang menawarkan keunggulan kecepatan yang signifikan untuk set data besar.
- Skalabilitas: Dirancang untuk menangani sejumlah besar geografi input tanpa batasan ukuran parameter JSON tunggal.
- Jumlah Nol Disertakan:
PLACES_COUNT_V2menampilkan baris untuk setiapgeo_idyang diberikan dalam tabel input. Jika tidak ada tempat yang cocok dengan kriteria untuk geografi tertentu,place_countakan menjadi 0. Hal ini memastikan Anda memiliki hasil untuk setiap area input, sehingga Anda dapat melihat tempat yang tidak ada. - Snapshot historis: Kueri data jumlah tempat dari bulan tertentu menggunakan filter
snapshot_dateopsional.
Contoh: Mengueri jumlah POI dari bulan sebelumnya
Contoh ini menunjukkan cara mengkueri jumlah POI historis untuk lokasi tertentu menggunakan parameter snapshot_date. Hasil akan difilter untuk tempat dengan fasilitas pengisian daya kendaraan listrik yang ditentukan oleh max_ev_max_charge_rate_kw bersama dengan regular_opening_hours tertentu.
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( 'geography_radius', 5000, 'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM) 'max_ev_max_charge_rate_kw', 30.0, -- Filter by EV charge rate in kW 'regular_opening_hours', JSON_OBJECT( 'monday', [JSON_OBJECT('start_time', '09:00', 'end_time', '12:00')] ) ) );