Comment obtenir les vues de page mensuelles par programme ? De préférence en utilisant Data Explorer

Salut la communauté !

Par hasard, quelqu’un a-t-il écrit une requête utilisant l’Explorateur de données pour récupérer le nombre de vues de page par mois ?

Existe-t-il une autre méthode programmatique pour obtenir ces chiffres que d’accéder manuellement à mon tableau de bord ?

Voici la requête derrière le rapport Consolidated Pageviews, j’espère qu’elle vous sera utile.

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

SELECT
    ar.date,
    CASE 
      WHEN ar.req_type=6 THEN 'Crawlers'
      WHEN ar.req_type=7 THEN 'Utilisateurs connectés'
      WHEN ar.req_type=8 THEN 'Utilisateurs anonymes'
    END,
    ar.count AS views
FROM application_requests ar
WHERE req_type IN (6,7,8)
    AND ar.date::date BETWEEN :start_date::date
	AND :end_date::date
ORDER BY ar.date ASC, ar.req_type

Parfait ! Cela aide un peu !

Est-il possible de récupérer ce nombre :

Cette requête répertorie le nombre total de vues de page sur la période.

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

WITH data AS (
    SELECT
        ar.date,
        CASE 
          WHEN ar.req_type=6 THEN 'Crawlers'
          WHEN ar.req_type=7 THEN 'Utilisateurs connectés'
          WHEN ar.req_type=8 THEN 'Utilisateurs anonymes'
        END AS Pageview,
        ar.count AS views
    FROM application_requests ar
    WHERE req_type IN (6,7,8)
        AND ar.date::date BETWEEN :start_date::date
    	AND :end_date::date
    ORDER BY ar.date ASC, ar.req_type
)

SELECT Pageview, SUM(views) qtt_views
FROM data
GROUP BY Pageview

Parfait ! C’est exactement ce que je cherchais.

J’ai en fait une dernière question. Peut-être que ce ne sera pas trop de travail.

Existe-t-il un moyen d’obtenir les résultats dans le format suivant en utilisant sum :

Oui, c’est possible. Dans ce cas, vous devez d’abord ajuster le format du champ de date, puis modifier le regroupement. Voici la requête ajustée.

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

WITH data AS 
    (SELECT
        date_part('month', ar.date) AS month,
        date_part('year', ar.date) AS year,
        CASE 
          WHEN ar.req_type=6 THEN 'Crawlers'
          WHEN ar.req_type=7 THEN 'Utilisateurs connectés'
          WHEN ar.req_type=8 THEN 'Utilisateurs anonymes'
        END AS pageview,
        ar.count AS views
    FROM application_requests ar
    WHERE req_type IN (6,7,8)
        AND ar.date::date BETWEEN :start_date::date
    	AND :end_date::date
    ORDER BY ar.date ASC, ar.req_type
    )
    
  SELECT 
    month, 
    year, 
    sum(views) AS qtt_views
  FROM  data 
  GROUP BY year, month
  ORDER BY year DESC, month ASC
mois année compteur
1 2021 1000
2 2021 500
1 2020 1500
2 2020 2000
3 2020 2500

Parfait ! Merci pour ton aide !