مصورسازی داده‌های «اطلاعات آماری جاها» در Data Studio

نمای کلی

نمودار گردش کار که نشان می‌دهد Data Studio پارامترهای پویای شهر، روز، و زمان را به «اطلاعات آماری جاها» در BigQuery ارسال می‌کند تا نقشه حرارتی تراکم جغرافیایی-فضایی تولید کند.

این سند نحوه ساختن گزارش‌های جغرافیایی-فضایی پویا را بااستفاده از اطلاعات آماری جاها و Data Studio شرح می‌دهد. با توانمندسازی ذینفعان غیرفنی برای پاسخ دادن به سؤالات خودشان، ارزش داده‌های مکانتان را باز کنید. این راهنما به شما نشان می‌دهد که چگونه گزارش‌های ایستا را به ابزارهای تعاملی به سبک نقشه حرارتی برای تحلیل بازار تبدیل کنید، بدون اینکه لازم باشد برای هر درخواست SQL بنویسید. دسترسی به داده‌های پیچیده مکان را فعال کنید و فاصله بین مهندسی داده و هوش کسب‌وکار را ازبین ببرید.

اتخاذ این الگوی معماری چندین مزیت کلیدی را به‌همراه دارد:

  • نمایش دیداری داده‌ها: داده‌های «اطلاعات آماری جاها» را به نقشه‌ها و نمودارهای تعاملی تبدیل می‌کند که فوراً تراکم و روندهای فضایی را منتقل می‌کنند.
  • کاوش ساده‌شده بدون SQL: به اعضای تیم، مانند تحلیلگران بازار یا برنامه‌ریزان املاک و مستغلات، امکان می‌دهد تا داده‌ها را به‌طور پویا بااستفاده از پارامترهای ازپیش‌تعریف‌شده (مثلاً تغییر «شهر» یا «زمان روز» بااستفاده از منوهای کرکره‌ای) فیلتر کنند. آن‌ها می‌توانند داده‌ها را بدون نوشتن حتی یک خط SQL کاوش کنند.
  • مشارکت یکپارچه: ویژگی‌های هم‌رسانی استاندارد Data Studio به شما امکان می‌دهد این اطلاعات آماری تعاملی را به‌طور ایمن توزیع کنید.

گردش کار راه‌حل

گردش کار زیر معماری گزارش‌دهی کارآمدی را ایجاد می‌کند. این برنامه از یک خط پایه ایستا به یک برنامه کاملاً پویا تبدیل می‌شود و قبل‌از معرفی پیچیدگی، از صحت داده‌ها اطمینان حاصل می‌کند.

پیش‌نیازها

قبل‌از شروع، این دستورالعمل‌ها را برای راه‌اندازی «اطلاعات آماری جاها» دنبال کنید. به دسترسی به Data Studio نیاز دارید، که ابزاری بدون هزینه است.

Step 1: Establish a Static Geospatial Baseline

قبل‌از معرفی تعامل، یک پُرسمان پایه ایجاد کنید و مطمئن شوید که به‌درستی در Data Studio ارائه می‌شود. از «اطلاعات آماری جاها» و قابلیت‌های جغرافیایی BigQuery برای تجمیع داده‌ها در شبکه‌های شش‌ضلعی بااستفاده از سیستم نمایه‌سازی H3 استفاده کنید. این کار خروجی پُرسمانی تولید می‌کند که می‌توان از آن با نوع کارت نقشه پُرشده Data Studio برای تجسم استفاده کرد.

‫۱.۱ اتصال داده‌ها

برای برقراری اتصال اولیه، از پُرسمان ایستا زیر استفاده کنید. این آزمایش مکان ثابتی (لندن) و دسته‌ای (رستوران‌ها) را هدف قرار می‌دهد تا خط لوله داده را اعتبارسنجی کند.

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    -- Note: Change 'gb' to your target country code (e.g., 'us')
    `places_insights___gb.places`
  WHERE
    'London' IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

نکته‌ای درباره انبوهش فضایی

این پُرسمان از تابعی از CARTO Analytics Toolbox (carto-os) استفاده می‌کند که به‌صورت عمومی در Google Cloud BigQuery دردسترس است. تابع H3_FROMGEOGPOINT نقاط مکان خاصی را به سلول‌های H3 تبدیل می‌کند، سیستمی که جهان را به سلول‌های شبکه‌ای شش‌ضلعی تقسیم می‌کند.

ما از این تبدیل استفاده می‌کنیم زیرا «نقشه پرشده» Data Studio برای ارائه رنگ‌ها به چندضلعی (شکل) نیاز دارد. با تبدیل نقطه‌ها به شکل‌های شش‌ضلعی، می‌توانیم تراکم کسب‌وکارها را در منطقه‌ای خاص تجسم کنیم، به‌جای اینکه هزاران نقطه هم‌پوشان را ترسیم کنیم.

نکته‌ای درباره آستانه تجمیع

همه پُرسمان‌های «اطلاعات آماری جاها» به عبارت WITH AGGREGATION_THRESHOLD نیاز دارند. این محافظت از حریم خصوصی تضمین می‌کند که داده‌ها فقط درصورتی برگردانده می‌شوند که تعداد انبوهشی ۵ یا بیشتر باشد.

در زمینه این تجسم، اگر سلول شبکه H3 حاوی کمتر از ۵ رستوران باشد، آن سلول به‌طور کامل از مجموعه نتایج حذف می‌شود و در نقشه‌تان خالی نشان داده می‌شود.

برای پیاده‌سازی این مورد در Data Studio:

  1. گزارش خالی جدیدی ایجاد کنید.
  2. BigQuery را به‌عنوان رابط داده‌ها انتخاب کنید.
  3. پرس‌وجوی سفارشی را از منوِ سمت راست انتخاب کنید و شناسه پروژه صورت‌حساب را انتخاب کنید.
  4. پرس‌وجوی پایه ایستا بالا را در ویرایشگر جای‌گذاری کنید.
  5. پارامترهای استفاده از SQL قدیمی، فعال کردن محدوده تاریخ، و فعال کردن نشانی ایمیل بیننده را پاک کنید.
  6. روی افزودن کلیک کنید.

‫۱.۲ پیکربندی «مصورسازی زمین‌مکانی»

وقتی داده‌ها متصل شد، Data Studio را پیکربندی کنید تا داده‌های مرز H3 را به‌درستی تشخیص دهد:

  1. از منو افزودن نمودار، تجسم نقشه پرشده را به بوم گزارش اضافه کنید.
  2. مطمئن شوید فیلد h3_geo که حاوی هندسه چندضلعی است روی نوع داده زمین‌مکانی تنظیم شده باشد.
    1. روی نماد ویرایش منبع داده (مداد) در کنار نام اتصال کلیک کنید.
    2. اگر h3_geo روی نوشتار (ABC) تنظیم شده است، از منوِ کرکره‌ای برای انتخاب جغرافیایی > جغرافیایی-فضایی استفاده کنید،
    3. روی تمام کلیک کنید.
  3. فیلد h3_index را به مکان (که به‌عنوان شناسه یکتا عمل می‌کند) نگاشت کنید.
  4. فیلد h3_geo را به فیلد جغرافیایی (که به‌عنوان هندسه چندضلعی عمل می‌کند) نگاشت کنید.
  5. فیلد restaurant_count را به سنجه رنگ نگاشت کنید.

این کار نقشه‌ای از تراکم رستوران‌ها براساس سلول H3 ارائه می‌دهد. آبی تیره‌تر (گزینه رنگ پیش‌فرض) نشان‌دهنده سلولی با تعداد رستوران بیشتر است.

نقشه پرشده‌ای از لندن که با شبکه‌ای شش‌ضلعی پوشانده شده است، که در آن سلول‌های آبی تیره‌تر نشان‌دهنده تراکم بالاتر رستوران‌ها است. راهنمای نقشه نشان‌دهنده تعداد تراکم از ۵ تا ۱۲۱۵ است.

مرحله ۲: پیاده‌سازی پارامترهای پویا

برای تعاملی کردن گزارش، کنترل‌هایی به گزارش اضافه خواهیم کرد که به کاربر اجازه می‌دهد از بین گزینه‌های زیر انتخاب کند:

  • منطقه: شهری را که گزارش روی آن تمرکز دارد کنترل می‌کند.
  • روز هفته: مکان‌ها را براساس روزی که باز هستند فیلتر می‌کند، بااستفاده از رکورد regular_opening_hours در طرح‌واره.
  • ساعت روز: مکان‌ها را براساس ساعت کاری‌شان با مقایسه با فیلدهای start_time و end_time فیلتر می‌کند.

برای دستیابی به این هدف، پارامترهای انتخاب‌شده توسط کاربر را مستقیماً در زمان اجرا به پُرسمان اصلاح‌شده «اطلاعات آماری جاها» ارسال خواهید کرد. در ویرایشگر منبع داده Data Studio، باید این پارامترها را به‌طور صریح به‌عنوان متغیرهای تایپ‌شده تعریف کنید.

در Data Studio، منو منبع را انتخاب کنید، سپس روی مدیریت منابع داده اضافه‌شده کلیک کنید. در پانلی که ظاهر می‌شود، EDIT را در مقابل منبع داده SQL سفارشی BigQuery که قبلاً اضافه کردیم انتخاب کنید.

در پنجره «ویرایش اتصال»، افزودن پارامتر را انتخاب کنید. می‌خواهیم سه پارامتر با مقادیر زیر اضافه کنیم.

نام پارامتر نوع داده مقادیر مجاز فهرست مقادیر (باید دقیقاً با DB مطابقت داشته باشد)
p_locality نوشتار فهرست مقادیر
مقدار برچسب
London لندن
Manchester منچستر
Birmingham برمنگهام
Glasgow گلاسکو
p_day_of_week نوشتار فهرست مقادیر
مقدار برچسب
monday ﺪﻮﺷﻨﺑﮫ
tuesday سه‌شنبه
wednesday چهارشنبه
thursday پنج‌شنبه
friday جمعه
saturday شنبه
sunday یک‌شنبه
p_hour_of_day نوشتار فهرست مقادیر
مقدار برچسب
03:00:00 ‫۳ ق.ظ. تا ۴ ق.ظ.
08:00:00 ‫۸ ق.ظ. تا ۹ ق.ظ.
19:00:00 ۷ ب.ظ. تا ۸ ب.ظ.

پیکربندی نمونه برای پارامتر p_hour_of_day.

رابط پیکربندی برای پارامتر p_hour_of_day که بخش فهرست مقادیر را نشان می‌دهد که در آن رشته‌های زمانی به برچسب‌های خوانا نگاشت شده‌اند.

برای پارامتر p_hour_of_day، به ستون Value توجه کنید. چون پُرسمان SQL از CAST(@p_hour_of_day AS TIME) استفاده می‌کند، مقادیر ارسال‌شده از Data Studio باید دقیقاً در قالب HH:MM:SS (ساعت ۲۴ ساعته) باشد.

وقتی هر سه پارامتر را راه‌اندازی و ذخیره کردید، اتصال SQL سفارشی BigQuery خود را اصلاح کنید تا بااستفاده از نحو @ به این متغیرها ارجاع دهد.

این کار با کلیک کردن روی «ویرایش اتصال» و جای‌گذاری پُرسمان اصلاح‌شده زیر انجام می‌شود:

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    `places_insights___gb.places`
  WHERE
    -- Dynamic locality filter based on parameter
    @p_locality IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
    AND business_status = 'OPERATIONAL'
    AND EXISTS (
      SELECT 1
      FROM UNNEST(
        CASE @p_day_of_week
          WHEN 'monday' THEN regular_opening_hours.monday
          WHEN 'tuesday' THEN regular_opening_hours.tuesday
          WHEN 'wednesday' THEN regular_opening_hours.wednesday
          WHEN 'thursday' THEN regular_opening_hours.thursday
          WHEN 'friday' THEN regular_opening_hours.friday
          WHEN 'saturday' THEN regular_opening_hours.saturday
          WHEN 'sunday' THEN regular_opening_hours.sunday
        END
      ) AS hours
      WHERE hours.start_time <= CAST(@p_hour_of_day AS TIME)
        AND hours.end_time >= TIME_ADD(CAST(@p_hour_of_day AS TIME), INTERVAL 1 HOUR)
    )
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

برای ذخیره کردن ویرایش، روی «اتصال مجدد» کلیک کنید. در پُرسمان اصلاح‌شده، به متغیرهای جدید مثل @p_hour_of_day توجه کنید که با نام‌های پارامتری که به‌تازگی راه‌اندازی کردیم مرتبط هستند.

به بوم گزارش برگردید تا این پارامترها را برای کاربر نهایی نمایان کنید:

  1. سه کنترل فهرست کرکره‌ای به گزارش خود اضافه کنید.
  2. برای هر کنترل، فیلد کنترل را طوری تنظیم کنید که با پارامترهای جدیدی که ایجاد کرده‌اید مطابقت داشته باشد:
    • بازوی کنترل ۱: p_locality
    • بازوی کنترل ۲: p_day_of_week
    • کنترل ۳: p_hour_of_day

گزارش نهایی شما باید شبیه به تصویر زیر باشد. تغییر مقدار در یکی از کنترل‌های کرکره‌ای باعث می‌شود Data Studio داده‌های درخواستی را از «اطلاعات آماری جاها» واکشی کند و سپس آن‌ها را در نقشه نمایش دهد.

گزارش تعاملی نهایی که نقشه تراکم رستوران‌های گلاسکو را با سه فیلتر کرکره‌ای در بالا نشان می‌دهد. منو ساعت روز ازهم باز شده است تا دامنه‌های زمانی قابل‌انتخاب را نشان دهد.

مرحله ۳: هم‌رسانی نتایج

از ابزار هم‌رسانی تعبیه‌شده در Data Studio برای هم‌رسانی گزارش استفاده کنید. این کار به بینندگان اجازه می‌دهد دیداری‌سازی را به‌طور پویا براساس پارامترهایی که از فهرست‌های کرکره‌ای شما انتخاب می‌کنند به‌روز کنند.

نتیجه‌گیری

این الگو ابزار گزارش‌دهی تعاملی و مقیاس‌پذیری ایجاد می‌کند که از قدرت محاسباتی BigQuery برای ارائه داده‌های تجمیع‌شده «اطلاعات آماری جاها» به Data Studio استفاده می‌کند. این معماری از مشکلات تلاش برای تجسم مجموعه داده‌های خام عظیم جلوگیری می‌کند و به کاربران نهایی انعطاف‌پذیری لازم را برای کاوش داده‌ها در ابعاد مختلف، مانند زمان، مکان، و نوع کسب‌وکار، تقریباً به‌صورت هم‌زمان ارائه می‌دهد. این ابزار قدرتمندی است که به ذینفعان غیرفنی شما انعطاف‌پذیری لازم را برای کاوش داده‌ها می‌دهد.

مراحل بعدی

با پارامتربندی بخش‌های مختلف طرح‌واره «اطلاعات آماری جاها»، انواع دیگر گزارش‌های پویا را کاوش کنید:

  • تحلیل پویای رقبا: پارامتری برای نام‌های brand ایجاد کنید تا به کاربران اجازه دهید فوراً نقشه حرارتی را بین رقبای مختلف جابه‌جا کنند و اشباع نسبی آن‌ها را در بازار ببینند. برای اطلاع از دردسترس بودن داده‌های نمانام، به درباره داده‌های «اطلاعات آماری جاها» مراجعه کنید.
  • انتخاب تعاملی سایت: پارامترهایی برای price_level (مثلاً «متوسط» درمقابل «گران») و حداقل rating اضافه کنید تا تیم‌های املاک بتوانند به‌طور پویا مناطقی را که با نمایه‌های جمعیت‌شناختی خاص مطابقت دارند فیلتر کنند.
  • مناطق تحت پوشش سفارشی: به‌جای فیلتر کردن براساس نام شهر، به کاربران اجازه دهید مناطق مطالعه سفارشی تعریف کنند.
    • مبتنی بر شعاع: سه پارامتر عددی ایجاد کنید: p_latitude، p_longitude، و p_radius_meters. مختصات را می‌توان از میاناهای برنامه‌سازی کاربردی Google Maps Platform، ازجمله Geocoding API، دریافت کرد. در پُرسمانتان، این موارد را به تابع ST_DWITHIN تزریق کنید:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • مبتنی بر چندضلعی: برای شکل‌های سفارشی پیچیده (مانند قلمروهای فروش)، کاربران نمی‌توانند به‌راحتی نوشتار هندسی وارد کنند. به‌جای آن، جدول جستجویی در BigQuery ایجاد کنید که حاوی هندسه‌های شکل شما و نامی آشنا (مثلاً «منطقه الف») باشد. پارامتر نوشتاری p_zone_name را در Looker Studio ایجاد کنید تا به کاربران اجازه دهید منطقه را انتخاب کنند، و از زیرپرس‌وجو برای بازیابی هندسه تابع ST_CONTAINS استفاده کنید.

همیاران