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

نمای کلی

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

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

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

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

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

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

پیش‌نیازها

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

مرحله ۱: ایجاد خط مبنای زمین‌فضایی ایستا

پیش‌از معرفی تعاملی بودن، پُرسمان پایه‌ای ایجاد کنید و مطمئن شوید که در 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» که قبلاً اضافه کرده‌ایم انتخاب کنید.

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

نام پارامتر نوع داده مقادیر مجاز فهرست مقادیر (باید دقیقاً با پایگاه داده مطابقت داشته باشد)
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 (ساعت ۲۴ ساعته) باشد.

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

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

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 APIs، ازجمله Geocoding API، دریافت کنید. در پُرسمان شما، این‌ها را به تابع ST_DWITHIN تزریق کنید:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • چندضلعی‌محور: برای شکل‌های سفارشی پیچیده (مثل قلمروهای فروش)، کاربران نمی‌توانند به‌راحتی نوشتار هندسی وارد کنند. به‌جای آن، جدول جستجویی در BigQuery ایجاد کنید که حاوی هندسه‌های شکل و نامی دوستانه (برای نمونه، "منطقه A") باشد. پارامتر نوشتاری p_zone_name را در Data Studio ایجاد کنید تا به کاربران امکان دهید منطقه را انتخاب کنند و از پُرسمان فرعی برای بازیابی هندسه تابع ST_CONTAINS استفاده کنید.

همیاران