PLACES_COUNT_V2 işlevi

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, giriş tablosu aracılığıyla coğrafi konumları 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:
    • geo_id (STRING): Her coğrafi bölge için benzersiz bir tanımlayıcı.
    • geo (GEOGRAPHY): Alanı temsil eden BigQuery GEOGRAPHY nesnesi. Bu bir nokta, poligon veya başka bir coğrafya türü olabilir.
  • 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ğrafi konumu 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 restoran sayısının yer aldığı bir tablo oluşturur.

Bu örnekte, New York City'deki üç ilçenin sınırlarını almak için United States Census Bureau Data BigQuery herkese açık veri kümesi kullanılır: "Queens", "Kings" ve "New York". 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.

New York ilçelerindeki Yer Sayısı işlevinin sonuçları.

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 Edilir: PLACES_COUNT_V2, giriş tablosunda sağlanan her geo_id için bir satır döndürür. Belirli bir coğrafi bölgenin ölçütleriyle eşleşen yer yoksa place_count değeri 0 olur. Bu sayede, her giriş alanı için bir sonuç elde edersiniz ve yerlerin nerede olmadığını görebilirsiniz.