Fungsi PLACES_COUNT_V2

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 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:
    • geo_id (STRING): ID unik untuk setiap geografi.
    • geo (GEOGRAPHY): Objek GEOGRAPHY BigQuery yang merepresentasikan area. Ini bisa berupa titik, poligon, atau jenis geografi lainnya.
  • 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 ini hanya mencakup tempat yang cocok dengan semua kondisi yang ditentukan dalam objek JSON filters.

Contoh: Hitung jumlah restoran di tiga wilayah Kota New York

Contoh ini membuat tabel jumlah restoran yang beroperasi di tiga county di New York City.

Contoh ini menggunakan set data publik BigQuery Data Biro Sensus Amerika Serikat 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.

Hasil untuk fungsi Jumlah Tempat di wilayah New York.

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_V2 menampilkan baris untuk setiap geo_id yang diberikan dalam tabel input. Jika tidak ada tempat yang cocok dengan kriteria untuk geografi tertentu, place_count akan menjadi 0. Hal ini memastikan Anda memiliki hasil untuk setiap area input, sehingga Anda dapat melihat tempat yang tidak ada.