Fungsi PLACES_COUNT_V2 menampilkan tabel BigQuery yang berisi jumlah tempat dan ID Tempat sampel untuk beberapa geografi input berdasarkan filter yang ditentukan.
Fungsi ini dirancang untuk batch processing 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 untuk dianalisis. Tabel ini harus menyertakan kolom berikut:filters(JSON): Objek JSON yang berisi pasangan nilai kunci 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 geo
objek, fungsi ini menghitung jumlah tempat yang berada dalam geografi (atau dalam
geography_radius jika geo adalah titik dan radius ditentukan dalam
filters). Jumlah tersebut hanya mencakup tempat yang cocok dengan semua
kondisi yang ditentukan dalam objek JSON filters.
Contoh: Menghitung jumlah restoran di tiga wilayah New York City
Contoh ini membuat tabel jumlah restoran yang beroperasi di tiga wilayah 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 wilayah terdapat di kolom county_geom.
Pertama, kita membuat tabel sementara new_york_counties untuk menyimpan geo_id dan GEOGRAPHY yang disederhanakan untuk setiap wilayah.
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 wilayah, yang menampilkan geo_id, input_geography, place_count, dan sample_place_ids restoran yang beroperasi.

Manfaat menggunakan PLACES_COUNT_V2
PLACES_COUNT_V2 menawarkan manfaat signifikan dibandingkan PLACES_COUNT dan
PLACES_COUNT_PER_GEO:
- Pemrosesan Batch: Menganalisis ribuan geografi kustom secara efisien dalam satu kueri dengan menyediakan beberapa input geografi dalam tabel.
- Performa: Menggunakan gabungan geospatial 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 disediakan 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: Membuat kueri data jumlah tempat dari bulan tertentu menggunakan filter
snapshot_dateopsional.
Contoh: Membuat kueri jumlah POI dari bulan sebelumnya
Contoh ini menunjukkan cara membuat kueri jumlah POI historis untuk lokasi tertentu menggunakan parameter snapshot_date. Contoh ini memfilter hasil 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')] ) ) );