أجد نفسي بشكل شبه منتظم أرغب في أخذ أحد التقارير القياسية (اليوم هو Consolidated Pageviews) والتعمق فيه قليلاً.
بدلاً من الاضطرار إلى البدء من الصفر، سيكون من المدهش
إذا تمكنت من الانتقال من التقرير إلى استعلام SQL الخاص به للتكرار.
أجد نفسي بشكل شبه منتظم أرغب في أخذ أحد التقارير القياسية (اليوم هو Consolidated Pageviews) والتعمق فيه قليلاً.
بدلاً من الاضطرار إلى البدء من الصفر، سيكون من المدهش
إذا تمكنت من الانتقال من التقرير إلى استعلام SQL الخاص به للتكرار.
لم يتم بناؤه باستخدام SQL، ولكن لا بأس، يمكننا استخلاصه…
إليك الدليل العام على Meta:
على وجه التحديد: discourse/app/models/concerns/reports/consolidated_page_views.rb at main · discourse/discourse · GitHub
تم بناؤه باستخدام نموذج Rails، ApplicationRequest، على سبيل المثال:
[3] pry(main)> ApplicationRequest.last(10)
=> [#<ApplicationRequest:0x000055c8edcf99f8 id: 4798, date: Thu, 17 Nov 2022, req_type: "http_total", count: 3080>,
#<ApplicationRequest:0x000055c8edcf9ac0 id: 4799, date: Thu, 17 Nov 2022, req_type: "http_background", count: 1014>,
#<ApplicationRequest:0x000055c8edcf9bb0 id: 4800, date: Thu, 17 Nov 2022, req_type: "page_view_crawler", count: 539>,
#<ApplicationRequest:0x000055c8edcf9c78 id: 4801, date: Thu, 17 Nov 2022, req_type: "http_2xx", count: 1929>,
#<ApplicationRequest:0x000055c8edcf9d68 id: 4802, date: Thu, 17 Nov 2022, req_type: "http_4xx", count: 52>,
#<ApplicationRequest:0x000055c8edcf9e30 id: 4803, date: Thu, 17 Nov 2022, req_type: "http_3xx", count: 85>,
#<ApplicationRequest:0x000055c8edcf9f20 id: 4804, date: Thu, 17 Nov 2022, req_type: "page_view_anon", count: 40>,
#<ApplicationRequest:0x000055c8edcf9fe8 id: 4805, date: Thu, 17 Nov 2022, req_type: "page_view_logged_in", count: 148>,
#<ApplicationRequest:0x000055c8edcfa0d8 id: 4806, date: Thu, 17 Nov 2022, req_type: "page_view_logged_in_mobile", count: 134>,
#<ApplicationRequest:0x000055c8edd00a00 id: 4807, date: Thu, 17 Nov 2022, req_type: "page_view_anon_mobile", count: 2>]
الجدول المقابل الذي تحتاجه هو application_requests (ولكنني لا أرى هذا معروضًا في Data Explorer، ربما فاتني؟)
أنواع req_type في هذا التقرير هي:
page_view_logged_in
page_view_anon
page_view_crawler
إنها عملية جمع وتجميع منتظمة، لذا ربما يمكنك البدء بوحدة تحكم Rails:
ApplicationRequest.where(req_type:["page_view_logged_in", "page_view_anon", "page_view_crawler"]).where('date BETWEEN ? AND ?', '11/14/2022', '11/17/2022')
على سبيل المثال
أو ما يعادلها في SQL:
SELECT * FROM application_requests WHERE req_type IN (7, 8, 6) AND (date BETWEEN '11/14/2022' AND '11/17/2022')
تم بالفعل إجراء بعض التجميع لك لأن البيانات موجودة في عمود العد.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.