# Rapport du tableau de bord - Sujets

**URL:** <https://meta.discourse.org/t/dashboard-report-topics/288446>\
**Category:** Data & reporting\
**Tags:** sql-query, dashboard-reports, dashboard-sql\
**Created:** [Décembre 12, 2023, 11:25 UTC](https://meta.discourse.org/t/dashboard-report-topics/288446 "2023-12-12T23:25:03Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![SaraDev](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saradev/32/335139_2.png) [@SaraDev](https://meta.discourse.org/u/SaraDev)\
**Post date:** [Décembre 12, 2023, 11:25 UTC](https://meta.discourse.org/t/dashboard-report-topics/288446/1 "2023-12-12T23:25:03Z")

</div>

Ceci est une version SQL du rapport de tableau de bord pour les sujets.

Ce rapport fournit un décompte des nouveaux sujets créés quotidiennement dans une plage de dates spécifiée. Le rapport n’inclut pas les messages personnels, uniquement les sujets réguliers visibles sur le forum.

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

SELECT 
     p.created_at::date as day,
    COUNT(p.id) AS topics_created
FROM posts p
INNER JOIN topics t ON t.id = p.topic_id AND t.deleted_at ISNULL
WHERE p.created_at::date BETWEEN :start_date AND :end_date
    AND p.post_number = 1
    AND p.user_id > 0 
    AND p.deleted_at ISNULL
    AND t.archetype = 'regular'
GROUP BY p.created_at::date
ORDER BY p.created_at::date ASC

```

### Explication de la requête SQL

La requête SQL effectue les actions suivantes :

- **Définition des paramètres** : Elle accepte deux paramètres, `:start_date` et `:end_date`, qui définissent la plage de dates pour le rapport. Les deux paramètres de date acceptent le format `AAAA-MM-JJ`.
- **Sélection des données** : La requête sélectionne la date de création des publications (`p.created_at`) et le nombre d’identifiants de publication (`COUNT(p.id)`) en tant que `topics_created`.
- **Jointures** : Elle joint la table `posts` avec la table `topics` sur leurs champs `id` respectifs, en s’assurant que seuls les sujets non supprimés (`t.deleted_at ISNULL`) sont pris en compte.
- **Filtres** : La requête filtre les publications pour inclure uniquement celles qui :
  - Ont été créées dans la plage de dates spécifiée (`p.created_at::date BETWEEN :start_date AND :end_date`).
  - Sont la première publication d’un sujet (`p.post_number = 1`), indiquant le début d’un nouveau sujet.
  - Ont été créées par des utilisateurs enregistrés (`p.user_id > 0`), excluant les publications système.
  - N’ont pas été supprimées (`p.deleted_at ISNULL`).
  - Appartiennent à des sujets de l’archétype « regular » (`t.archetype = 'regular'`), excluant les messages personnels.

- **Regroupement** : Les résultats sont regroupés par la date de création des publications (`p.created_at::date`).
- **Tri** : La sortie finale est triée par date de création dans l’ordre croissant (`ORDER BY p.created_at::date ASC`), fournissant une vue chronologique de la création de nouveaux sujets.

### Résultats d’exemple

| jour | sujets\_créés |
| --- | --- |
| 2023-11-11 | 18 |
| 2023-11-12 | 10 |
| 2023-11-13 | 21 |
| 2023-11-14 | 19 |
| 2023-11-15 | 22 |
| … | … |

---

_[View the full topic](https://meta.discourse.org/t/dashboard-report-topics/288446)._
