تابع PLACES_COUNT_V2 یک جدول BigQuery حاوی تعداد مکانها و شناسههای مکان نمونه برای چندین جغرافیای ورودی بر اساس فیلترهای مشخص شده را برمیگرداند. این تابع با پذیرش پارامتر جدول ورودی جغرافیاها، برای پردازش دستهای کارآمد طراحی شده است و به شما امکان میدهد با ارائه جغرافیاها از طریق یک جدول ورودی، بسیاری از مناطق مورد علاقه را در یک پرسوجوی واحد تجزیه و تحلیل کنید.
نحو
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`( TABLE input_geographies, filters )
پارامترها
-
PROJECT_NAME: نام پروژه گوگل کلود شما. -
LINKED_DATASET_NAME: نام مجموعه داده BigQuery که شامل توابع Places Insights است (مثلاًplaces_insights___us). -
input_geographies: یک جدول BigQuery شامل جغرافیاهایی که باید تجزیه و تحلیل شوند. این جدول باید شامل ستونهای زیر باشد: -
filters( JSON ): یک شیء JSON حاوی جفتهای کلید-مقدار برای فیلتر کردن مکانها. به پارامترهای فیلتر مراجعه کنید.
طرح جدول خروجی
تابع PLACES_COUNT_V2 جدولی با ستونهای زیر برمیگرداند:
| نام ستون | نوع داده | توضیحات |
|---|---|---|
geo_id | رشته | شناسه منحصر به فرد برای جغرافیای ورودی، از جدول input_geographies . |
input_geography | جغرافیا | شیء اصلی GEOGRAPHY از جدول input_geographies . |
place_count | عدد صحیح | تعداد کل مکانهایی که با فیلترها مطابقت دارند. |
sample_place_ids | آرایه | آرایهای از حداکثر ۲۵۰ شناسه مکان که با معیارها مطابقت دارند. |
چگونه کار میکند؟
این تابع هر سطر را در جدول input_geographies پردازش میکند. برای هر شیء geo ، تعداد مکانهایی را که در محدوده 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با ۰ خواهد بود. این تضمین میکند که برای هر منطقه ورودی نتیجهای دارید، بنابراین میتوانید ببینید که مکانها در کجا وجود ندارند.