Hola a todos:
La funcion avd calcula el precio medio, pero esta formula esta mal ya que no es lo mismo comprar dos veces la misma cantidad a diferente precio que compras cantidades diferentes a precios distintos.
1 x 100 = 100
25 x 75 = 1875, el precio medio es 75.96 y la forma que calcula la siguiente sentencia sql sale 87.5 por suma los precios y los divide por dos. Y esto no es correcto.
Código SQL:
Ver originalTRANSFORM SUM(lfc.[Uds Servidas]) AS [El valor]
SELECT lfc.Producto AS Articulo, SUM(lfc.[Uds Servidas]) AS Total,
Articulos.Nombre AS NombArti, Avg(lfc.[PVP de la Unidad]) AS MaxPrec,
SUM(lfc.[Importe Neto]) AS TotaArti
FROM ([Lineas Facturacion Compras] AS lfc INNER JOIN [Cabecera Facturacion Compras] AS cfc
ON (lfc.Serie = cfc.Serie) AND
(lfc.Numero = cfc.Numero))
INNER JOIN Articulos ON lfc.Producto = Articulos.Codigo
GROUP BY lfc.Producto, Articulos.Nombre
ORDER BY Articulos.Nombre
PIVOT format([Fecha], 'mmm') IN ('Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic');
He intentado cambiar la funcion avg por (TotaArti / Total), pero nada.
Si alguien sabe se sql
Un saludo.