Meilleurs X contributeurs dans une période donnée

Question stupide, y a-t-il une raison pour laquelle il n’y a pas de rapports « Sujets créés par l’utilisateur dans un laps de temps » et « Messages créés par l’utilisateur dans un laps de temps » ? Il me semble que c’est une métrique couramment demandée : qui a été le plus productif dans un laps de temps donné. Ou est-ce que cela fait partie de la philosophie de Discourse de ne pas le fournir facilement ?

Je suppose que je vais devoir creuser dans l’Explorateur de données pour cela ? (surtout pour le corréler avec « par entreprise » ?)

(Je l’ai maintenant créé avec un tableau croisé dynamique Excel à partir de l’exportation utilisateur, mais cela ne fonctionne que pour les chiffres absolus et non pour les périodes)

1 « J'aime »

Je ne pense pas qu’il y ait eu beaucoup de gens qui l’ont demandé ?

Cherchez-vous simplement à consulter un seul utilisateur, ou une sorte de Top X sur une période donnée ? Une requête d’explorateur de données pour cela serait assez simple.

Si vous me faites savoir ce que vous cherchez, nous pourrons le déplacer vers Data & reporting et voir si nous pouvons concocter quelque chose.

Oui, les meilleurs x par période par publications/réponses, par sujets ou par publications+sujets. Je peux le faire moi-même, je ne voulais juste pas installer l’explorateur de données pour éloigner les vautours :slight_smile:

1 « J'aime »

Ah pas de souci. :slight_smile:

Pour les futurs voyageurs, je pense que quelque chose comme ceci ferait l’affaire :

-- [params]
-- date :start_date = 2024-05-01
-- date :end_date = 2024-05-31
-- int :top_x = 10
-- int :column_sort = 2

SELECT 
    p.user_id,
    COUNT(*) AS "Topics+Posts",
    COUNT(*) FILTER (WHERE p.post_number = 1) AS "Topics",
    COUNT(*) FILTER (WHERE p.post_number <> 1) AS "Posts"
FROM posts p
  JOIN topics t ON t.id = p.topic_id
WHERE p.created_at::date BETWEEN :start_date AND :end_date
  AND t.archetype = 'regular'
  AND p.deleted_at ISNULL
  AND t.deleted_at ISNULL
  AND p.post_type = 1
  AND p.user_id > 0
GROUP BY p.user_id
ORDER BY :column_sort DESC
LIMIT :top_x
3 « J'aime »