ฟังก์ชัน 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 สำหรับประเภทที่ไม่พบใน พื้นที่ใดพื้นที่หนึ่งภายในกลุ่ม เพื่อให้มั่นใจว่าชุดผลลัพธ์จะสมบูรณ์สำหรับทุก ชุดค่าผสมประเภท-ภูมิศาสตร์