Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
denis_reigadas
Contributor
Contributor

Problème de calcul données cumulées

Bonjour,

Je sèche depuis quelques jours sur un calcul de données cumulées (je précise niveau débutant sur QV).

Je m'explique (toutes les données sont en pièce jointe).

J'ai une commande (format excel) que je souhaite découper suivant la quantité demandée en unité palette et unité carton.

ex: à 1111 unités commandées, j'obtiens 1 palette de  1000 unités (div(Quantité,[VL palette]) ), un carton de 100 (sum(div([Quantité]-(div([Quantité],[VL palette])*[VL palette]),[VL carton]) ) )et un reliquat de 11 unités ([Quantité]-((div([Quantité],[VL palette]))*[VL palette])-(div([Quantité]-(div([Quantité],[VL palette])*[VL palette]),[VL carton])*[VL carton]).

Et ceci par pièce commandée (mes références).

Le découpage se fait sans problème, mais toutes les 25 palettes, je souhaite changer de commande (au delà de 25 palettes, commande 1, puis les 25 autres commandes 2.....) et donc je tente de cumuler les palettes (RangeSum(Above(div(Quantité,[VL palette]),0,rowno())) ).

Et là, plus rien...pas de cumul

J'atteins mes limites sur QV.

Une âme charitable pour me conseiller...m'orienter ?

Merci,

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

Essaye avec l'expression suivante :

= RangeSum(Above(TOTAL [Nombre de palettes],0,RowNo(TOTAL)))

View solution in original post

4 Replies
kevinchevrier
Partner - Creator III
Partner - Creator III

Bonjour Denis,

A mon avis, dans un premier temps, il faut que tu identifies avec un champ Commande_1 / Commande_2 ...

2 possibilités :

- manuel : tu créés une colonne dans ton fichier excel. Exemple : NUM_COMMANDE et tu changes manuellement Commande_1 / Commande_2 etc.

- automatique : avec une boucle, mais il faut faire des recherches sur le net car je ne sais pas trop comment on pourrait changer la valeur tous les x enregistrements

Ensuite, la deuxième étape serait de créer un champ cumul dans ton script :

Exemple :

If(Peek('NUM_COMMANDE')=NUM_COMMANDE,RangeSum(div(Quantité,[VL palette]) ),peek('CUMUL_COMMANDE')),div(Quantité,[VL palette]) )) as CUMUL_COMMANDE


Kevin

denis_reigadas
Contributor
Contributor
Author

Merci Kevin pour ta réponse.

Malheureusement, je ne peux pas définir à l'avance le découpage des commandes car ce même découpage prend en compte le calcul découpage unité palette, unité carton.

En fait mon approche serait plus de calculer le cumul, et utiliser des expressions conditionnelles (if cumul inférieur à 25 alors...) .pas très orthodoxe, mais je débute .

Du coup, si je reprends ta proposition de calcul du cumul, RangeSum(div(Quantité,[VL palette]) ben je cumule rien, je me retrouve avec les mêmes valeurs !!


Serait-ce du à la formule div !!?

sfatoux72
Partner - Specialist
Partner - Specialist

Essaye avec l'expression suivante :

= RangeSum(Above(TOTAL [Nombre de palettes],0,RowNo(TOTAL)))

denis_reigadas
Contributor
Contributor
Author

Sébastien,

Réponse correcte (Pourtant ça a l'air si simple quand tu l'écris)

Merci à toi,

Denis