Como obter pageviews mensais programaticamente? Preferencialmente usando o Data Explorer

E aí, comunidade!

Por acaso alguém já escreveu uma consulta usando o Data Explorer para buscar o número de visualizações de página mensais?

Existe alguma outra maneira programática de obter esses números além de acessar meu painel manualmente?

Esta é a consulta por trás do relatório Consolidated Pageviews, espero que ajude.

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

SELECT
    ar.date,
    CASE 
      WHEN ar.req_type=6 THEN 'Crawlers'
      WHEN ar.req_type=7 THEN 'Usuários logados'
      WHEN ar.req_type=8 THEN 'Usuários anônimos'
    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
4 curtidas

Perfeito! Isso ajuda um pouco!

É possível buscar esse número:

Esta consulta lista o número total de visualizações de página no período.

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

WITH data AS (
    SELECT
        ar.date,
        CASE 
          WHEN ar.req_type=6 THEN 'Robôs de indexação'
          WHEN ar.req_type=7 THEN 'Usuários logados'
          WHEN ar.req_type=8 THEN 'Usuários anônimos'
        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
3 curtidas

Perfeito! Era isso que eu estava procurando.

1 curtida

Na verdade, tenho mais uma pergunta. Talvez isso não seja muito trabalhoso.

Existe uma maneira de obter os resultados no formato a seguir usando sum:

Sim, é possível. Neste caso, você precisa ajustar primeiro o formato do campo de data e, em seguida, ajustar o agrupamento. Abaixo está a consulta ajustada.

-- [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 'Logged in users'
          WHEN ar.req_type=8 THEN 'Anonymous users'
        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
month year count
1 2021 1000
2 2021 500
1 2020 1500
2 2020 2000
3 2020 2500
4 curtidas

Perfeito! Obrigado pela ajuda!

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.