Développement #73174
statistiques, permettre de sélectionner plusieurs formulaires
0%
Description
C'est le dernier gros truc qui empêche de déprécier bijoe.
Associated revisions
statistics: allow filtering by multiple formdefs (#73174)
History
Updated by Valentin Deniaud almost 2 years ago
Obstacle ici, on s'appuie sur la méthode get_period_query
https://gitea.entrouvert.org/entrouvert/wcs/src/branch/main/wcs/sql.py#L4641.
Or elle est limitée à un seul formulaire (ou tous) par la ligne suivante :
if criteria.__class__.__name__ == 'Equal' and criteria.attribute == 'formdef_id': # if there's a formdef_id specified, switch to using the # specific table so we have access to all fields table_name = get_formdef_table_name(formdef_class.get(criteria.value))Il faudrait réussir à lever cette limite. Le cas d'usage est, par exemple :
- Formulaire A avec un champ booléen d'identifiant technique '1' et d'identifiant textuel 'bool'
- Formulaire B avec un champ booléen d'identifiant technique '2' et d'identifiant textuel 'bool'
- Compter les demandes de A et de B où le champ 'bool' vaut true en une requête
(si on se limite à A (situtation actuelle), ça donne une requête du type select count(*) from formdata_42_a where f1 = true
(et formdata_43_b/f2 pour B))
Je veux bien l'avis de quelqu'un à l'aise avec le stockage des données dans wcs sur la question et éventuellement des pistes pour avancer.
Updated by Frédéric Péters almost 2 years ago
On n'a pas de quoi faire une récupération d'info sur des champs via une requête unique.
Le bout de piste que j'ai imaginé à un moment ce serait l'ajout d'une colonne jsonb dans laquelle les données marquées "afficher dans les stats" seraient dupliquées, avec en clés les varnames; cette colonne jsonb serait alors reprise dans la table globale wcs_all_forms.
Updated by Valentin Deniaud almost 2 years ago
Frédéric Péters a écrit :
Le bout de piste que j'ai imaginé à un moment ce serait l'ajout d'une colonne jsonb dans laquelle les données marquées "afficher dans les stats" seraient dupliquées, avec en clés les varnames; cette colonne jsonb serait alors reprise dans la table globale wcs_all_forms.
Je me lance là dedans ou cette piste est à mûrir davantage ? -> gros morceau traité dans #73770
Updated by Valentin Deniaud almost 2 years ago
- Les sous-filtres à afficher doivent être seulement les champs communs aux formulaires.
- C'est plus simple techniquement mais la raison n'est pas technique : soit F1 et F2 des formulaires avec un champ A en commun. Si on va cocher « Statistiques » dans les options d'affichage de A sur F1, et que ça le fait apparaître dans les statistiques, alors elles apparaîtront « fausses » car il n'y aura pas les données de A pour F2. Donc ne pas afficher A à ce stade empêche les erreurs de configuration.
- En revanche les options pour chaque sous-filtres peuvent être agrégées sans risque.
- C'est à dire que si un champ liste a pour options ['Paris', 'Marseille'] sur F1 et ['Toulouse', 'Paris'] sur F2, on doit permettre de filtrer sur toutes les villes et pas juste 'Paris'.
Updated by Robot Gitea almost 2 years ago
- Status changed from Nouveau to Solution proposée
Valentin Deniaud (vdeniaud) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://gitea.entrouvert.org/entrouvert/wcs/pulls/94
- Titre : statistiques, permettre de sélectionner plusieurs formulaires (#73174)
- Modifications : https://gitea.entrouvert.org/entrouvert/wcs/pulls/94/files
Updated by Robot Gitea almost 2 years ago
- Status changed from Solution proposée to En cours
Frédéric Péters (fpeters) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea almost 2 years ago
- Status changed from Solution proposée to Solution validée
Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea almost 2 years ago
- Status changed from Solution validée to Résolu (à déployer)
Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/94
- Titre : statistiques, permettre de sélectionner plusieurs formulaires (#73174)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/94/files
Updated by Transition automatique almost 2 years ago
- Status changed from Résolu (à déployer) to Solution déployée
statistics: drop legacy category filter support (#73174)