Dashboard-Bericht - Benutzerbesuche

Dies ist eine SQL-Version des Dashboard-Berichts für Benutzerbesuche und Benutzerbesuche (Mobil).

Dieser Dashboard-Bericht liefert Einblicke in das Benutzerengagement, indem er tägliche Benutzerbesuche verfolgt. Administratoren können die Daten nach Datumsbereich, Gruppenzugehörigkeit und Gerätetyp (mobil oder nicht mobil) filtern.

Das Verständnis der Besuchsmuster von Benutzern kann Administratoren dabei helfen, fundierte Entscheidungen zur Verbesserung des Benutzerengagements und der Community-Gesundheit zu treffen.

-- [params]
-- date :start_date = 2024-01-06
-- date :end_date = 2024-02-07
-- null text :group_name
-- boolean :mobile_views = false

SELECT uv.visited_at AS date,
       COUNT(DISTINCT uv.user_id) AS visits_count
FROM user_visits uv
LEFT JOIN group_users gu ON gu.user_id = uv.user_id
LEFT JOIN groups g ON g.id = gu.group_id AND (:group_name IS NULL OR g.name = :group_name)
WHERE uv.visited_at BETWEEN :start_date AND :end_date
AND (:group_name IS NULL OR g.name IS NOT NULL)
AND (:mobile_views = false OR uv.mobile = true)
GROUP BY uv.visited_at
ORDER BY uv.visited_at ASC

Erklärung der SQL-Abfrage

Die SQL-Abfrage wählt Daten aus der Tabelle user_visits aus, die jeden Besuch eines Benutzers auf der Plattform protokolliert. Die Hauptkomponenten der Abfrage werden nachstehend erläutert:

  • Parameter
    • :start_date und :end_date definieren den Datumsbereich für den Bericht. Beide Datumsparameter akzeptieren das Datumsformat JJJJ-MM-TT.
    • :group_name ermöglicht die Filterung nach einem bestimmten Gruppennamen. Wenn nicht angegeben, werden Daten für alle Gruppen einbezogen.
    • :mobile_views bestimmt, ob nur Besuche von mobilen Geräten (true) oder alle Besuche (false) einbezogen werden sollen.
  • Datenauswahl und Join-Operationen:
    • Die Abfrage wählt das Besuchsdatum (visited_at) aus und zählt eindeutige Benutzer-IDs (user_id), um die Anzahl der eindeutigen Besuche pro Tag zu berechnen.
    • Sie führt einen LEFT JOIN mit der Tabelle group_users durch, um Benutzerbesuche ihren jeweiligen Gruppen zuzuordnen, gefolgt von einem weiteren LEFT JOIN mit der Tabelle groups, um nach dem angegebenen Gruppennamen zu filtern, falls vorhanden.
  • Filterung:
    • Die WHERE-Klausel wendet Filter basierend auf den Eingabeparametern an:
      • Sie stellt sicher, dass nur Besuche innerhalb des angegebenen Datumsbereichs einbezogen werden.
      • Sie filtert nach dem Gruppennamen, falls angegeben, und stellt sicher, dass Besuche für Benutzer gezählt werden, die zu dieser Gruppe gehören.
      • Sie schließt nur mobile Besuche ein, wenn der Parameter :mobile_views auf true gesetzt ist.
  • Gruppierung und Sortierung:
    • Die Abfrage gruppiert die Ergebnisse nach dem Besuchsdatum (visited_at), um die Besuchszahlen pro Tag zu aggregieren.
    • Sie sortiert die Ergebnisse aufsteigend nach Datum und bietet so eine chronologische Ansicht der Benutzerbesuche.

Beispielergebnisse

date visits_count
2024-01-06 67
2024-01-07 71
2024-01-08 88
2024-01-09 79
2024-01-10 78
3 „Gefällt mir“

6 Beiträge wurden in ein neues Thema aufgeteilt: Ändern Sie die Beschreibung von „Benutzerbesuche“, um klarzustellen, dass sie sich auf angemeldete Benutzer bezieht