Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Majax10
Contributor
Contributor

Cumul de comptage en évitant les doublons.

Bonjour à tous, 

Après des heures de recherche sans succès je me résous à poser ma question ici ...  

Dans notre société nous effectuons un inventaire tournant, où chaque emplacement de l'entrepôt doit être compté au moins une fois sur l'exercice fiscal. 

J'arrive à obtenir le total distinct avec cette formule : 

Count({<
comments={'BULK'}       //ici c'est pour spécifier le type d'entreposage en palettes
,SKD_cnt_date={">=$(='01/04/'&if(month(today())<4,Year(today())-1,Year(today())))"}   // et ici c'est pour compter à partir du 1er avril de l'exercice fiscal en cours
>}distinct SKD_bin)

pour l'instant c'est OK 

Mais j'ai besoin d'afficher l'évolution de cet inventaire par semaine. 

Pour cela j'utilise la fonction rangesum(above(, comme ceci : 

RangeSum(above( Count({<
comments={'BULK'}
,SKD_cnt_date={">=$(='01/04/'&if(month(today())<4,Year(today())-1,Year(today())))"}
>}distinct SKD_bin),0,RowNo()))

Et alors que le total distinct sans détail par semaine me donne 2026 emplacements comptés au moins une fois, 

le cumul me donne une valeur max en bas de tableau à 2573 emplacements, alors que je devrais également obtenir 2026.

Je comprends bien que c'est parce que sur l'année des emplacements sont compté plusieurs fois et j'arrive à obtenir ce que je veux sur Excel mais comment l'avoir directement sur Qlik Sense ? 

Merci de votre aide !

 

Labels (2)
2 Replies
igoralcantara
Partner - Creator
Partner - Creator

Il semble que vous rencontriez un problème de calcul des totaux cumulatifs dans Qlik Sense. Le problème que vous rencontrez pourrait être dû à la façon dont la fonction `rangesum(above())` agrège les valeurs sur les lignes.

Une approche pour résoudre cela pourrait être de veiller à ce que le décompte des emplacements distincts soit effectué correctement pour chaque semaine, puis de calculer la somme cumulée en fonction de ces décomptes hebdomadaires.

Voici une suggestion pour modifier votre expression afin d'atteindre cet objectif :

RangeSum(Aggr(Count({< comments={'BULK'}, SKD_cnt_date={">=$(='01/04/'&if(month(today())<4,Year(today())-1,Year(today())))"}>} distinct SKD_bin), WeekStart(SKD_cnt_date)))


Cette expression utilise la fonction `Aggr()` pour calculer le décompte des emplacements distincts pour chaque semaine, puis `RangeSum()` est appliqué pour calculer la somme cumulative sur ces décomptes hebdomadaires.

Assurez-vous d'ajuster l'expression en fonction de votre modèle de données et des noms de champs dans Qlik Sense. Cela devrait vous aider à obtenir le total cumulatif correct des emplacements distincts comptés au moins une fois par semaine.

----
datavoyagers.net
Majax10
Contributor
Contributor
Author

Merci mais ça ne peut pas marcher, c'est ce type de réponse que j'ai à chaque fois avec Chat GPT. 

je résultat par semaine est bon mais un emplacement peut déjà avoir été compté sur les semaines d'avant, donc on ne peut pas faire comme ça. 

il faudrait pouvoir compter pour chaque ligne le nombre d'emplacements depuis le début de la période (ici le 01/04/2023) jusqu'à la fin de semaine de chaque ligne. donc sans utiliser rangesum(), mais comment faire ?