Ciao.\n\nAbbiamo un flusso di lavoro sul nostro forum in cui assegniamo discussioni a un gruppo e, una volta che quel gruppo ha fatto ciò che riteneva di poter fare con una data discussione, se la deseleziona. Questo assicura che tali discussioni scompaiano dall’elenco delle discussioni di cui sono ancora responsabili.\n\nE, ai fini della nostra reportistica (“che tipo di argomenti vengono tipicamente assegnati al gruppo ____”), vorremmo poter cercare nel nostro forum eventuali istanze di assegnazione di un gruppo.\n\nC’è una sintassi di ricerca che non conosco, o qualche idea su come estrarre tali report? Mi piace pensare che mi stia solo perdendo qualche sintassi, dato che tutte le informazioni sulle assegnazioni di gruppo (passate e presenti) sono visibili durante la navigazione di una discussione.
1 Mi Piace
È possibile estrarre questi dati utilizzando il plugin Data Explorer.
Spero che la query seguente ti sia d’aiuto.
1. Elenca tutti gli argomenti attualmente assegnati a un gruppo
SELECT
g.name group_name,
a.topic_id,
a.assigned_by_user_id,
a.created_at
FROM assignments a
INNER JOIN groups g ON g.id = a.assigned_to_id
WHERE assigned_to_type = 'Group'
ORDER BY g.name, created_at DESC
2. Elenca la cronologia dell’assegnazione di argomenti ai gruppi
SELECT
pcf.value AS group,
p.topic_id,
p.user_id AS "assigned_by_user_id",
pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE action_code = 'assigned_group'
AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC
4 Mi Piace
Wow @michebs – grazie per il tuo aiuto!
Avevamo iniziato a mettere insieme una query simile entro la fine di oggi (trovare la tabella post_custom_fields ci ha sconvolto), ma la tua è molto più pulita alla fine.
Abbiamo notato che mancavano alcune voci quando gli argomenti erano stati riassegnati direttamente anziché non assegnati e poi assegnati, quindi ho modificato leggermente la condizione WHERE per tenerne conto. Quindi alla fine siamo arrivati a:
SELECT
pcf.value AS group,
p.topic_id,
p.user_id AS "assigned_by_user_id",
pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE (action_code = 'assigned_group' OR action_code = 'reassigned_group')
AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC
Grazie ancora per il tuo aiuto. ![]()
3 Mi Piace
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.