Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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,
Essaye avec l'expression suivante :
= RangeSum(Above(TOTAL [Nombre de palettes],0,RowNo(TOTAL)))
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
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 !!?
Essaye avec l'expression suivante :
= RangeSum(Above(TOTAL [Nombre de palettes],0,RowNo(TOTAL)))
Sébastien,
Réponse correcte (Pourtant ça a l'air si simple quand tu l'écris)
Merci à toi,
Denis