Dashboard-Bericht - Konsolidierte Seitenaufrufe mit Browsererkennung

Dies ist eine SQL-Version des Dashboard-Berichts für konsolidierte Seitenaufrufe mit Browsererkennung.

Dieser Data Explorer-Bericht bietet eine Ansicht der täglichen Seitenaufrufe mit Browsererkennung über einen bestimmten Zeitraum. Die Seitenaufrufe werden in vier Typen unterteilt:

  • Angemeldeter Browser
  • Anonymer Browser
  • Bekannter Crawler
  • Andere Seitenaufrufe
-- [params]
-- date :start_date
-- date :end_date

SELECT
  ar.date::date AS "date",
  SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser",
  SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser",
  SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler",
  SUM(
    CASE WHEN ar.req_type = 8 THEN count
        WHEN ar.req_type = 7 THEN count
        WHEN ar.req_type = 13 THEN -count
        WHEN ar.req_type = 15 THEN -count
        ELSE 0
    END
  ) AS "Other pageviews"
FROM
  application_requests ar
WHERE
  ar.date::date >= :start_date
  AND ar.date <= :end_date
GROUP BY
  ar.date
ORDER BY
  ar.date ASC

SQL-Abfrageerklärung

  • Parameter:
    • :start_date - Das Startdatum für den Bericht.
    • :end_date - Das Enddatum für den Bericht.
    • Beide Datumsparameter akzeptieren das Datumsformat JJJJ-MM-TT.
  • SELECT-Klausel:
    • ar.date::date AS "date": Konvertiert das Feld date in den Datentyp Datum und bezeichnet es als “date”.
    • SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser": Summiert die Zählungen, bei denen req_type 15 ist, und bezeichnet das Ergebnis als “Logged In Browser”.
    • SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser": Summiert die Zählungen, bei denen req_type 13 ist, und bezeichnet das Ergebnis als “Anonymous Browser”.
    • SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler": Summiert die Zählungen, bei denen req_type 6 ist, und bezeichnet das Ergebnis als “Known Crawler”.
    • SUM(CASE WHEN ar.req_type = 8 THEN count WHEN ar.req_type = 7 THEN count WHEN ar.req_type = 13 THEN -count WHEN ar.req_type = 15 THEN -count ELSE 0 END) AS "Other pageviews": Summiert die Zählungen für andere Arten von Anfragen, passt die Zählungen für req_type 13 und 15 durch Subtraktion an und bezeichnet das Ergebnis als “Other pageviews”.
  • FROM-Klausel:
    • FROM application_requests ar: Gibt die Tabelle application_requests als Datenquelle an und weist ihr den Alias ar zu.
  • WHERE-Klausel:
    • ar.date::date >= :start_date AND ar.date <= :end_date: Filtert die Datensätze, um nur diejenigen einzuschließen, bei denen das date im angegebenen Bereich :start_date und :end_date liegt.
  • GROUP BY-Klausel:
    • GROUP BY ar.date: Gruppiert die Ergebnisse nach dem Feld date, um die Zählungen für jeden Tag zu aggregieren.
  • ORDER BY-Klausel:
    • ORDER BY ar.date ASC: Ordnet die Ergebnisse aufsteigend nach dem Feld date.

Ergebnisse

Die Ergebnisse dieser Abfrage liefern eine tägliche Aufschlüsselung der Seitenaufrufe, kategorisiert nach der Art des Browsers oder Crawlers. Jede Zeile im Ergebnisdatensatz enthält:

  • date: Das spezifische Datum.
  • Logged In Browser: Die Gesamtzahl der Seitenaufrufe von angemeldeten Benutzern.
  • Anonymous Browser: Die Gesamtzahl der Seitenaufrufe von anonymen Benutzern.
  • Known Crawler: Die Gesamtzahl der Seitenaufrufe von bekannten Crawlern.
  • Other pageviews: Die Gesamtzahl der anderen Arten von Seitenaufrufen.

Beispielergebnisse

date Logged In Browser Anonymous Browser Known Crawler Other pageviews
2024-05-02 1238 1085 2727 3983
2024-05-03 1039 1068 5718 3958
2024-05-04 572 628 3847 3761
2024-05-05 447 551 2093 3773
2 „Gefällt mir“

Seltsam. Ich bekomme bei beiden Browsern null. Nur Bots werden gezählt.

Zeigt der Dashboard-Bericht „Konsolidierte Seitenaufrufe mit Browsererkennung“ auch nur Bots an?

Sie meinen das experimentelle? Es funktioniert und zeigt alles schön an.

Dieser Bericht wurde am 25. April 2024 zu Discourse hinzugefügt und zeigt vor diesem Datum keine Ergebnisse für die Ansichten Logged In Browser oder Anonymous Browser an.

Wenn Ihnen nach dem 25. April 2024 Ergebnisse für die Ansichten Logged In Browser oder Anonymous Browser fehlen, müssen Sie Ihre Discourse-Instanz auf die neueste Version aktualisieren.

Ich habe mich gefragt, warum der SQL-Snippet keine Ansichten von Benutzern, sondern nur von Bots anzeigte. Und dann habe ich es mit Juni versucht. Außerdem wird meine Instanz dreimal pro Woche aktualisiert :winking_face_with_tongue:

(Verdammt, diese virtuellen Tastaturen… zu leicht, falsche Stellen zu berühren :smirking_face: :man_facepalming:)

Aber ich habe es ohne den Daten-Explorer neu erstellt und direkt danach mit ihm, und die Zahlen kamen.

Daher wird dies wohl ein weiterer Fall aus der Twilight Zone bleiben. Könnte es ein Caching-Problem mit SQL geben :flushed_face: