تعرض الدالة 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 يحتوي على المناطق الجغرافية المطلوب تحليلها. يجب أن يتضمّن هذا الجدول الأعمدة التالية: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.
مثال: حساب عدد المطاعم في ثلاث مقاطعات في مدينة نيويورك
ينشئ هذا المثال جدولاً بعدد المطاعم التي تعمل في ثلاث مقاطعات في مدينة نيويورك.
يستخدم هذا المثال مجموعة البيانات العامة بيانات
مكتب الإحصاء السكاني في الولايات المتحدة في
BigQuery للحصول
على حدود ثلاث مقاطعات في مدينة نيو
يورك: "كوينز" و"بروكلين" و"مانهاتن". وترد حدود كل مقاطعة في العمود 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'] ) );
سيتضمّن جدول الرد ثلاثة صفوف، صف واحد لكل مقاطعة، يعرض geo_id وinput_geography وplace_count وsample_place_ids للمطاعم التي تعمل.

مزايا استخدام PLACES_COUNT_V2
PLACES_COUNT_V2 تقدّم مزايا مهمة مقارنةً بالدالتَين PLACES_COUNT و
PLACES_COUNT_PER_GEO:
- المعالجة المجمّعة: يمكنك تحليل آلاف المناطق الجغرافية المخصّصة بكفاءة في طلب بحث واحد من خلال توفير مدخلات مناطق جغرافية متعددة في جدول.
- الأداء: تستخدم الدالة عمليات الربط الجغرافية المكانية المحسّنة في BigQuery، ما يوفّر مزايا كبيرة من حيث السرعة لمجموعات البيانات الكبيرة.
- قابلية التوسّع: تم تصميم الدالة للتعامل مع عدد كبير من المناطق الجغرافية المُدخَلة بدون القيود المفروضة على حجم مَعلمة JSON واحدة.
- تضمين الأعداد الصفرية: تعرض الدالة
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')] ) ) );