ฟังก์ชัน 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ยอมรับTABLEของภูมิศาสตร์อินพุต ซึ่งแตกต่างจากPLACES_COUNT_PER_TYPEที่ ประมวลผลภูมิศาสตร์ทีละรายการ ฟังก์ชันนี้ช่วยให้คุณวิเคราะห์และรับจำนวนที่เฉพาะเจาะจงตามประเภทในภูมิศาสตร์ต่างๆ (จุด รูปหลายเหลี่ยม) ได้ในการค้นหาครั้งเดียว แทนที่จะเรียกใช้ฟังก์ชันหลายครั้ง - ประสิทธิภาพและความสามารถในการปรับขนาดที่ดียิ่งขึ้น: ฟังก์ชัน
PLACES_COUNT_PER_TYPE_V2สามารถใช้ประโยชน์จากการรวมเชิงพื้นที่ที่ได้รับการเพิ่มประสิทธิภาพ ของ BigQuery และความสามารถในการประมวลผลแบบขนานในภูมิศาสตร์ทั้งหมดที่ระบุไว้ พร้อมกันได้ด้วยการรับอินพุตตาราง ซึ่งส่งผลให้ประสิทธิภาพดีขึ้นอย่างมากและความสามารถในการปรับขนาดดีขึ้นเมื่อจัดการกับภูมิศาสตร์จำนวนมาก - รวมจำนวนที่เป็น 0: แสดงผลแถวที่มีจำนวนเป็น 0 สำหรับประเภทที่ไม่พบในพื้นที่ที่เฉพาะเจาะจงภายในกลุ่ม เพื่อให้ได้ชุดผลลัพธ์ที่สมบูรณ์สำหรับชุดค่าผสมของประเภทและภูมิศาสตร์ทั้งหมด
- ข้อมูลสแนปช็อตในอดีต: ค้นหาข้อมูลจำนวนสถานที่จากเดือนที่เฉพาะเจาะจงโดยใช้ตัวกรอง
snapshot_dateที่ไม่บังคับ
ตัวอย่าง: ค้นหาจำนวนจุดที่น่าสนใจตามประเภทด้วยตัวกรองที่เฉพาะเจาะจง
ตัวอย่างนี้แสดงวิธีค้นหาจำนวนสำหรับประเภทสถานที่ที่เฉพาะเจาะจง เช่น สถานีชาร์จรถยนต์ไฟฟ้า โดยใช้พารามิเตอร์ snapshot_date เพื่อดึงข้อมูลจำนวนสำหรับเดือนที่ผ่านมา ตัวอย่างนี้ใช้ตัวกรองเพิ่มเติมสำหรับ regular_opening_hours เพื่อค้นหาสถานที่ที่เปิดตลอดทั้งวันในวันหยุดสุดสัปดาห์เท่านั้น และความพร้อมใช้งานในการชาร์จรถยนต์ไฟฟ้า (มีขั้วต่ออย่างน้อย 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')] ) ) );