mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-16 11:49:18 +02:00
fix(qlik): effacer Période puis extraire année par année — la méthode de l'app
Deux remarques de l'utilisateur ont débloqué le sujet : « sur ce tableau j'ai 2024, 2025, 2026 et je sors mois par mois », et « tu mets 2026 et tu as la comparaison N-1 ». Type_Cal='N' ne désigne donc pas « l'année civile en cours » mais L'ANNÉE SÉLECTIONNÉE. Il suffit d'enchaîner les années couvertes par la fenêtre (2025 puis 2026) pour reconstituer 12 mois glissants — chaque passe livrant les 5 mesures, et non la seule quantité comme « Quantité COMP ». Ce mécanisme existait déjà (monthDimPath(yearN - 1)) mais restait sans effet : [qlik-pw] (mois) passe N-1 terminée : 299905 → 299905 points mensuels La sélection « Période », héritée de l'ouverture de l'app et jamais choisie par nous (observé « Période:1/4 » dès le premier diagnostic de la session), épinglait le contexte sur l'année en cours et annulait la sélection d'année. - choisirPeriode() teste désormais EN PREMIER l'état sans aucune sélection de Période — l'état dans lequel un utilisateur voit 2024/2025/2026 — et efface la sélection dès que la couverture est incomplète. - L'orchestration boucle sur les années de la fenêtre au lieu d'une passe principale plus une passe N-1 dérivée de COMP. - Chaque passe n'écrit que les mois DE LA FENÊTRE et les totaux s'additionnent sur ces mois : deux années ne peuvent pas se doubler puisqu'elles ne partagent aucun mois. « Quantité COMP » n'est plus utilisée. - L'agrégation directe des faits reste en secours, et le garde-fou d'intégrité reste actif : sans les 12 mois, le cache n'est pas écrit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DfqUihgixw4K1AmJhizWiu
This commit is contained in:
2 files changed
+141
-76
No files matched your search
@@ -103,7 +103,36 @@ Tout ce qu'on observait en découle :
|
||||
| Janvier→juillet de l'année précédente renseignés | Ce sont les mois que « Quantité COMP » sait atteindre |
|
||||
| `Sum(quantite)` brut inexploitable | Il additionne les lignes N **et** COMP : il double compte |
|
||||
|
||||
### Mesuré : aucune `Période` ne porte 12 mois glissants
|
||||
### La bonne méthode : effacer `Période`, puis extraire ANNÉE par ANNÉE
|
||||
|
||||
C'est ce que fait un utilisateur dans l'app : il sélectionne **2026** et obtient
|
||||
l'année plus sa comparaison N-1 ; il sélectionne 2025 et obtient 2025. Les
|
||||
données de 2024, 2025 et 2026 sont toutes accessibles mois par mois. `Type_Cal='N'`
|
||||
désigne simplement **l'année sélectionnée**.
|
||||
|
||||
Il suffit donc d'enchaîner les années couvertes par la fenêtre (2025 puis 2026)
|
||||
pour reconstituer les 12 mois glissants — chaque passe donnant les 5 mesures, et
|
||||
non la seule quantité comme « Quantité COMP ».
|
||||
|
||||
Ce mécanisme existait déjà dans le code (« passe N-1 ») mais restait **sans
|
||||
effet** :
|
||||
|
||||
```
|
||||
[qlik-pw] (mois) passe N-1 terminée : 299905 → 299905 points mensuels
|
||||
^^^^^^^^^^^^^^ aucun gain
|
||||
```
|
||||
|
||||
La sélection `Période` **héritée de l'ouverture de l'app** (observé
|
||||
« Période:1/4 » alors que rien n'avait été sélectionné) épinglait le contexte sur
|
||||
l'année en cours et annulait la sélection d'année. `choisirPeriode()` teste donc
|
||||
en **premier** l'état sans aucune sélection de `Période`, et l'efface dès que la
|
||||
couverture est incomplète.
|
||||
|
||||
Chaque passe n'écrit que les mois **de la fenêtre**, et les totaux s'additionnent
|
||||
sur ces mois : deux années ne peuvent pas se doubler puisqu'elles ne partagent
|
||||
aucun mois.
|
||||
|
||||
### Mesuré : aucune valeur de `Période` ne porte à elle seule 12 mois
|
||||
|
||||
`choisirPeriode()` essaie chaque valeur et mesure la couverture réelle sur un
|
||||
cube `[Mois] × Quantité N`. Résultat en production :
|
||||
|
||||
Reference in new issue
Block a user