Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Formula porcentual mal

Hace casi un año, Anngie publicó lo siguiente:


ROUND((1 - (A.CANTIDAD_MAXIMA/A.CANTIDAD_VENDIDA)) * 100,2) AS PORCENTAJE

No comprendo la lógica de esta formula


Y la respuesta de alguien fue la siguiente:


La fórmula que estás viendo en el código es utilizada para calcular un porcentaje. Permíteme explicarte cómo funciona:

(A.CANTIDAD_MAXIMA/A.CANTIDAD_VENDIDA) calcula la proporción entre la cantidad máxima permitida y la cantidad vendida. 1 - (A.CANTIDAD_MAXIMA/A.CANTIDAD_VENDIDA) resta esa proporción de 1 para obtener la diferencia. ROUND((1 - (A.CANTIDAD_MAXIMA/A.CANTIDAD_VENDIDA)) * 100,2) multiplica la diferencia por 100 para obtener el porcentaje y luego redondea el resultado a 2 decimales. Por ejemplo, si A.CANTIDAD_MAXIMA es 100 y A.CANTIDAD_VENDIDA es 80, la fórmula sería:

(1 - (100/80)) * 100 = (1 - 1.25) * 100 = -0.25 * 100 = -25

El resultado sería -25, lo cual indica que la cantidad vendida está un 25% por debajo del límite máximo permitido.


1 respuesta
solución!

Todo esta explicado de maravilla, pero la cosa es que sigue careciendo de sentido y entiendo a Anngie, porque matemáticamente el planteamiento es incorrecto, el denominador en esa operación debería ser la cantidad maxima y su numerador la vendida, es decir en lugar de:

A.CANTIDAD_MAXIMA/A.CANTIDAD_VENDIDA

Debería ser:

A.CANTIDAD_VENDIDA/A.CANTIDAD_MAXIMA

Y hay varias formas de mostrarlo. Para comenzar el 25% de 100 no es 20, es 25. Y si aplicamos el ejemplo para casos que sean superiores se ve mas claro. Si usamos la formula original y tenemos 180 ventas y un máximo de 100, 100/200=0.50, y aplicando el resto de la formula, tenemos 50, es decir que es un 50% sobre el limite. Pero estamos hablando de las ventas fueron el doble de la cantidad maxima, porque entonces debería ser 50%?

En cambio usar la otra formula entrega un 100% lo que significa el doble del producto vendido sobre su cantidad maxima.

No dudo que los profesores sepan sobre SQL y mas temas, pero no se confíen de todo lo que mencionan, aún con una respuesta en el foro y si no están convencidos sigan cuestionando. Aunque es un poco triste que esta clase de errores no sean revisados antes de publicarlos.