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