Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Queja] Fórmula porcentaje incorrecta

El porcentaje debe ser respecto a algo. Si queremos representar la diferencia con respecto a algo deberíamos preguntarnos ¿A qué? ¿Con respecto a quien o a qué? En este caso, el propósito del porcentaje es saber ** cuánto nos desviamos o excedimos la venta máxima**. Por tanto, el denominador debería ser este campo, no como se sugiere actualmente. Es decir, debería ser

ROUND((1 - (T.CANTIDAD_VENDIDA/T.CANTIDAD_MAXIMA)) * 100,2)

De esa manera, se calcula correctamente cuánto se excede porcentualmente con respecto a la cantidad límite

2 respuestas

Aclaración y corrección, para que los porcentajes nos salgan positivos en realidad la formula sería

** ROUND(((T.CANTIDAD_VENDIDA/T.CANTIDAD_MAXIMA) - 1) * 100,2)**

La subconsulta completa quedaría tal así SELECT T.NOMBRE, T.DNI, T.MES_AÑO, T.CANTIDAD_VENDIDA - T.CANTIDAD_MAXIMA AS DIFERENCIA, CASE WHEN T.CANTIDAD_VENDIDA - T.CANTIDAD_MAXIMA <= 0 THEN 'Venta Válida' ELSE 'Venta Inválida' END AS STATUS_VENTA, ROUND(((T.CANTIDAD_VENDIDA/T.CANTIDAD_MAXIMA) - 1) * 100,2) AS PORCENTAJE FROM (SELECT tc.NOMBRE, F.DNI, DATE_FORMAT(F.FECHA_VENTA, '%m - %Y') AS MES_AÑO , SUM(IFa.CANTIDAD) as CANTIDAD_VENDIDA, tc.VOLUMEN_DE_COMPRA/10 as CANTIDAD_MAXIMA FROM facturas F JOIN items_facturas IFa ON F.NUMERO = IFa.NUMERO JOIN tabla_de_clientes tc ON tc.dni = F.DNI GROUP BY F.DNI, MES_AÑO, tc.NOMBRE) T WHERE T.CANTIDAD_MAXIMA - T.CANTIDAD_VENDIDA < 0 AND T.MES_AÑO LIKE '%2018' AND ROUND(((T.CANTIDAD_VENDIDA/T.CANTIDAD_MAXIMA) - 1) * 100,2) >= 50;

Hola, Henry, cómo va?

Entiendo tu punto y estoy de acuerdo contigo. La fórmula que propones tiene sentido para calcular cuánto nos desviamos o excedemos de la venta máxima. ;)

Entonces, para resolver el problema que planteas en la actividad, podrías utilizar la fórmula que has propuesto:

ROUND((1 - (T.CANTIDAD_VENDIDA/T.CANTIDAD_MAXIMA)) * 100,2)

Abrazos y muchas gracias por contribuir/compartir aqui en el foro con más personas :D