تقرير لوحة المعلومات - صفحة الرؤى المجمعة

هذا هو إصدار SQL لتقرير لوحة المعلومات لعدد مرات مشاهدة الصفحة المجمعة.

يوفر تقرير SQL هذا عددًا يوميًا لمرات مشاهدة الصفحة من المستخدمين المسجلين، والمستخدمين المجهولين، والزواحف على موقع Discourse.

-- [params]
-- date :start_date
-- date :end_date

SELECT
    ar.date::date AS "date",
    SUM(ar.count) AS "Total Views",
    SUM(CASE WHEN ar.req_type=6 THEN ar.count ELSE 0 END) AS "Crawler Views",
    SUM(CASE WHEN ar.req_type=7 THEN ar.count ELSE 0 END) AS "Logged in User Views",
    SUM(CASE WHEN ar.req_type=8 THEN ar.count ELSE 0 END) AS "Anonymous User Views"
FROM application_requests ar
WHERE req_type IN (6,7,8)
    AND ar.date::date BETWEEN :start_date AND :end_date
GROUP BY date
ORDER BY date

شرح استعلام SQL

يعمل الاستعلام على جدول application_requests الذي يسجل أنواعًا مختلفة من الطلبات المقدمة إلى المنتدى. يركز على ثلاثة أنواع محددة من الطلبات التي تم تحديدها بواسطة قيم req_type:

  • 6: مشاهدات الزواحف
  • 7: مشاهدات المستخدمين المسجلين
  • 8: مشاهدات المستخدمين المجهولين

إليك شرح خطوة بخطوة لما يفعله الاستعلام:

  • المعلمات: يقبل الاستعلام معلمتين، :start_date و :end_date، مما يسمح للمستخدم بتحديد النطاق الزمني للتقرير. تقبل كلتا معلمتي التاريخ تنسيق التاريخ YYYY-MM-DD.
  • الاختيار: يختار الاستعلام تاريخ الطلب (ar.date) ويحوله إلى نوع date. كما أنه يحسب إجمالي المشاهدات وتفصيلاً للمشاهدات حسب النوع (الزاحف، المستخدم المسجل، والمستخدم المجهول) لكل تاريخ ضمن النطاق المحدد.
  • الجمع: يجمع عمود count لكل نوع من أنواع المشاهدات. تُستخدم عبارات CASE لتضمين المجموع بشكل شرطي بناءً على req_type.
  • التصفية: تقوم عبارة WHERE بتصفية السجلات لتشمل فقط تلك التي تحتوي على قيم req_type 6 أو 7 أو 8 وتواريخ تقع بين :start_date و :end_date المحددين.
  • التجميع: يجمع الاستعلام النتائج حسب التاريخ، مما يضمن تجميع عدد كل نوع من المشاهدات لكل يوم.
  • الترتيب: يتم ترتيب النتائج حسب التاريخ لتوفير عرض زمني لحركة المرور.

نتائج مثال

date Total Views Crawler Views Logged in User Views Anonymous User Views
2023-11-18 5608 3052 565 1928
2023-11-19 9207 6564 470 2273
2023-11-20 6271 2631 1016 2924
5 إعجابات

@SaraDev عند النظر إلى لوحة تحكم المسؤول لدينا، فإنها تُظهر req_type = 13 (page_view_anon_browser) و 15 (page_view_logged_in_browser). هل هذا خطأ؟ هل هناك أي شرح لأنواع الطلبات الفرعية؟ على سبيل المثال، لا أرى كيف يمكن لأي تركيبة من الأنواع المسجلة أن تصل إلى الرقم 705.

إعجاب واحد (1)

يتوافق الحقل req_type في application_requests مع أنواع طلبات التطبيقات التالية في Discourse:

  1. http_total
  2. http_2xx
  3. http_background
  4. http_3xx
  5. http_4xx
  6. http_5xx
  7. page_view_crawler
  8. page_view_logged_in
  9. page_view_anon
  10. page_view_logged_in_mobile
  11. page_view_anon_mobile
  12. api
  13. user_api
  14. page_view_anon_browser
  15. page_view_anon_browser_mobile
  16. page_view_logged_in_browser
  17. page_view_logged_in_browser_mobile

يمكنك أيضًا عرض هذه المعلومات مباشرة في مستكشف البيانات عند النظر إلى جداول وقاعدة بيانات Discourse.

في سبتمبر 2024، قمنا بتحسين الطريقة التي يتم بها تتبع عدد المشاهدات للصفحات وعدّها. إليك شرح لما تغير.

من المحتمل أن المقاييس التي تراها في لوحة المعلومات الخاصة بك تستخدم طريقة “زيارات الموقع” الجديدة لتتبع المشاهدات للصفحات، ويمكنك العثور على استعلام SQL المقابل لهذه الطريقة هنا: تقرير لوحة المعلومات - زيارات الموقع.

شكراً سارة، الاستعلام في الموضوع Dashboard Report - Site Traffic يجيب على سؤالي حول استخدام 13 و 15 وأيضًا لماذا 13 + 14 != 8.

إعجاب واحد (1)