التمثيل المرئي في "مركز البيانات" لبيانات إحصاءات الأماكن

نظرة عامة

مخطّط سير عمل يوضّح إرسال Data Studio مَعلمات ديناميكية للمدينة واليوم والوقت إلى Places Insights في BigQuery لإنشاء خريطة حرارية للكثافة الجغرافية المكانية

يوضّح هذا المستند كيفية إنشاء تقارير جغرافية مكانية ديناميكية باستخدام Places Insights ومركز البيانات. يمكنك الاستفادة من بيانات الموقع الجغرافي من خلال منح الأطراف المعنية غير الفنية القدرة على الإجابة عن أسئلتها. يوضّح لك هذا الدليل كيفية تحويل التقارير الثابتة إلى أدوات تفاعلية بنمط الخريطة الحرارية لتحليل السوق، بدون الحاجة إلى كتابة SQL لكل طلب. تفعيل إمكانية الوصول إلى بيانات الموقع الجغرافي المعقّدة، ما يساهم في سد الفجوة بين هندسة البيانات وذكاء الأعمال

يوفّر اتّباع نمط التصميم هذا العديد من المزايا الرئيسية:

  • التمثيل البصري للبيانات: يحوّل بيانات إحصاءات الأماكن إلى خرائط ورسوم بيانية تفاعلية تعرض فورًا الكثافة المكانية والمؤشرات.
  • استكشاف مبسط بدون SQL: يتيح لأعضاء الفريق، مثل محلّلي السوق أو مخطّطي العقارات، فلترة البيانات بشكل ديناميكي باستخدام مَعلمات محدّدة مسبقًا (مثل تغيير "المدينة" أو "الوقت من اليوم" باستخدام القوائم المنسدلة). ويمكنهم استكشاف البيانات بدون كتابة سطر واحد من SQL.
  • التعاون السلس: تتيح لك ميزات المشاركة العادية في "مركز البيانات" توزيع هذه الإحصاءات التفاعلية بأمان.

سير عمل الحل

يؤدي سير العمل التالي إلى إنشاء بنية تقارير فعّالة. وتنتقل من خط أساس ثابت إلى تطبيق ديناميكي بالكامل، ما يضمن صحة البيانات قبل إضافة أي تعقيد.

المتطلبات الأساسية

قبل البدء، اتّبِع هذه التعليمات لإعداد "إحصاءات الأماكن". يجب أن يتوفّر لديك إذن الوصول إلى مركز البيانات، وهي أداة مجانية.

الخطوة 1: إنشاء خط أساس ثابت للبيانات الجيوفضائية

قبل تقديم ميزة التفاعل، عليك إنشاء طلب بحث أساسي والتأكّد من عرضه بشكل صحيح في "مركز البيانات". استخدِم إحصاءات الأماكن وإمكانات BigQuery الجغرافية المكانية لتجميع البيانات في شبكات سداسية باستخدام نظام فهرسة H3. سيؤدي ذلك إلى إنشاء ناتج طلب بحث يمكن استخدامه مع نوع الرسم البياني "خريطة بالدرجات اللونية" في Data Studio لإنشاء تمثيل مرئي.

‫1.1 ربط البيانات

استخدِم طلب البحث الثابت التالي لإنشاء الاتصال الأوّلي. يستهدف هذا المثال موقعًا جغرافيًا ثابتًا (لندن) وفئة ثابتة (مطاعم) للتحقّق من صحة مسار نقل البيانات.

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، وهي نظام يقسّم العالم إلى خلايا شبكية سداسية الأضلاع.

نستخدم هذا التحويل لأنّ "الخريطة المعبّأة" في "مركز البيانات" تتطلّب مضلّعات (أشكالاً) لعرض الألوان. من خلال تحويل النقاط إلى أشكال سداسية، يمكننا عرض كثافة الأنشطة التجارية في منطقة معيّنة، بدلاً من رسم آلاف النقاط المتداخلة.

ملاحظة حول الحدّ الأدنى للتجميع

تتطلّب جميع طلبات البحث في "إحصاءات الأماكن" استخدام العبارة WITH AGGREGATION_THRESHOLD. تضمن حماية الخصوصية هذه عدم عرض البيانات إلا إذا كان العدد المجمّع 5 أو أكثر.

في سياق هذا التمثيل المرئي، إذا كانت خلية شبكة H3 تحتوي على أقل من 5 مطاعم، سيتم حذف هذه الخلية من مجموعة النتائج بالكامل وستظهر فارغة على خريطتك.

لتنفيذ ذلك في "مركز البيانات"، اتّبِع الخطوات التالية:

  1. أنشئ تقريرًا فارغًا جديدًا.
  2. اختَر BigQuery كأداة ربط البيانات.
  3. اختَر طلب بحث مخصّص من القائمة اليمنى، ثمّ اختَر رقم تعريف المشروع الخاص بالفوترة.
  4. الصِق طلب البحث الأساسي الثابت أعلاه في المحرّر.
  5. ألغِ تحديد المَعلمات استخدام SQL القديم وتفعيل النطاق الزمني وتفعيل عنوان البريد الإلكتروني الخاص بالمشاهد.
  6. انقر على إضافة.

‫1.2 إعداد مؤثرات عرض البيانات الجيوفضائية

بعد ربط البيانات، اضبط "مركز البيانات" للتعرّف على بيانات حدود H3 بشكل صحيح:

  1. أضِف تصور خريطة مملوءة إلى لوحة عرض التقارير، من قائمة إضافة رسم بياني.
  2. تأكَّد من أنّ الحقل h3_geo الذي يحتوي على شكل المضلّع الهندسي مضبوط على نوع البيانات جيوفضائي.
    1. انقر على رمز تعديل مصدر البيانات (القلم الرصاص) بجانب اسم عملية الربط.
    2. إذا تم ضبط h3_geo على نص (ABC)، استخدِم القائمة المنسدلة لاختيار جغرافي > جغرافي مكاني.
    3. انقر على تم.
  3. اربط الحقل h3_index بـ الموقع الجغرافي (الذي يعمل كمعرّف فريد).
  4. اربط الحقل h3_geo بـ الحقل الجغرافي المكاني (الذي يعمل كشكل هندسي متعدد الأضلاع).
  5. اربط الحقل restaurant_count بمقياس اللون.

سيؤدي ذلك إلى عرض خريطة لكثافة المطاعم حسب خلية H3. يشير اللون الأزرق الداكن (خيار اللون التلقائي) إلى خلية تحتوي على عدد أكبر من المطاعم.

خريطة مملوءة لمدينة لندن مع شبكة سداسية الأضلاع، حيث تشير الخلايا الزرقاء الداكنة إلى تركيز أعلى للمطاعم تشير التسمية التوضيحية إلى أعداد الكثافة التي تتراوح بين 5 و1,215.

الخطوة 2: تنفيذ المَعلمات الديناميكية

لجعل التقرير تفاعليًا، سنضيف إليه عناصر تحكّم تتيح للمستخدم الاختيار من بين الخيارات التالية:

  • المنطقة المحلية: تتحكّم في المدينة التي يركّز عليها التقرير.
  • يوم الأسبوع: يفلتر الأماكن استنادًا إلى اليوم الذي تكون فيه مفتوحة، وذلك باستخدام سجل regular_opening_hours في المخطط.
  • ساعة اليوم: يفلتر هذا الخيار الأماكن استنادًا إلى ساعات عملها من خلال مقارنتها بالحقلَين start_time وend_time.

لتحقيق ذلك، عليك تمرير المَعلمات التي يختارها المستخدم مباشرةً إلى طلب معدَّل في إحصاءات الأماكن في وقت التشغيل. في أداة تعديل مصدر البيانات في Data Studio، عليك تحديد هذه المَعلمات بشكل صريح كمتغيرات مكتوبة.

في "مركز البيانات"، انقر على قائمة الموارد، ثمّ على إدارة مصادر البيانات المضافة. في اللوحة التي تظهر، انقر على EDIT بجانب مصدر بيانات BigQuery Custom SQL الذي أضفناه سابقًا.

في نافذة "تعديل الاتصال"، انقر على إضافة مَعلمة. سنضيف ثلاث مَعلمات بالقيم التالية.

اسم المَعلمة نوع البيانات القيم المسموح بها قائمة القيم (يجب أن تتطابق مع قاعدة البيانات تمامًا)
p_locality نص قائمة تضم القيم
القيمة التصنيف
London لندن
Manchester Manchester
Birmingham برمنغهام
Glasgow غلاسغو
p_day_of_week نص قائمة تضم القيم
القيمة التصنيف
monday الاثنين
tuesday الثلاثاء
wednesday الأربعاء
thursday الخميس
friday الجمعة
saturday السبت
sunday الأحد
p_hour_of_day نص قائمة تضم القيم
القيمة التصنيف
03:00:00 من الساعة 3 صباحًا حتى الساعة 4 صباحًا
08:00:00 من الساعة 8 صباحًا إلى الساعة 9 صباحًا
19:00:00 من الساعة 7 مساءً حتى الساعة 8 مساءً

مثال على إعداد المَعلمة p_hour_of_day

واجهة الإعداد للمَعلمة p_hour_of_day التي تعرض قسم قائمة القيم حيث يتم ربط السلاسل الزمنية بالتصنيفات القابلة للقراءة

بالنسبة إلى المَعلمة p_hour_of_day، يجب الانتباه جيدًا إلى العمود Value. بما أنّ طلب بحث SQL يستخدم CAST(@p_hour_of_day AS TIME)، يجب أن تكون القيم التي يتم تمريرها من مركز البيانات بتنسيق HH:MM:SS صارم (نظام الـ 24 ساعة).

بعد إعداد جميع المَعلمات الثلاث وحفظها، عدِّل عملية الربط المخصّصة بلغة SQL في BigQuery للإشارة إلى هذه المتغيّرات باستخدام بنية @.

يتم ذلك من خلال النقر على "تعديل عملية الربط" (Edit Connection)، ولصق طلب البحث المعدَّل أدناه:

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. لكل عنصر تحكّم، اضبط حقل عنصر التحكّم ليتوافق مع المَعلمات التي أنشأتها حديثًا:
    • عنصر التحكّم 1: p_locality
    • التحكّم 2: p_day_of_week
    • عنصر التحكّم 3: p_hour_of_day

يجب أن يبدو التقرير النهائي على النحو التالي. سيؤدي تغيير قيمة في أحد عناصر التحكّم المنسدلة إلى أن يطلب &quot;مركز البيانات&quot; جلب البيانات المطلوبة من &quot;إحصاءات حول الأماكن&quot; قبل عرضها على الخريطة.

التقرير التفاعلي النهائي الذي يعرض خريطة كثافة المطاعم في غلاسكو مع ثلاثة فلاتر منسدلة في الأعلى تم توسيع قائمة &quot;ساعة اليوم&quot; لعرض النطاقات الزمنية القابلة للاختيار.

الخطوة 3: مشاركة النتائج

استخدِم أداة المشاركة المضمّنة في "مركز البيانات" لمشاركة التقرير. سيسمح ذلك للمشاهدين بتعديل العرض المرئي بشكل ديناميكي استنادًا إلى المَعلمات التي يختارونها من القوائم المنسدلة.

الخاتمة

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

الخطوات التالية

استكشِف أشكالاً أخرى من التقارير الديناميكية من خلال تحديد مَعلمات لأجزاء مختلفة من مخطط إحصاءات الأماكن:

  • تحليل المنافسين الديناميكي: أنشئ مَعلمة لأسماء brand للسماح للمستخدمين بالتبديل الفوري لخريطة الحرارة بين المنافسين المختلفين لمعرفة مدى تشبّعهم النسبي في السوق. راجِع المقالة لمحة عن بيانات إحصاءات الأماكن لمعرفة مدى توفّر بيانات العلامات التجارية.
  • اختيار الموقع التفاعلي: أضِف مَعلمات price_level (مثل &quot;متوسط&quot; مقابل &quot;مرتفع&quot;) والحد الأدنى rating للسماح لفِرق العقارات بفلترة المناطق بشكل ديناميكي بحثًا عن تلك التي تتطابق مع ملفات ديمغرافية معيّنة.
  • مناطق التجميع المخصّصة: بدلاً من الفلترة حسب اسم المدينة، يمكنك السماح للمستخدمين بتحديد مناطق دراسة مخصّصة.
    • استنادًا إلى نصف القطر: أنشئ ثلاث مَعلمات رقمية: p_latitude وp_longitude وp_radius_meters. يمكن الحصول على الإحداثيات من واجهات برمجة التطبيقات على &quot;منصة خرائط Google&quot;، بما في ذلك Geocoding API. في طلب البحث، أدرِج هذه القيم في الدالة ST_DWITHIN:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • استنادًا إلى المضلّعات: بالنسبة إلى الأشكال المخصّصة المعقّدة (مثل المناطق الجغرافية للمبيعات)، لا يمكن للمستخدمين إدخال نص هندسي بسهولة. بدلاً من ذلك، أنشئ جدول بحث في BigQuery يحتوي على أشكال هندسية وأسماء مألوفة (مثل "المنطقة أ"). أنشئ مَعلمة نصية p_zone_name في مركز البيانات للسماح للمستخدمين باختيار المنطقة، واستخدِم طلبًا فرعيًا لاسترداد الشكل الهندسي للدالة ST_CONTAINS.

المساهمون