Statistiques
La section Consultation Données affiche 6 cartes de statistiques en haut de page, calculées dynamiquement selon les filtres actifs ou sur l'ensemble de la base.
Les 6 indicateurs
| Indicateur | Source SQL | Description |
|---|---|---|
| Références Actives | REFERENCES WHERE REF_ACTIF = 1 | Nombre de références actives |
| Références Inactives | REFERENCES WHERE REF_ACTIF = 0 | Nombre de références inactives |
| Catégories | CATEGORIES WHERE ACTIF = 1 (DISTINCT) | Nombre de catégories distinctes |
| Acteurs Actifs | ACTEURS WHERE ACTIF = 1 | Nombre d'acteurs actifs |
| Contrats Actifs | CONTRATS WHERE STATUT = 1 | Nombre de contrats actifs |
| Réfs équivalentes | REFERENCES_CONCURRENTS avec REF_EQUIVALENTE non nulle | Nombre d'entrées d'équivalents concurrents |
Comportement selon les filtres
Sans filtre actif
Les statistiques affichent les totaux globaux de la base, calculés au chargement de la page via des requêtes directes et simples.
Avec filtre(s) actif(s)
Chaque indicateur est recalculé indépendamment via sa propre requête SQL paramétrée. Les jointures supplémentaires sont ajoutées dynamiquement selon les filtres appliqués (catégorie, plateforme, trigramme, contrat, etc.).
Les cartes affichent alors un sous-label "Calcul filtré" pour indiquer que les chiffres correspondent à la sélection en cours.
Les 5 statistiques sont calculées par 5 requêtes SQL indépendantes. En cas de filtres complexes, ce sont donc au minimum 6 requêtes supplémentaires (dont le COUNT total pour la pagination).
Logique de calcul filtré
Pour chaque statistique, la requête de base est construite dynamiquement :
- La table principale est définie (ex:
REFERENCES,ACTEURS,CONTRATS) - Les jointures nécessaires sont ajoutées uniquement si le filtre correspondant est actif (via un tableau
$joinspour éviter les doublons de jointures) - Les conditions
WHEREsont accumulées dans un tableau$where - Si une recherche globale est active, des sous-requêtes
EXISTSsurREFERENCES_CONCURRENTSsont ajoutées
Indicateur visuel
Les cartes de statistiques ont un style distinct selon leur état :
- Fond normal : vue globale (aucun filtre)
- Classe CSS
.filtered: vue filtrée (au moins un filtre ou une recherche actifs)