Informe del panel de control - Página de vistas consolidada

Este es una versión SQL del Informe del Panel para Vistas de Página Consolidadas.

Este informe SQL proporciona un recuento diario de las vistas de página de usuarios registrados, usuarios anónimos y rastreadores en un sitio de 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

Explicación de la Consulta SQL

La consulta opera en la tabla application_requests, que registra varios tipos de solicitudes realizadas al foro. Se enfoca en tres tipos específicos de solicitudes identificadas por los valores de req_type:

  • 6: Vistas de Rastreador
  • 7: Vistas de Usuario Registrado
  • 8: Vistas de Usuario Anónimo

Aquí hay una explicación paso a paso de lo que hace la consulta:

  • Parámetros: La consulta acepta dos parámetros, :start_date y :end_date, que permiten al usuario especificar el rango de fechas para el informe. Ambos parámetros de fecha aceptan el formato de fecha YYYY-MM-DD.
  • Selección: La consulta selecciona la fecha de la solicitud (ar.date) y la convierte al tipo date. También calcula el total de vistas y el desglose de vistas por tipo (rastreador, usuario registrado y usuario anónimo) para cada fecha dentro del rango especificado.
  • Suma: Suma la columna count para cada tipo de vista. Las declaraciones CASE se utilizan para incluir condicionalmente los recuentos en la suma según el req_type.
  • Filtrado: La cláusula WHERE filtra los registros para incluir solo aquellos con valores de req_type de 6, 7 u 8 y con fechas que caen entre :start_date y :end_date especificados.
  • Agrupación: La consulta agrupa los resultados por fecha, asegurando que los recuentos para cada tipo de vista se agreguen por día.
  • Ordenación: Los resultados se ordenan por fecha para proporcionar una vista cronológica del tráfico.

Resultados de Ejemplo

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 Me gusta

@SaraDev al mirar nuestro panel de administración, muestra req_type = 13 (page_view_anon_browser) y 15 (page_view_logged_in_browser). ¿Es un error? ¿Hay alguna explicación de los subtipos de solicitud? Por ejemplo, no veo cómo cualquier combinación de los tipos de inicio de sesión llega al número 705.

1 me gusta

El campo req_type en application_requests corresponde a los siguientes tipos de solicitudes de aplicación en 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

También puedes ver esta información directamente en el Explorador de Datos al consultar las Tablas de la Base de Datos y Esquema.

En septiembre de 2024, mejoramos la forma en que se rastrean y cuentan las visitas a páginas. Aquí tienes una explicación de lo que cambió.

Es probable que las métricas que estás viendo en tu panel de control utilicen el nuevo método “Tráfico del Sitio” para rastrear las visitas a páginas, y puedes encontrar el SQL correspondiente para este método aquí: Informe del Panel - Tráfico del Sitio.

Gracias Sara, la consulta en el tema Dashboard Report - Site Traffic responde a mi pregunta sobre el uso de 13 y 15 y también por qué 13 + 14 != 8.

1 me gusta