Rapport de tableau de bord - Utilisateurs actifs quotidiens

Ceci est une version SQL du rapport de tableau de bord pour les utilisateurs actifs quotidiennement.

Le rapport SQL comptera le nombre d’utilisateurs uniques qui ont aimé ou publié sur un site chaque jour.

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

SELECT
  ua.created_at::date AS day,
  COUNT(DISTINCT ua.user_id) AS engaged_users
FROM user_actions ua
INNER JOIN topics t on t.id = ua.target_topic_id
WHERE ua.created_at::date BETWEEN :start_date AND :end_date
    AND ua.action_type IN (1, 4, 5, 12)
GROUP BY ua.created_at::date
ORDER BY ua.created_at::date ASC

Répartition de la requête :

  • Paramètres de date : La requête accepte deux paramètres de date, :start_date et :end_date, qui vous permettent de spécifier la plage pour le rapport.
  • Sélection : Elle sélectionne la date de l’action (ua.created_at::date) et compte les identifiants d’utilisateur distincts (COUNT(DISTINCT ua.user_id)) qui ont effectué les actions, en aliasant ce décompte sous le nom de engaged_users.
  • Source de données : La requête extrait de la table user_actions (ua) et la joint avec la table topics (t) pour se concentrer sur les actions liées aux sujets.
  • Types d’action : Elle filtre les actions pour inclure uniquement celles des types 1, 4, 5 et 12. Ces types d’action correspondent aux activités spécifiques suivantes :
    • 1 : J'aime
    • 4 : Nouveau sujet
    • 15 : Réponse
    • 12 : Nouveau message privé
  • Regroupement et tri : Les résultats sont regroupés par la date de l’action et triés par ordre croissant, vous offrant une vue chronologique de l’activité.

Résultats d’exemple

jour utilisateurs actifs
2023-01-01 136
2023-01-02 124
2023-01-03 187
2023-01-04 287
2023-01-05 110
2023-01-06 95
2023-01-07 73
5 « J'aime »

Celle-ci est assez intéressante quand on la voit présentée ainsi. Ce serait bien d’avoir peut-être une version qui inclurait les réactions et le vote (sondages, votes de sujets, votes de posts - peut-être même des commentaires de vote de posts). :thinking:

2 « J'aime »