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 original
TRANSFORM 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.