ฟังก์ชัน PLACES_COUNT_PER_TYPE_V2 จะแสดงผลตาราง BigQuery ที่มีจำนวนสถานที่และรหัสสถานที่ตัวอย่าง โดยแยกตามประเภทสถานที่สำหรับภูมิศาสตร์ที่ป้อนหลายรายการ ฟังก์ชันนี้ออกแบบมาเพื่อการประมวลผลแบบกลุ่มที่มีประสิทธิภาพโดยยอมรับพารามิเตอร์ตารางอินพุตของภูมิศาสตร์ คุณระบุภูมิศาสตร์ผ่านตารางอินพุตและระบุประเภทสถานที่ในรูปแบบอาร์เรย์
ไวยากรณ์
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_TYPE_V2`( TABLE input_geographies, target_types, filters )
พารามิเตอร์
PROJECT_NAME: ชื่อโปรเจ็กต์ Google CloudLINKED_DATASET_NAME: ชื่อชุดข้อมูล BigQuery ที่มีฟังก์ชันข้อมูลเชิงลึกเกี่ยวกับสถานที่ (เช่นplaces_insights___us)input_geographies: ตาราง BigQuery ที่มีภูมิศาสตร์ที่จะวิเคราะห์ ตารางนี้ต้องมีคอลัมน์ต่อไปนี้target_types(ARRAY<STRING>): อาร์เรย์ของสตริงประเภทสถานที่ที่คุณต้องการนับจำนวน ระบบจะนับสถานที่หากตรงกับประเภทใดก็ได้ที่แสดงในอาร์เรย์typesไม่ใช่แค่primary_typefilters(JSON): ออบเจ็กต์ JSON ที่มีคู่คีย์-ค่าสำหรับการกรองสถานที่เพิ่มเติม ดูพารามิเตอร์ตัวกรอง
สคีมาของตารางเอาต์พุต
ฟังก์ชัน PLACES_COUNT_PER_TYPE_V2 จะแสดงผลตารางที่มีคอลัมน์ต่อไปนี้
| ชื่อคอลัมน์ | ประเภทข้อมูล | คำอธิบาย |
|---|---|---|
geo_id |
STRING | ตัวระบุที่ไม่ซ้ำกันสำหรับภูมิศาสตร์อินพุตจากตาราง input_geographies |
input_geography |
GEOGRAPHY | ออบเจ็กต์ GEOGRAPHY เดิมจากตาราง input_geographies |
place_type |
STRING | ประเภทสถานที่จากอาร์เรย์ target_types ที่แถวนี้แสดง |
place_count |
INTEGER | จำนวนสถานที่ที่ตรงกับ place_type และตัวกรองอื่นๆ ภายในหรือใกล้กับภูมิศาสตร์ |
sample_place_ids |
ARRAY<STRING> | อาร์เรย์ของรหัสสถานที่สูงสุด 250 รายการที่ตรงกับเกณฑ์สำหรับประเภทและภูมิศาสตร์นี้ |
เอาต์พุตจะมีแถวสำหรับชุดค่าผสมของ geo_id และ place_type แต่ละชุดที่ระบุไว้ในอาร์เรย์ target_types แม้ว่าจำนวนจะเป็น 0 ก็ตาม
วิธีการทำงาน
ฟังก์ชันจะประมวลผลแต่ละภูมิศาสตร์ที่ระบุไว้ในตาราง input_geographies
สำหรับแต่ละภูมิศาสตร์ ระบบจะนับสถานที่ที่ตรงกับประเภทใดก็ได้ที่แสดงในอาร์เรย์ target_types และเป็นไปตามเงื่อนไขทั้งหมดในออบเจ็กต์ JSON filters ด้วย ผลลัพธ์จะรวบรวมและแจกแจงตาม geo_id แต่ละรายการและแต่ละประเภทใน target_types
ตัวอย่าง: นับจำนวนร้านอาหารประเภทต่างๆ ในเขตต่างๆ ของนิวยอร์กซิตี้
ตัวอย่างนี้จะสร้างตารางจำนวนสำหรับประเภท "ร้านอาหาร" "คาเฟ่" และ "บาร์" ใน 3 เขตของนิวยอร์กซิตี้
SELECT geo_id, input_geography, place_type, place_count FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE_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") ), ['restaurant', 'cafe', 'bar'], -- target_types JSON_OBJECT( 'business_status', ['OPERATIONAL'] ) );
ผลลัพธ์จะเป็นตารางที่มี 9 แถว (3 เขต * 3 ประเภท) แต่ละแถวจะแสดงจำนวนสถานประกอบการ "ร้านอาหาร" "คาเฟ่" หรือ "บาร์" ภายในแต่ละเขต นอกจากนี้ คุณยังใส่รหัสสถานที่ตัวอย่างได้หากเพิ่มรหัสดังกล่าวลงในคำสั่ง SELECT

ประโยชน์ของการใช้ PLACES_COUNT_PER_TYPE_V2
PLACES_COUNT_PER_TYPE_V2 มีข้อดีหลักๆ หลายประการ โดยเฉพาะเมื่อเทียบกับฟังก์ชัน PLACES_COUNT_PER_TYPE ที่เก่ากว่า ดังนี้
- การประมวลผลภูมิศาสตร์แบบกลุ่ม:
PLACES_COUNT_PER_TYPE_V2ต่างจากPLACES_COUNT_PER_TYPEที่ประมวลผลภูมิศาสตร์ทีละรายการ โดยจะยอมรับTABLEของภูมิศาสตร์ที่ป้อนเข้ามา ซึ่งจะช่วยให้คุณวิเคราะห์และรับจำนวนที่เจาะจงประเภทในพื้นที่ทางภูมิศาสตร์ต่างๆ (จุด รูปหลายเหลี่ยม) ได้ในการค้นหาเดียว แทนที่จะเรียกใช้ฟังก์ชันหลายครั้ง - ประสิทธิภาพและความสามารถในการปรับขนาดที่เพิ่มขึ้น: การรับอินพุตตารางช่วยให้
PLACES_COUNT_PER_TYPE_V2สามารถใช้ประโยชน์จากการรวมเชิงภูมิสารสนเทศที่เพิ่มประสิทธิภาพของ BigQuery และความสามารถในการประมวลผลแบบขนานในทุกภูมิศาสตร์ที่ระบุพร้อมกัน ซึ่งจะช่วยปรับปรุงประสิทธิภาพได้อย่างมากและมีความสามารถในการปรับขนาดได้ดีขึ้นเมื่อต้องจัดการกับพื้นที่ทางภูมิศาสตร์จำนวนมาก - รวมจำนวนที่เป็นศูนย์: แสดงผลแถวที่มีจำนวนเป็น 0 สำหรับประเภทที่ไม่พบในพื้นที่ที่เฉพาะเจาะจงภายในกลุ่ม เพื่อให้มั่นใจว่าชุดผลลัพธ์จะสมบูรณ์สำหรับการรวมประเภทและภูมิศาสตร์ทั้งหมด
- ภาพรวมย้อนหลัง: ค้นหาข้อมูลจำนวนสถานที่จากเดือนที่เฉพาะเจาะจงโดยใช้ตัวกรอง
snapshot_dateที่ไม่บังคับ
ตัวอย่าง: ค้นหาจำนวน POI ที่ผ่านมาตามประเภทด้วยตัวกรองที่เฉพาะเจาะจง
ตัวอย่างนี้แสดงวิธีค้นหาจำนวนสำหรับสถานที่บางประเภท เช่น สถานีชาร์จ EV โดยใช้พารามิเตอร์ snapshot_date เพื่อดึงข้อมูลจำนวนสำหรับเดือนที่ผ่านมา โดยจะใช้ตัวกรองเพิ่มเติมสำหรับ regular_opening_hours เพื่อค้นหาสถานที่ที่เปิดตลอดทั้งวันในวันหยุดสุดสัปดาห์เท่านั้น และความพร้อมให้บริการที่ชาร์จ EV (มีหัวชาร์จอย่างน้อย 10 หัว) ที่ระบุโดย min_ev_charge_connector_count
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE_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") ), ['electric_vehicle_charging_station'], -- target_types array JSON_OBJECT( 'geography_radius', 10000, 'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM) 'min_ev_charge_connector_count', 10, -- Look for a min amount of chargers 'regular_opening_hours', JSON_OBJECT( 'saturday', [JSON_OBJECT('start_time', '00:00', 'end_time', '23:59')], 'sunday', [JSON_OBJECT('start_time', '00:00', 'end_time', '23:59')] ) ) );