تقرير لوحة التحكم - مجهول

هذا هو إصدار SQL من تقرير لوحة المعلومات للمستخدم المجهول.

يُظهر هذا التقرير عدد مرات مشاهدة الصفحة التي تلقاها موقع ما كل يوم من المستخدمين المجهولين (المستخدمين الذين لم يسجلوا الدخول إلى حساب) خلال نطاق تاريخ محدد.

--[params]
-- date :start_date = 2023-12-01
-- date :end_date = 2024-01-01

SELECT
    date,
    SUM(count) AS pageviews
FROM
    application_requests
WHERE
    req_type = 8
    AND date BETWEEN :start_date AND :end_date
GROUP BY
    date
ORDER BY
     date

شرح استعلام SQL

  • تعريف المعلمات: يبدأ الاستعلام بتعريف معلمتين، :start_date و :end_date، واللتين تُستخدمان لتصفية البيانات إلى الإطار الزمني المطلوب. تقبل كلتا معلمتي التاريخ تنسيق التاريخ YYYY-MM-DD.
  • اختيار البيانات: يختار عمودين، date ومجموع count، والذي يُطلق عليه اسم pageviews. يمثل count عدد مرات مشاهدة الصفحة لكل سجل.
  • مصدر البيانات: يتم الحصول على البيانات من جدول application_requests، الذي يسجل أنواعًا مختلفة من الطلبات المقدمة إلى التطبيق.
  • التصفية: يقوم شرط WHERE بتصفية السجلات لتضمين فقط تلك التي من نوع page_view_anon (req_type = 8) وتقع ضمن نطاق التاريخ المحدد.
  • التجميع: يقوم شرط GROUP BY بتجميع النتائج حسب العمود date، مما يسمح للدالة SUM بحساب إجمالي عدد مرات مشاهدة الصفحة لكل تاريخ.
  • الفرز: أخيرًا، يتم فرز النتائج حسب date بترتيب تصاعدي، مما يوفر عرضًا زمنيًا لمشاهدات الصفحات المجهولة.

نتائج مثال

date pageviews
2023-12-01 12345
2023-12-02 11346
2023-12-03 18344
2023-12-04 15344
2023-12-05 12890

ملاحظات حول req_type

يصنف العمود req_type في جدول application_requests نوع الطلب. في هذا الاستعلام، نحن مهتمون بـ req_type = 8، والذي يتوافق مع مشاهدات الصفحات المجهولة.

تمثل قيم req_type الأخرى أنواعًا مختلفة من الطلبات، مثل مشاهدات الصفحات بواسطة الزاحف، ومشاهدات الصفحات للمستخدمين المسجلين، وحالات استجابة HTTP المختلفة.

جميع قيم req_type:

0. http_total
1. http_2xx
2. http_background
3. http_3xx
4. http_4xx
5. http_5xx
6. page_view_crawler
7. page_view_logged_in
8. page_view_anon
9. page_view_logged_in_mobile
10. page_view_anon_mobile
11. api
12. user_api
3 إعجابات

هل يجب أن يكون هذا req_type IN (8,10) لتضمين أرقام الهواتف المحمولة أيضًا؟

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

كنت أفكر في ذلك في الأصل أيضًا، ولكن تقرير لوحة تحكم المسؤول يتضمن فقط page_view_anon، وليس page_view_anon_mobile.

مع الطريقة التي تم بها هذا الاستعلام الآن، فهو يعكس تمامًا تقرير لوحة التحكم، ويمكنك التحقق من ذلك عن طريق تشغيل الاستعلام والمقارنة بنتائج تقرير لوحة التحكم.

وهذا يثير سؤالًا مختلفًا ولكنه متعلق - هل يجب أن يتضمن تقرير لوحة التحكم مشاهدات الصفحات المجهولة للجوال؟

بشكل حدسي، أعتقد نعم، ولكن سيكون من المثير للاهتمام سماع أفكار أخرى حول هذا الموضوع.

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

لا أستطيع التفكير في سبب لعدم تضمينها.

إعجابَين (2)

آه، آسف. كان يجب أن أكون أكثر تحديدًا في تعليقي. لقد لاحظت أن هذا كان نسخة طبق الأصل تمامًا، وكنت أعني أن تقرير لوحة المعلومات نفسه يجب أن يتضمنه. :pray:

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

عذرًا، إنه الصباح هنا وأحتاج إلى المزيد من القهوة، لذا اصطدمت بجدار اللغة بشدة.

هل تفكر الآن في تضمين الهواتف المحمولة أيضًا بمعنى استبعاد الهواتف المحمولة الآن؟ أو هل يجب أن يعرض مقياسين، إجمالي المشاهدات الفعلية ومشاهدات الهاتف المحمول؟

في الوقت الحالي، يبدو أن تقرير لوحة المعلومات يتضمن فقط نوع الطلب (8) مما يعني أنه يحسب فقط طرق عرض سطح المكتب المجهولة.

نتساءل لماذا لا يتم حساب بيانات الهاتف المحمول أيضًا (إما كإجمالي، أو كرقمين حتى تتمكن من رؤيتها بمزيد من التفصيل).

لا يمكن أن يكون هذا صحيحًا أو أنه يشمل الروبوتات أيضًا. وبهذا يكون لدي حوالي 1000 روبوت في اليوم وهذا يبدو صحيحًا. لكنني أعلم أن لدي عددًا قليلاً جدًا من أجهزة الكمبيوتر المكتبية. والوضع الذي سيكون لدي فيه 1000 جهاز كمبيوتر مكتبي و 9000 جهاز محمول (نعم، هذه هي النسبة) لا يمكن أن يكون صحيحًا.

حسنًا. لست متأكدًا. أعتقد أن الكود موجود هنا:

هناك احتمال أن يكون page_view_anon_mobile مجموعة فرعية من page_view_anon. نأمل أن يتمكن شخص يعرف كيفية قراءة هذا من المساهمة وتقديم المشورة. :slight_smile: :crossed_fingers:

3 إعجابات

هاه. نعم، هذا المنطق سيزيد page_view_anon سواء تم تصنيف عرض الصفحة من جهاز محمول أم لا. أعتقد أنني بحاجة إلى تحديث بعض الاستعلامات . . .

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