لا أرى هذه البيانات في التقارير. أنا أستخدم إضافة مستكشف البيانات، فما هو الاستعلام الذي سيعطيني عدد مرات مشاهدة الصفحات للمستخدمين لدينا فقط أسبوعيًا، مع استبعاد نشاط الزحف (crawler) وأعضاء طاقم المنتدى، ولكن مع تضمين مشاهدات الصفحات المجهولة.
هل شيء مثل هذا سيعمل؟
هل سيأخذ في الاعتبار المشاهدات المجهولة؟
أيضًا، هل هناك طريقة لتحويل هذا إلى تقرير؟
-- [params]
-- string :date = '2020-01-01'
WITH t AS (
SELECT date(:date) AS START
),
f AS (
SELECT id as user_id
FROM users u
WHERE u.moderator = 'True' or u.admin = 'True'
)
SELECT
date_part('year', viewed_at) as year,
date_part('week', viewed_at) as week,
COUNT(topic_id) AS topics_viewed
FROM topic_views, t
WHERE viewed_at > t.START
AND user_id not in (select f.user_id from f)
GROUP BY year, week
ORDER BY year, week
نعم، كما هو مكتوب، يقوم بحساب المشاهدات المجهولة. بالنسبة للمشاهدات المجهولة للمواضيع، ستكون قيمة user_id هي NULL وستكون قيمة ip_address هي NOT NULL. يمكنك استبعاد المشاهدات المجهولة بإضافة الشرط التالي إلى الاستعلام:
إذن، شيء من هذا القبيل؟ إذن، هل سيكون عنوان IP فارغًا (null) لمحركات الزحف؟
أريد تضمين:
المشاهدين المجهولين
المستخدمين المسجلين
أريد استبعاد:
محركات الزحف
مستخدمو الطاقم
-- [params]
-- string :date = '2020-01-01'
-- boolean :staff = false
WITH t AS (
SELECT date(:date) AS START
),
f AS (
SELECT id as user_id
FROM users u
WHERE u.moderator = 'True' or u.admin = 'True'
)
SELECT
user_id,
-- date_part('year', viewed_at) as year,
-- date_part('week', viewed_at) as week,
COUNT(topic_id) AS topics_viewed
FROM topic_views, t
WHERE viewed_at > t.START
AND ((ip_address is not null AND user_id is NULL) OR
user_id not in (select f.user_id from f))
GROUP BY user_id
ORDER BY topics_viewed DESC
-- GROUP BY year, week
-- ORDER BY year, week
استعلام تقرير عدد مرات عرض الصفحات من جدول application_requests. ومع ذلك، لا يوفر هذا الجدول أي بيانات لفلترة مشاهدات الموظفين. ما يتم إرجاعه هو مجموع عدد الطلبات لكل نوع في اليوم. يُرجع req_type كرقم صحيح. يتم ربط الأرقام الصحيحة بنوع الطلب وفقًا للقواعد التالية:
يعيد جدول topic_views الذي تستخدمه استعلامك مدخلاً واحدًا كحد أقصى لكل مستخدم أو عنوان IP في اليوم لكل موضوع. لا يمكن استخدام هذه البيانات لتتبع عدد مرات عرض الصفحات، حيث قد يكون هناك طلبات تطبيق متعددة لعرض موضوع واحد.
أرى. إذن، بشكل أساسي، لا يمكن استبعاد مستخدمي الموظفين للحصول على أرقام دقيقة لعدد مرات عرض الصفحة.
أحاول حظي هنا، هل من الممكن استبعاد فئات معينة (أظن أن الإجابة لا)؟ لدينا بعض الفئات الخاصة المخصصة للفريق فقط، ولا نريد أن تؤثر هذه الفئات على أرقام عدد مرات عرض الصفحة الخاصة بالمستخدمين.
لا أرى أي طريقة لاستبعاد الطاقم من البيانات التي يوفرها جدول application_requests. كما أنه من المستحيل تصفية نتائج هذا الجدول حسب الفئة. إذا كنت تحاول الحصول على بيانات حول استخدام موقعك، فسيوفر جدول topic_views الذي تستخدمه في استعلامك الأصلي بيانات دقيقة حول كيفية استخدام موقعك، لكن هذه البيانات لن تتطابق مع ما تراه في تقرير عدد مرات عرض الصفحة.