ฟังก์ชัน PLACES_COUNT_V2

ฟังก์ชัน PLACES_COUNT_V2 จะแสดงผลตาราง BigQuery ที่มีจำนวนสถานที่ และรหัสสถานที่ตัวอย่างสำหรับภูมิศาสตร์อินพุตหลายรายการตามตัวกรองที่ระบุ ฟังก์ชันนี้ออกแบบมาเพื่อการประมวลผลแบบกลุ่มที่มีประสิทธิภาพโดยยอมรับพารามิเตอร์ตาราง อินพุต ของภูมิศาสตร์ ซึ่งช่วยให้คุณวิเคราะห์พื้นที่ที่สนใจหลายแห่งในการค้นหาเดียวได้ โดยระบุภูมิศาสตร์ผ่านตารางอินพุต

ไวยากรณ์

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`(
  TABLE input_geographies,
  filters
)

พารามิเตอร์

  • PROJECT_NAME: ชื่อโปรเจ็กต์ Google Cloud
  • LINKED_DATASET_NAME: ชื่อชุดข้อมูล BigQuery ที่มีฟังก์ชันข้อมูลเชิงลึกเกี่ยวกับสถานที่ (เช่น places_insights___us)
  • input_geographies: ตาราง BigQuery ที่มีภูมิศาสตร์ที่จะวิเคราะห์ ตารางนี้ต้องมีคอลัมน์ต่อไปนี้
    • geo_id (STRING): ตัวระบุที่ไม่ซ้ำกันสำหรับแต่ละภูมิศาสตร์
    • geo (GEOGRAPHY): ออบเจ็กต์ GEOGRAPHY ของ BigQuery ที่แสดงพื้นที่ ซึ่งอาจเป็นจุด รูปหลายเหลี่ยม หรือประเภทภูมิศาสตร์อื่นๆ
  • filters (JSON): ออบเจ็กต์ JSON ที่มีคู่คีย์-ค่าสำหรับการกรองสถานที่ ดูพารามิเตอร์ตัวกรอง

สคีมาของตารางเอาต์พุต

ฟังก์ชัน PLACES_COUNT_V2 จะแสดงผลตารางที่มีคอลัมน์ต่อไปนี้

ชื่อคอลัมน์ ประเภทข้อมูล คำอธิบาย
geo_id STRING ตัวระบุที่ไม่ซ้ำกันสำหรับภูมิศาสตร์อินพุตจากตาราง input_geographies
input_geography GEOGRAPHY ออบเจ็กต์ GEOGRAPHY เดิมจากตาราง input_geographies
place_count INTEGER จำนวนสถานที่ทั้งหมดที่ตรงกับตัวกรอง
sample_place_ids ARRAY<STRING> อาร์เรย์ของรหัสสถานที่สูงสุด 250 รายการที่ตรงกับเกณฑ์

วิธีการทำงาน

ฟังก์ชันจะประมวลผลแต่ละแถวในตาราง input_geographies สำหรับออบเจ็กต์ geo แต่ละรายการ ระบบจะนับจำนวนสถานที่ที่อยู่ในภูมิศาสตร์ (หรือภายใน geography_radius หาก geo เป็นจุดและมีการระบุรัศมีใน filters) การนับจะรวมเฉพาะสถานที่ที่ตรงกับเงื่อนไขทั้งหมดที่กำหนดไว้ในออบเจ็กต์ JSON ของ filters

ตัวอย่าง: คำนวณจำนวนร้านอาหารใน 3 เขตของนิวยอร์กซิตี้

ตัวอย่างนี้สร้างตารางจำนวนร้านอาหารที่เปิดให้บริการใน 3 เขต ของนครนิวยอร์ก

ตัวอย่างนี้ใช้สำนักสำรวจสำมะโนประชากรสหรัฐอเมริกา ข้อมูล ชุดข้อมูลสาธารณะ BigQuery เพื่อรับ ขอบเขตของ 3 เขตในนิวยอร์กซิตี้ ได้แก่ "ควีนส์" "คิงส์" และ "นิวยอร์ก" ขอบเขตของแต่ละเทศมณฑลจะอยู่ในคอลัมน์ county_geom

ก่อนอื่นเราจะสร้างตารางชั่วคราว new_york_counties เพื่อเก็บ geo_id และGEOGRAPHY แบบย่อสำหรับแต่ละเทศมณฑล

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']
  )
);

ตารางการตอบกลับจะมี 3 แถว แถวละ 1 แถวสำหรับแต่ละเทศมณฑล โดยจะแสดง geo_id, input_geography, place_count และ sample_place_ids ของ ร้านอาหารที่เปิดให้บริการ

ผลลัพธ์สำหรับฟังก์ชัน Places Count ในเขตของนิวยอร์ก

ประโยชน์ของการใช้ PLACES_COUNT_V2

PLACES_COUNT_V2 มีข้อได้เปรียบที่สำคัญมากกว่าทั้ง PLACES_COUNT และ PLACES_COUNT_PER_GEO ดังนี้

  • การประมวลผลเป็นกลุ่ม: วิเคราะห์ภูมิศาสตร์ที่กำหนดเองหลายพันรายการในการค้นหาเดียวได้อย่างมีประสิทธิภาพโดยระบุข้อมูลภูมิศาสตร์หลายรายการในตาราง
  • ประสิทธิภาพ: ใช้การรวมเชิงพื้นที่ที่ได้รับการเพิ่มประสิทธิภาพของ BigQuery ซึ่งให้ข้อได้เปรียบด้านความเร็วอย่างมากสำหรับชุดข้อมูลขนาดใหญ่
  • ความสามารถในการปรับขนาด: ออกแบบมาเพื่อรองรับข้อมูลทางภูมิศาสตร์จำนวนมากโดยไม่มีข้อจำกัดด้านขนาดพารามิเตอร์ JSON เดียว
  • รวมจำนวนเป็น 0: PLACES_COUNT_V2 จะแสดงแถวสำหรับทุก geo_id ที่ระบุในตารางอินพุต หากไม่มีสถานที่ที่ตรงกับเกณฑ์สำหรับ ภูมิศาสตร์ที่ระบุ place_count จะเป็น 0 วิธีนี้ช่วยให้คุณมีผลลัพธ์สำหรับ แต่ละพื้นที่ป้อนข้อมูล เพื่อให้คุณเห็นว่าไม่มีสถานที่ใด