Wie bekomme ich monatliche Pageviews programmatisch? Am besten mit Data Explorer

Hey Community!

Hat jemand zufällig eine Abfrage mit dem Data Explorer geschrieben, um die monatliche Seitenaufrufzahl abzurufen?

Gibt es eine andere programmatische Möglichkeit, diese Zahlen zu erhalten, als manuell auf mein Dashboard zuzugreifen?

Dies ist die Abfrage für den Bericht Consolidated Pageviews. Ich hoffe, sie hilft Ihnen weiter.

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

SELECT
    ar.date,
    CASE 
      WHEN ar.req_type=6 THEN 'Crawler'
      WHEN ar.req_type=7 THEN 'Angemeldete Benutzer'
      WHEN ar.req_type=8 THEN 'Anonyme Benutzer'
    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

Perfekt! Das hilft schon etwas!

Ist es möglich, diese Zahl abzurufen:

Diese Abfrage listet die Gesamtzahl der Seitenaufrufe im angegebenen Zeitraum auf.

-- [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 'Angemeldete Benutzer'
          WHEN ar.req_type=8 THEN 'Anonyme Benutzer'
        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

Perfekt! Das war genau das, was ich gesucht habe.

Ich habe noch eine weitere Frage. Vielleicht ist das nicht allzu viel Aufwand.

Gibt es eine Möglichkeit, die Ergebnisse im folgenden Format zu erhalten, indem man sum verwendet:

Ja, das ist möglich. In diesem Fall müssen Sie zunächst das Format des Datumsfeldes anpassen und danach die Gruppierung ändern. Nachfolgend finden Sie die angepasste Abfrage.

-- [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 'Angemeldete Benutzer'
          WHEN ar.req_type=8 THEN 'Anonyme Benutzer'
        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

Perfekt! Danke für die Hilfe!