تعرض الدالة 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: اسم مشروعك على السحابة الإلكترونية من GoogleLINKED_DATASET_NAME: اسم مجموعة بيانات BigQuery التي تحتوي على دوال إحصاءات الأماكن (مثلplaces_insights___us).- استبدِل
input_geographiesبجدول BigQuery الذي يحتوي على المناطق الجغرافية المطلوب تحليلها. يجب أن يتضمّن هذا الجدول الأعمدة التالية: -
target_types(ARRAY<STRING>): مصفوفة من سلاسل أنواع الأماكن التي تريد الحصول على عددها. سيتم احتساب الأماكن إذا كانت تتطابق مع أي من الأنواع المدرَجة في مصفوفةtypes، وليس فقطprimary_type. filters(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، حتى إذا كان العدد صفرًا.
آلية العمل
تعالج الدالة كل منطقة جغرافية مقدَّمة في الجدول input_geographies.
بالنسبة إلى كل منطقة جغرافية، يتم احتساب الأماكن التي تتطابق مع أي من الأنواع المدرَجة في مصفوفة target_types وتستوفي أيضًا جميع الشروط في عنصر JSON الخاص بـ filters. يتم تجميع النتائج وتقسيمها حسب كل geo_id وكل نوع في target_types.
مثال: احتساب أنواع مختلفة من المطاعم في مقاطعات مدينة نيويورك
ينشئ هذا المثال جدولاً يتضمّن عدد النتائج لكل من "مطعم" و"مقهى" و "بار" في ثلاث مقاطعات في مدينة نيويورك.
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التي تعالج موقعًا جغرافيًا واحدًا في كل مرة، تقبلPLACES_COUNT_PER_TYPE_V2TABLEمن المواقع الجغرافية كمدخلات. يتيح لك ذلك تحليل البيانات والحصول على أعداد خاصة بنوع معيّن من البيانات في مناطق جغرافية متعددة (نقاط، مضلّعات) في استعلام واحد، بدلاً من إجراء طلبات متعددة للوظيفة. - الأداء المحسّن وقابلية التوسّع: من خلال أخذ إدخال جدول، يمكن أن تستفيد
PLACES_COUNT_PER_TYPE_V2من عمليات الربط الجغرافي المكاني المحسّنة في BigQuery وإمكانات المعالجة المتوازية في جميع المناطق الجغرافية المقدَّمة في الوقت نفسه. ويؤدي ذلك إلى تحسينات كبيرة في الأداء وقابلية أفضل للتكيّف عند التعامل مع عدد كبير من المناطق الجغرافية. - تضمين عدد مرات الظهور صفر: تعرض هذه السمة الصفوف التي تتضمّن عدد مرات ظهور صفر للأنواع التي لم يتم العثور عليها في منطقة معيّنة ضمن المجموعة، ما يضمن الحصول على مجموعة نتائج كاملة لجميع مجموعات النوع والموقع الجغرافي.