Top X poster in un determinato periodo di tempo

Domanda stupida, c’è un motivo per cui non ci sono i report “Argomenti creati dall’utente in un intervallo di tempo” e “Post creati dall’utente in un intervallo di tempo”? Mi sembra una metrica richiesta comunemente: chi è stato più produttivo in un dato intervallo di tempo. O fa parte della filosofia di Discourse non fornirla facilmente?

Immagino di dover scavare nel Data Explorer per questo? (soprattutto per correlarlo con “per azienda”?)

(Ora l’ho creato con un Pivot di Excel dall’esportazione utente, ma funziona solo per numeri assoluti e non per periodo)

1 Mi Piace

Non credo che molte persone l’abbiano chiesto?

Stai cercando solo la ricerca di un singolo utente o una specie di Top X in un dato periodo di tempo? Una query di esplorazione dati per questo sarebbe piuttosto semplice.

Se mi fai sapere cosa stai cercando, possiamo dividerlo in Data & reporting e vedere se riusciamo a mettere insieme qualcosa.

Sì, i primi x per intervallo di tempo per post/risposte, per argomenti o per post+argomenti. Posso farlo da solo, solo che non volevo installare il data explorer per tenere lontani gli avvoltoi :slight_smile:

1 Mi Piace

Ah nessun problema. :slight_smile:

Per i futuri viaggiatori, penso che qualcosa del genere andrebbe bene:

-- [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 "Argomenti+Post",
    COUNT(*) FILTER (WHERE p.post_number = 1) AS "Argomenti",
    COUNT(*) FILTER (WHERE p.post_number <> 1) AS "Post"
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 Mi Piace