ฟังก์ชัน PLACES_COUNT_V2 จะแสดงผลตาราง BigQuery ที่มีจำนวนสถานที่และรหัสสถานที่ตัวอย่างสำหรับภูมิศาสตร์อินพุตหลายรายการตามตัวกรองที่ระบุ
ฟังก์ชันนี้ออกแบบมาเพื่อการประมวลผลแบบกลุ่มที่มีประสิทธิภาพโดยการยอมรับ an input
table
parameter
of geographies ซึ่งช่วยให้คุณวิเคราะห์พื้นที่ที่สนใจหลายแห่งในการค้นหาครั้งเดียวได้
โดยการระบุภูมิศาสตร์ผ่านตารางอินพุต
ไวยากรณ์
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`( TABLE input_geographies, filters )
พารามิเตอร์
PROJECT_NAME: ชื่อโปรเจ็กต์ Google CloudLINKED_DATASET_NAME: ชื่อชุดข้อมูล BigQuery ที่มีฟังก์ชันข้อมูลเชิงลึกเกี่ยวกับสถานที่ (เช่นplaces_insights___us)input_geographies: ตาราง 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) การนับจะรวมเฉพาะสถานที่ที่ตรงกับเงื่อนไข
ทั้งหมดที่กำหนดใน filters ออบเจ็กต์ JSON
ตัวอย่าง: คำนวณจำนวนร้านอาหารใน 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_V2
PLACES_COUNT_V2 มีข้อดีที่สำคัญกว่าทั้ง PLACES_COUNT และ
PLACES_COUNT_PER_GEO ดังนี้
- การประมวลผลแบบกลุ่ม: วิเคราะห์ภูมิศาสตร์ที่กำหนดเองหลายพันรายการได้อย่างมีประสิทธิภาพในการค้นหาครั้งเดียวโดยการระบุอินพุตภูมิศาสตร์หลายรายการในตาราง
- ประสิทธิภาพ: ใช้การรวมเชิงพื้นที่ที่ได้รับการเพิ่มประสิทธิภาพของ BigQuery ซึ่งช่วยเพิ่มความเร็วได้อย่างมากสำหรับชุดข้อมูลขนาดใหญ่
- ความสามารถในการปรับขนาด: ออกแบบมาเพื่อจัดการภูมิศาสตร์อินพุตจำนวนมากโดยไม่มีข้อจำกัดด้านขนาดพารามิเตอร์ JSON รายการเดียว
- รวมการนับเป็น 0:
PLACES_COUNT_V2จะแสดงผลแถวสำหรับgeo_idทุกรายการที่ระบุไว้ในตารางอินพุต หากไม่มีสถานที่ที่ตรงกับเกณฑ์สำหรับภูมิศาสตร์ที่กำหนดplace_countจะเป็น 0 ซึ่งจะช่วยให้คุณได้รับผลลัพธ์สำหรับพื้นที่อินพุตแต่ละรายการ คุณจึงดูได้ว่าไม่มีสถานที่ใดบ้าง - ข้อมูลย้อนหลัง: ค้นหาข้อมูลจำนวนสถานที่จากเดือนที่เฉพาะเจาะจงโดยใช้ตัวกรอง
snapshot_dateที่ไม่บังคับ
ตัวอย่าง: ค้นหาจำนวนจุดที่น่าสนใจจากเดือนก่อนหน้า
ตัวอย่างนี้แสดงวิธีการค้นหาจำนวนจุดที่น่าสนใจย้อนหลังสำหรับสถานที่ที่เฉพาะเจาะจงโดยใช้พารามิเตอร์ snapshot_date โดยจะกรองผลลัพธ์สำหรับสถานที่ที่มีสิ่งอำนวยความสะดวกในการชาร์จรถยนต์ไฟฟ้าที่ระบุโดย max_ev_max_charge_rate_kw ควบคู่ไปกับ regular_opening_hours ที่เฉพาะเจาะจง
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')] ) ) );