Come ottenere le visualizzazioni mensili programmaticamente? Preferibilmente usando Data Explorer

Ciao a tutti della community!

Per caso qualcuno ha scritto una query usando Data Explorer per recuperare il numero di visualizzazioni mensili delle pagine?

Esiste un altro modo programmatico per ottenere questi dati oltre ad accedere manualmente alla mia dashboard?

Questa è la query alla base del report Consolidated Pageviews, spero ti sia utile.

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

SELECT
    ar.date,
    CASE 
      WHEN ar.req_type=6 THEN 'Crawler'
      WHEN ar.req_type=7 THEN 'Utenti connessi'
      WHEN ar.req_type=8 THEN 'Utenti anonimi'
    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

Perfetto! Questo aiuta un po’!

È possibile recuperare questo numero:

Questa query elenca il numero totale di visualizzazioni della pagina nel periodo.

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

WITH data AS (
    SELECT
        ar.date,
        CASE 
          WHEN ar.req_type=6 THEN 'Crawler'
          WHEN ar.req_type=7 THEN 'Utenti collegati'
          WHEN ar.req_type=8 THEN 'Utenti anonimi'
        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

Perfetto! Era proprio quello che cercavo.

In realtà, ho ancora una domanda. Forse non sarà un gran problema.

C’è un modo per ottenere i risultati nel formato seguente usando la somma:

Sì, è possibile; in questo caso, è necessario prima regolare il formato del campo data e poi modificare la clausola GROUP BY. Di seguito è riportata la query modificata.

-- [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 'Crawler'
          WHEN ar.req_type=7 THEN 'Utenti connessi'
          WHEN ar.req_type=8 THEN 'Utenti anonimi'
        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

Perfetto! Grazie per l’aiuto!