PLACES_COUNT_V2 işlevi, belirtilen filtrelere göre birden fazla giriş coğrafyası için yer sayılarını ve örnek yer kimliklerini içeren bir BigQuery tablosu döndürür.
Bu işlev, coğrafi konumların giriş tablosu parametresini kabul ederek verimli toplu işleme için tasarlanmıştır. Bu sayede, coğrafi konumları bir giriş tablosu aracılığıyla sağlayarak tek bir sorguda birçok ilgi alanını analiz edebilirsiniz.
Söz dizimi
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`( TABLE input_geographies, filters )
Parametreler
PROJECT_NAME: Google Cloud projenizin adı.LINKED_DATASET_NAME: Places Insights işlevlerini içeren BigQuery veri kümesinin adı (ör.places_insights___us).input_geographies: Analiz edilecek coğrafi konumları içeren bir BigQuery tablosu. Bu tablo aşağıdaki sütunları içermelidir:filters(JSON): Yerleri filtrelemek için anahtar/değer çiftleri içeren bir JSON nesnesi. Filtre Parametreleri bölümüne bakın.
Çıkış Tablosu Şeması
PLACES_COUNT_V2 işlevi, aşağıdaki sütunları içeren bir tablo döndürür:
| Sütun Adı | Veri Türü | Açıklama |
|---|---|---|
geo_id |
STRING | input_geographies tablosundaki giriş coğrafyası için benzersiz tanımlayıcı. |
input_geography |
GEOGRAPHY | input_geographies tablosundaki orijinal GEOGRAPHY nesnesi. |
place_count |
INTEGER | Filtrelerle eşleşen yerlerin toplam sayısı. |
sample_place_ids |
ARRAY<STRING> | Ölçütlere uyan en fazla 250 yer kimliğinden oluşan bir dizi. |
İşleyiş şekli
İşlev, input_geographies tablosundaki her satırı işler. Her geo nesnesi için coğrafi bölgeye (veya geo bir nokta ise ve yarıçap filters içinde belirtilmişse geography_radius içine) giren yerlerin sayısı hesaplanır. Sayım yalnızca filters JSON nesnesinde tanımlanan tüm koşullara uyan yerleri içerir.
Örnek: New York City'nin üç ilçesindeki restoran sayısını hesaplama
Bu örnek, New York City'nin üç ilçesindeki faal restoranların sayısını içeren bir tablo oluşturur.
Bu örnekte, New York City'deki üç ilçenin sınırlarını ("Queens", "Kings" ve "New York") almak için United States Census Bureau
Data BigQuery herkese açık veri kümesi kullanılır. Her ilçenin sınırları county_geom sütununda yer alır.
Öncelikle her ilçe için geo_id ve basitleştirilmiş GEOGRAPHY değerlerini tutacak geçici bir tablo new_york_counties oluştururuz.
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'] ) );
Yanıt tablosunda her ilçe için bir satır olmak üzere üç satır bulunur. Bu satırlarda, faaliyetteki restoranların geo_id, input_geography, place_count ve sample_place_ids bilgileri gösterilir.

PLACES_COUNT_V2 kullanmanın avantajları
PLACES_COUNT_V2, hem PLACES_COUNT hem de PLACES_COUNT_PER_GEO'e kıyasla önemli avantajlar sunar:
- Toplu İşleme: Bir tabloda birden fazla coğrafi bölge girişi sağlayarak tek bir sorguda binlerce özel coğrafi bölgeyi verimli bir şekilde analiz edin.
- Performans: Büyük veri kümeleri için önemli hız avantajları sunan BigQuery'nin optimize edilmiş coğrafi birleştirme işlemlerinden yararlanır.
- Ölçeklenebilirlik: Tek bir JSON parametre boyutunun sınırlamaları olmadan çok sayıda giriş coğrafyasını işlemek için tasarlanmıştır.
- Sıfır Sayıları Dahil Edildi:
PLACES_COUNT_V2, giriş tablosunda sağlanan hergeo_idiçin bir satır döndürür. Belirli bir coğrafi bölgenin ölçütleriyle eşleşen yer yoksaplace_countdeğeri 0 olur. Bu sayede her giriş alanı için bir sonuç elde edersiniz ve yerlerin nerede olmadığını görebilirsiniz. - Geçmiş anlık görüntüler: İsteğe bağlı
snapshot_datefiltresini kullanarak belirli bir aya ait yer sayısı verilerini sorgulayın.
Örnek: Önceki bir aya ait ÖY sayılarını sorgulama
Bu örnekte, snapshot_date parametresi kullanılarak belirli konumlar için geçmiş ÖY sayılarının nasıl sorgulanacağı gösterilmektedir. max_ev_max_charge_rate_kw tarafından belirtilen elektrikli araç şarjı olanaklarına sahip yerlerin sonuçlarını belirli regular_opening_hours ile birlikte filtreler.
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')] ) ) );