الدالة PLACES_COUNT_V2

تعرض الدالة PLACES_COUNT_V2 جدول BigQuery يحتوي على أعداد الأماكن وعيّنات من أرقام تعريف الأماكن لعدة مواقع جغرافية مستنِدة إلى فلاتر محدّدة. تم تصميم هذه الدالة لمعالجة الدُفعات بكفاءة من خلال قبول مَعلمة جدول إدخال للمناطق الجغرافية، ما يتيح لك تحليل العديد من المناطق المهمة في طلب بحث واحد من خلال توفير المناطق الجغرافية عبر جدول إدخال.

البنية

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`(
  TABLE input_geographies,
  filters
)

المعلمات

  • PROJECT_NAME: اسم مشروعك على السحابة الإلكترونية من Google
  • LINKED_DATASET_NAME: اسم مجموعة بيانات BigQuery التي تحتوي على دوال إحصاءات الأماكن (مثل places_insights___us).
  • استبدِل input_geographies بجدول BigQuery الذي يحتوي على المناطق الجغرافية المطلوب تحليلها. يجب أن يتضمّن هذا الجدول الأعمدة التالية:
    • geo_id (STRING): معرّف فريد لكل منطقة جغرافية.
    • geo (GEOGRAPHY): عنصر GEOGRAPHY في 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 للمطاعم المفتوحة.

نتائج دالة &quot;عدد الأماكن&quot; في مقاطعات نيويورك

مزايا استخدام PLACES_COUNT_V2

تقدّم PLACES_COUNT_V2 مزايا مهمة مقارنةً بكل من PLACES_COUNT وPLACES_COUNT_PER_GEO:

  • المعالجة المجمّعة: يمكنك تحليل آلاف المناطق الجغرافية المخصّصة بكفاءة في طلب بحث واحد من خلال تقديم مدخلات جغرافية متعددة في جدول.
  • الأداء: تستخدم هذه الميزة عمليات الربط الجغرافية المكانية المحسّنة في BigQuery، ما يوفّر مزايا كبيرة من حيث السرعة لمجموعات البيانات الكبيرة.
  • قابلية التوسّع: تم تصميمها للتعامل مع عدد كبير من المواقع الجغرافية المُدخَلة بدون قيود على حجم مَعلمة JSON الفردية.
  • تضمين عدد مرات الظهور صفر: تعرض القيمة PLACES_COUNT_V2 صفًا لكل geo_id مقدَّم في جدول الإدخال. إذا لم تتطابق أي أماكن مع معايير منطقة جغرافية معيّنة، ستكون قيمة place_count هي 0. يضمن ذلك حصولك على نتيجة لكل حقل إدخال، ما يتيح لك معرفة الأماكن غير المتوفّرة.