La question comprend 2 parties. 1er - J'ai une fonction d'arrondi simple pour une colonne dans ma requête mais j'en ai besoin pour arrondir dans tous les cas. 2ème - ce calcul produit plusieurs enregistrements pour chaque calcul
NumOfBoxes: Round ([Orders]. [Qty] / [PartsFinished]. [BoxQuantity], 0)
En ce qui concerne les enregistrements multiples, il le fait - Exemple: la quantité de commande est de 1000, la quantité de boîte est de 250, NumOfBoxes est de 4 mais cela renvoie 4 lignes séparées au lieu d'une seule. Si la réponse au calcul est 15, elle renvoie 15 lignes. Je ne sais pas pourquoi.
3 Réponses :
Cela devrait fonctionner:
Int(([Orders].[Qty] + [PartsFinished].[BoxQuantity] - 1)/[PartsFinished].[BoxQuantity])
Int
tronque, mais vous ajoutez en fait un nombre inférieur à un, donc ce sera toujours arrondi, sauf si le nombre est exactement un entier, auquel cas il ne sera pas arrondi. C'est probablement le comportement que vous recherchez.
@Rats: Seulement ici où vous avez des entiers. Pas toujours si Qté peut être une décimale.
Pour arrondir systématiquement un nombre, utilisez simplement round (nombre + 0,5). Vous pouvez également utiliser ceil (nombre).
Utilisez la méthode principale pour arrondir:
NumOfBoxes: -Int(-[Orders].[Qty]/[PartsFinished].[BoxQuantity])
Vous pouvez également étudier mon article sur Experts Exchange et la collecte de code sur GitHub:
Arrondir les valeurs à la hausse, à la baisse, de 4/5 ou à des chiffres significatifs
Si vous n'avez pas de compte EE, recherchez le lien: Lire l'article complet
C'est vraiment intelligent! +1 Garanti pour être "corrigé" par un développeur naïf. Je mettrais un commentaire à chaque fois qu'il est utilisé: 'Ceci arrondit. Oui, il a deux signes moins. Oui cela fonctionne. Ne touchez pas! »
J'ai résolu le problème des enregistrements multiples, j'ai juste totalisé et regroupé mes résultats. Cependant, je ne sais toujours pas comment faire un arrondi dans chaque calcul.
J'ai en fait résolu mes deux problèmes