cancel
Showing results for 
Search instead for 
Did you mean: 

analisis de ventas por cliente y vendedor

Former Member
0 Kudos

Hola,

Alguien tiene una consulta parecida al de analisis de ventas por cliente pero donde muestre el vendedor? es que el que trae sistema la unica forma de verlo es llevandolo desde el drilldown y no me sirve

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hola otra vez!!

hacer el informe con subconsultas y poner un select con una tabla principal, luego hacer unos subquerys seleccionando rango de fechas de meses. no me parece porque la idea del informe es darle la posibilidad a la persona que lo va a generar seleccionar el rango de fechas y no me serviria.

Por favor alguien que me ayude???

He intentado con subconsultas pero me distorisona los valores

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola

Mira, esta query la genere para obtener la facturacion neta mensual por cliente.

SELECT Distinct

T2.CARDCODE,

T2.CardName,

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100101' AND '20100131'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100101' AND '20100131'),0)) 'Enero',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100201' AND '20100228'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100201' AND '20100228'),0)) 'Febrero',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100301' AND '20100331'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100301' AND '20100331'),0)) 'Marzo',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100401' AND '20100430'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100401' AND '20100430'),0)) 'Abril',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100501' AND '20100531'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100501' AND '20100531'),0)) 'Mayo',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100601' AND '20100630'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100601' AND '20100630'),0)) 'Junio',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100701' AND '20100731'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100701' AND '20100731'),0)) 'Julio',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100801' AND '20100831'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100801' AND '20100831'),0)) 'Agosto',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100901' AND '20100930'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100901' AND '20100930'),0)) 'Septiembre',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20101001' AND '20101031'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20101001' AND '20101031'),0)) 'Octubre',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20101101' AND '20101130'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20101101' AND '20101130'),0)) 'Noviembre',

(ISNULL((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20101201' AND '20101231'),0) - ISNULL((SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20101201' AND '20101231'),0)) 'Diciembre'

FROM OINV T0

LEFT OUTER JOIN ORIN T3 on T0.DocDate=T3.DocDate

INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode

WHERE T0.DocDate BETWEEN '20100101' AND '20101231'

AND

T0.CANCELED ='N'

AND

T0.DocEntry NOT IN (Select BaseEntry FROM RIN1 WHERE BaseType != -1)

GROUP BY T2.CardName,T2.CARDCOde

quizas puedas sacar algo de aqui que te sirva...

saludos

Edited by: Floyola on Oct 29, 2010 11:34 PM

Former Member
0 Kudos

Jcarito, estas pidiendo todo un desarrollo.

Te recomiendo que utilices una vista que haga todo el proceso de pivotear y cosas asi.

Luego hagas un Join con la tabla OINV y OSLP, sólo para que SAP te permita activar los filtros de fecha.

Como te dijo Gonzalo, lee los post anteriores que hablen del PIVOT.

slds.

Former Member
0 Kudos

Una consulta Felipe, me parece interesante tu query, pero  se podría incluir tambien las propiedades de los articulos? ya que así delimitaría las ventas, Espero tus comentarios. Saludos.

Former Member
0 Kudos

Casi exactamente 2 años después, tu query me ha salvado de un apuro

Gracias!

Former Member
0 Kudos

Tremenda tu consulta!! solo le modifique unas cosas y funciona a la perfección!

0 Kudos

Hola Felipe;

Una consulta haciendo referencia a tú query como puedo integrarlo al query manager de SAP.

Saludos,

Answers (9)

Answers (9)

Former Member
0 Kudos

Hola, gracias por tu aporte fue de gran ayuda

Former Member
0 Kudos

hola si te sirve este

create procedure [dbo].[venta-netas]

@FECHAINICIO as Datetime,

@FECHAFIN as Datetime

as

Begin

SELECT A.[Nombre de vendedor],

A.[Codigo de cliente],

A.[Nombre de cliente],

A.[Departamento],

A.[Municipio],

A.[Grupo de articulos],

A.[Codigo Articulo],

A.[Nombre Producto],

A.[Presentacion],

SUM(A.[VENTA_ENERO]) [VENTA_ENERO],

SUM(A.[CANTIDAD_ENERO]) [CANTIDAD_ENERO],

SUM(A.[COSTOINV_ENERO]) [COSTOINV_ENERO],

SUM(A.[VENTA_FEBRERO]) [VENTA_FEBRERO],

SUM(A.[CANTIDAD_FEBRERO]) [CANTIDAD_FEBRERO],

SUM(A.[COSTOINV_FEBRERO]) [COSTOINV_FEBRERO],

SUM(A.[VENTA_MARZO]) [VENTA_MARZO],

SUM(A.[CANTIDAD_MARZO]) [CANTIDAD_MARZO],

SUM(A.[COSTOINV_MARZO]) [COSTOINV_MARZO],

SUM(A.[VENTA_ABRIL]) [VENTA_ABRIL],

SUM(A.[CANTIDAD_ABRIL]) [CANTIDAD_ABRIL],

SUM(A.[COSTOINV_ABRIL]) [COSTOINV_ABRIL],

SUM(A.[VENTA_MAYO]) [VENTA_MAYO],

SUM(A.[CANTIDAD_MAYO]) [CANTIDAD_MAYO],

SUM(A.[COSTOINV_MAYO]) [COSTOINV_MAYO],

SUM(A.[VENTA_JUNIO]) [VENTA_JUNIO],

SUM(A.[CANTIDAD_JUNIO]) [CANTIDAD_JUNIO],

SUM(A.[COSTOINV_JUNIO]) [COSTOINV_JUNIO],

SUM(A.[VENTA_JULIO]) [VENTA_JULIO],

SUM(A.[CANTIDAD_JULIO]) [CANTIDAD_JULIO],

SUM(A.[COSTOINV_JULIO]) [COSTOINV_JULIO],

SUM(A.[VENTA_AGOSTO]) [VENTA_AGOSTO],

SUM(A.[CANTIDAD_AGOSTO]) [CANTIDAD_AGOSTO],

SUM(A.[COSTOINV_AGOSTO]) [COSTOINV_AGOSTO],

SUM(A.[VENTA_SEPTIEMBRE]) [VENTA_SEPTIEMBRE],

SUM(A.[CANTIDAD_SEPTIEMBRE]) [CANTIDAD_SEPTIEMBRE],

SUM(A.[COSTOINV_SEPTIEMBRE]) [COSTOINV_SEPTIEMBRE],

SUM(A.[VENTA_OCTUBRE]) [VENTA_OCTUBRE],

SUM(A.[CANTIDAD_OCTUBRE]) [CANTIDAD_OCTUBRE],

SUM(A.[COSTOINV_OCTUBRE]) [COSTOINV_OCTUBRE],

SUM(A.[VENTA_NOVIEMBRE]) [VENTA_NOVIEMBRE],

SUM(A.[CANTIDAD_NOVIEMBRE]) [CANTIDAD_NOVIEMBRE],

SUM(A.[COSTOINV_NOVIEMBRE]) [COSTOINV_NOVIEMBRE],

SUM(A.[VENTA_DICIEMBRE]) [VENTA_DICIEMBRE],

SUM(A.[CANTIDAD_DICIEMBRE]) [CANTIDAD_DICIEMBRE],

SUM(A.[COSTOINV_DICIEMBRE]) [COSTOINV_DICIEMBRE],

SUM(A.[ValorVenta]) [TTLValorVenta],

SUM(A.[UnidadesVendidas]) [TTLUnidadesVendidas],

SUM(A.[TTLCostoInventario]) [TTLCostoInventario]

FROM

(

--FACTURAS DE ARTICULOS

SELECT 

T1.[CardCode]'Codigo de cliente',

T1.[CardName]'Nombre de cliente',

T7.[State] 'Departamento',

T7.[County] 'Municipio',

T1.[DocDate]'Fecha de Factura',

T1.[DocNum]'Numero de Factura',

T6.[SlpName] 'Nombre de vendedor',

T5.[ItmsGrpNam] 'Grupo de articulos',

T2.[ItemCode] 'Codigo Articulo',

T4.[ItemName] 'Nombre Producto',

T8.[Name] 'Presentacion',

CASE WHEN DATEPART(M,T1.[DocDate])=1 THEN T2.[LineTotal] ELSE 0 END 'VENTA_ENERO',

CASE WHEN DATEPART(M,T1.[DocDate])=1 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_ENERO',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=1 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END  'COSTOINV_ENERO',

CASE WHEN DATEPART(M,T1.[DocDate])=2 THEN T2.[LineTotal] ELSE 0 END 'VENTA_FEBRERO',

CASE WHEN DATEPART(M,T1.[DocDate])=2 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_FEBRERO',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=2 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_FEBRERO',

CASE WHEN DATEPART(M,T1.[DocDate])=3 THEN T2.[LineTotal] ELSE 0 END 'VENTA_MARZO',

CASE WHEN DATEPART(M,T1.[DocDate])=3 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_MARZO',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=3 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_MARZO',

CASE WHEN DATEPART(M,T1.[DocDate])=4 THEN T2.[LineTotal] ELSE 0 END 'VENTA_ABRIL',

CASE WHEN DATEPART(M,T1.[DocDate])=4 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_ABRIL',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=4 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_ABRIL',

CASE WHEN DATEPART(M,T1.[DocDate])=5 THEN T2.[LineTotal] ELSE 0 END 'VENTA_MAYO',

CASE WHEN DATEPART(M,T1.[DocDate])=5 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_MAYO',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=5 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_MAYO',

CASE WHEN DATEPART(M,T1.[DocDate])=6 THEN T2.[LineTotal] ELSE 0 END 'VENTA_JUNIO',

CASE WHEN DATEPART(M,T1.[DocDate])=6 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_JUNIO',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=6 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_JUNIO',

CASE WHEN DATEPART(M,T1.[DocDate])=7 THEN T2.[LineTotal] ELSE 0 END 'VENTA_JULIO',

CASE WHEN DATEPART(M,T1.[DocDate])=7 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_JULIO',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=7 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_JULIO',

CASE WHEN DATEPART(M,T1.[DocDate])=8 THEN T2.[LineTotal] ELSE 0 END 'VENTA_AGOSTO',

CASE WHEN DATEPART(M,T1.[DocDate])=8 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_AGOSTO',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=8 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_AGOSTO',

CASE WHEN DATEPART(M,T1.[DocDate])=9 THEN T2.[LineTotal] ELSE 0 END 'VENTA_SEPTIEMBRE',

CASE WHEN DATEPART(M,T1.[DocDate])=9 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_SEPTIEMBRE',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=9 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_SEPTIEMBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=10 THEN T2.[LineTotal] ELSE 0 END 'VENTA_OCTUBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=10 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_OCTUBRE',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=10 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_OCTUBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=11 THEN T2.[LineTotal] ELSE 0 END 'VENTA_NOVIEMBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=11 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_NOVIEMBRE',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=11 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_NOVIEMBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=12 THEN T2.[LineTotal] ELSE 0 END 'VENTA_DICIEMBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=12 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_DICIEMBRE',

-CASE WHEN (DATEPART(MM,T1.[DocDate])=12 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_DICIEMBRE',

T2.[LineTotal] 'ValorVenta',

T2.[Quantity] 'UnidadesVendidas',

CASE WHEN  T2.STOCKSUM <>0 then T2.[GrossBuyPr]*T2.[Quantity]

else 0.00  end 'TTLCostoInventario'

FROM

OINV T1

INNER JOIN INV1 T2 ON T1.DocEntry = T2.DocEntry

INNER JOIN OCRD T3 ON T1.CARDCODE=T3.CARDCODE

INNER JOIN OITM T4 ON T2.ItemCode = T4.ItemCode

INNER JOIN OITB T5 ON T4.ItmsGrpCod = T5.ItmsGrpCod

INNER JOIN OSLP T6 ON T1.SlpCode=T6.SlpCode

INNER JOIN CRD1 T7 ON T3.CardCode=T7.CardCode

INNER JOIN [dbo].[@PRESENTACION]  T8 ON T4.[U_PRESENTACION]=T8.[Code]

WHERE

T1.[DocDate]>=@FECHAINICIO and T1.[DocDate]<=@FECHAFIN

AND T7.AdresType='S' AND T1.[ShipToCode]=T7.[Address]

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAINICIO)

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAFIN)

UNION

--ENTREGA DE ARTICULOS

SELECT 

T1.[CardCode]'Codigo de cliente',

T1.[CardName]'Nombre de cliente',

T7.[State] 'Departamento',

T7.[County] 'Municipio',

T1.[DocDate]'Fecha de Factura',

T1.[DocNum]'Numero de Factura',

T6.[SlpName] 'Nombre de vendedor',

T5.[ItmsGrpNam] 'Grupo de articulos',

T2.[ItemCode] 'Codigo Articulo',

T4.[ItemName] 'Nombre Producto',

T8.[Name] 'Presentacion',

0 'VENTA_ENERO',

0 'CANTIDAD_ENERO',

-CASE WHEN DATEPART(M,T1.[DocDate])=1 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_ENERO',

0 'VENTA_FEBRERO',

0 'CANTIDAD_FEBRERO',

-CASE WHEN DATEPART(M,T1.[DocDate])=2 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_FEBRERO',

0 'VENTA_MARZO',

0 'CANTIDAD_MARZO',

-CASE WHEN DATEPART(M,T1.[DocDate])=3 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_MARZO',

0 'VENTA_ABRIL',

0 'CANTIDAD_ABRIL',

-CASE WHEN DATEPART(M,T1.[DocDate])=4 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_ABRIL',

0 'VENTA_MAYO',

0 'CANTIDAD_MAYO',

-CASE WHEN DATEPART(M,T1.[DocDate])=5 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_MAYO',

0 'VENTA_JUNIO',

0 'CANTIDAD_JUNIO',

-CASE WHEN DATEPART(M,T1.[DocDate])=6 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_JUNIO',

0 'VENTA_JULIO',

0 'CANTIDAD_JULIO',

-CASE WHEN DATEPART(M,T1.[DocDate])=7 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_JULIO',

0 'VENTA_AGOSTO',

0 'CANTIDAD_AGOSTO',

-CASE WHEN DATEPART(M,T1.[DocDate])=8 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_AGOSTO',

0 'VENTA_SEPTIEMBRE',

0 'CANTIDAD_SEPTIEMBRE',

-CASE WHEN DATEPART(M,T1.[DocDate])=9 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_SEPTIEMBRE',

0 'VENTA_OCTUBRE',

0 'CANTIDAD_OCTUBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=10 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_OCTUBRE',

0 'VENTA_NOVIEMBRE',

0 'CANTIDAD_NOVIEMBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=11 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_NOVIEMBRE',

0 'VENTA_DICIEMBRE',

0 'CANTIDAD_DICIEMBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=12 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_DICIEMBRE',

0 'ValorVenta',

0 'UnidadesVendidas',

-T2.[GrossBuyPr]*T2.[Quantity] 'TTLCostoInventario'

FROM

ODLN T1

INNER JOIN DLN1 T2 ON T1.DocEntry = T2.DocEntry

INNER JOIN OCRD T3 ON T1.CARDCODE=T3.CARDCODE

INNER JOIN OITM T4 ON T2.ItemCode = T4.ItemCode

INNER JOIN OITB T5 ON T4.ItmsGrpCod = T5.ItmsGrpCod

INNER JOIN OSLP T6 ON T1.SlpCode=T6.SlpCode

INNER JOIN CRD1 T7 ON T3.CardCode=T7.CardCode

INNER JOIN [dbo].[@PRESENTACION]  T8 ON T4.[U_PRESENTACION]=T8.[Code]

WHERE

T1.[DocDate]>=@FECHAINICIO and T1.[DocDate]<=@FECHAFIN

AND T7.AdresType='S' AND T1.[ShipToCode]=T7.[Address]

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAINICIO)

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAFIN)

UNION

--DEVOLUCION DE ARTICULOS

SELECT 

T1.[CardCode]'Codigo de cliente',

T1.[CardName]'Nombre de cliente',

T7.[State] 'Departamento',

T7.[County] 'Municipio',

T1.[DocDate]'Fecha de Factura',

T1.[DocNum]'Numero de Factura',

T6.[SlpName] 'Nombre de vendedor',

T5.[ItmsGrpNam] 'Grupo de articulos',

T2.[ItemCode] 'Codigo Articulo',

T4.[ItemName] 'Nombre Producto',

T8.[Name] 'Presentacion',

0 'VENTA_ENERO',

0 'CANTIDAD_ENERO',

CASE WHEN DATEPART(M,T1.[DocDate])=1 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_ENERO',

0 'VENTA_FEBRERO',

0 'CANTIDAD_FEBRERO',

CASE WHEN DATEPART(M,T1.[DocDate])=2 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_FEBRERO',

0 'VENTA_MARZO',

0 'CANTIDAD_MARZO',

CASE WHEN DATEPART(M,T1.[DocDate])=3 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_MARZO',

0 'VENTA_ABRIL',

0 'CANTIDAD_ABRIL',

CASE WHEN DATEPART(M,T1.[DocDate])=4 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_ABRIL',

0 'VENTA_MAYO',

0 'CANTIDAD_MAYO',

CASE WHEN DATEPART(M,T1.[DocDate])=5 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_MAYO',

0 'VENTA_JUNIO',

0 'CANTIDAD_JUNIO',

CASE WHEN DATEPART(M,T1.[DocDate])=6 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_JUNIO',

0 'VENTA_JULIO',

0 'CANTIDAD_JULIO',

CASE WHEN DATEPART(M,T1.[DocDate])=7 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_JULIO',

0 'VENTA_AGOSTO',

0 'CANTIDAD_AGOSTO',

CASE WHEN DATEPART(M,T1.[DocDate])=8 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_AGOSTO',

0 'VENTA_SEPTIEMBRE',

0 'CANTIDAD_SEPTIEMBRE',

CASE WHEN DATEPART(M,T1.[DocDate])=9 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_SEPTIEMBRE',

0 'VENTA_OCTUBRE',

0 'CANTIDAD_OCTUBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=10 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_OCTUBRE',

0 'VENTA_NOVIEMBRE',

0 'CANTIDAD_NOVIEMBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=11 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_NOVIEMBRE',

0 'VENTA_DICIEMBRE',

0 'CANTIDAD_DICIEMBRE',

CASE WHEN DATEPART(MM,T1.[DocDate])=12 THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_DICIEMBRE',

0 'ValorVenta',

0 'UnidadesVendidas',

T2.[GrossBuyPr]*T2.[Quantity] 'TTLCostoInventario'

FROM

ORDN T1

INNER JOIN RDN1 T2 ON T1.DocEntry = T2.DocEntry

INNER JOIN OCRD T3 ON T1.CARDCODE=T3.CARDCODE

INNER JOIN OITM T4 ON T2.ItemCode = T4.ItemCode

INNER JOIN OITB T5 ON T4.ItmsGrpCod = T5.ItmsGrpCod

INNER JOIN OSLP T6 ON T1.SlpCode=T6.SlpCode

INNER JOIN CRD1 T7 ON T3.CardCode=T7.CardCode

INNER JOIN [dbo].[@PRESENTACION]  T8 ON T4.[U_PRESENTACION]=T8.[Code]

WHERE

T1.[DocDate]>=@FECHAINICIO and T1.[DocDate]<=@FECHAFIN

AND T7.AdresType='S' AND T1.[ShipToCode]=T7.[Address]

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAINICIO)

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAFIN)

UNION

--NOTAS DE CREDITO DE ARTICULOS

SELECT 

T1.[CardCode]'Codigo de cliente',

T1.[CardName]'Nombre de cliente',

T7.[State] 'Departamento',

T7.[County] 'Municipio',

T1.[DocDate]'Fecha de Factura',

T1.[DocNum]'Numero de Factura',

T6.[SlpName] 'Nombre de vendedor',

T5.[ItmsGrpNam] 'Grupo de articulos',

T2.[ItemCode] 'Codigo Articulo',

T4.[ItemName] 'Nombre Producto',

T8.[Name] 'Presentacion',

-CASE WHEN DATEPART(M,T1.[DocDate])=1  THEN T2.[LineTotal] ELSE 0 END 'VENTA_ENERO',

-CASE WHEN DATEPART(M,T1.[DocDate])=1 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_ENERO',

CASE WHEN (DATEPART(M,T1.[DocDate])=1 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_ENERO',

-CASE WHEN DATEPART(M,T1.[DocDate])=2 THEN T2.[LineTotal] ELSE 0 END 'VENTA_FEBRERO',

-CASE WHEN DATEPART(M,T1.[DocDate])=2 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_FEBRERO',

CASE WHEN (DATEPART(M,T1.[DocDate])=2 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_FEBRERO',

-CASE WHEN DATEPART(M,T1.[DocDate])=3 THEN T2.[LineTotal] ELSE 0 END 'VENTA_MARZO',

-CASE WHEN DATEPART(M,T1.[DocDate])=3 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_MARZO',

CASE WHEN (DATEPART(M,T1.[DocDate])=3 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_MARZO',

-CASE WHEN DATEPART(M,T1.[DocDate])=4 THEN T2.[LineTotal] ELSE 0 END 'VENTA_ABRIL',

-CASE WHEN DATEPART(M,T1.[DocDate])=4 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_ABRIL',

CASE WHEN (DATEPART(M,T1.[DocDate])=4 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_ABRIL',

-CASE WHEN DATEPART(M,T1.[DocDate])=5 THEN T2.[LineTotal] ELSE 0 END 'VENTA_MAYO',

-CASE WHEN DATEPART(M,T1.[DocDate])=5 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_MAYO',

CASE WHEN (DATEPART(M,T1.[DocDate])=5 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_MAYO',

-CASE WHEN DATEPART(M,T1.[DocDate])=6 THEN T2.[LineTotal] ELSE 0 END 'VENTA_JUNIO',

-CASE WHEN DATEPART(M,T1.[DocDate])=6 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_JUNIO',

CASE WHEN (DATEPART(M,T1.[DocDate])=6 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_JUNIO',

-CASE WHEN DATEPART(M,T1.[DocDate])=7 THEN T2.[LineTotal] ELSE 0 END 'VENTA_JULIO',

-CASE WHEN DATEPART(M,T1.[DocDate])=7 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_JULIO',

CASE WHEN (DATEPART(M,T1.[DocDate])=7 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_JULIO',

-CASE WHEN DATEPART(M,T1.[DocDate])=8 THEN T2.[LineTotal] ELSE 0 END 'VENTA_AGOSTO',

-CASE WHEN DATEPART(M,T1.[DocDate])=8 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_AGOSTO',

CASE WHEN (DATEPART(M,T1.[DocDate])=8 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_AGOSTO',

-CASE WHEN DATEPART(M,T1.[DocDate])=9 THEN T2.[LineTotal] ELSE 0 END 'VENTA_SEPTIEMBRE',

-CASE WHEN DATEPART(M,T1.[DocDate])=9 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_SEPTIEMBRE',

CASE WHEN (DATEPART(M,T1.[DocDate])=9 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_SEPTIEMBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=10 THEN T2.[LineTotal] ELSE 0 END 'VENTA_OCTUBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=10 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_OCTUBRE',

CASE WHEN (DATEPART(MM,T1.[DocDate])=10 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_OCTUBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=11 THEN T2.[LineTotal] ELSE 0 END 'VENTA_NOVIEMBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=11 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_NOVIEMBRE',

CASE WHEN (DATEPART(MM,T1.[DocDate])=11 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_NOVIEMBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=12 THEN T2.[LineTotal] ELSE 0 END 'VENTA_DICIEMBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=12 THEN T2.[Quantity] ELSE 0 END 'CANTIDAD_DICIEMBRE',

CASE WHEN (DATEPART(MM,T1.[DocDate])=12 and T2.STOCKSUM <>0) THEN T2.[GrossBuyPr]*T2.[Quantity] ELSE 0 END 'COSTOINV_DICIEMBRE',

-T2.[LineTotal] 'ValorVenta',

-T2.[Quantity] 'UnidadesVendidas',

CASE WHEN  T2.STOCKSUM <>0 then T2.[GrossBuyPr]*T2.[Quantity]

else 0.00  end 'TTLCostoInventario'

FROM

ORIN T1

INNER JOIN RIN1 T2 ON T1.DocEntry = T2.DocEntry

INNER JOIN OCRD T3 ON T1.CARDCODE=T3.CARDCODE

INNER JOIN OITM T4 ON T2.ItemCode = T4.ItemCode

INNER JOIN OITB T5 ON T4.ItmsGrpCod = T5.ItmsGrpCod

INNER JOIN OSLP T6 ON T1.SlpCode=T6.SlpCode

INNER JOIN CRD1 T7 ON T3.CardCode=T7.CardCode

INNER JOIN [dbo].[@PRESENTACION]  T8 ON T4.[U_PRESENTACION]=T8.[Code]

WHERE

T1.[DocDate]>=@FECHAINICIO and T1.[DocDate]<=@FECHAFIN

AND T7.AdresType='S' AND T1.[DocType]='I' AND T1.[ShipToCode]=T7.[Address]

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAINICIO)

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAFIN)

UNION

--NOTAS DE CREDITO SERVICIOS

SELECT 

T1.[CardCode]'Codigo de cliente',

T1.[CardName]'Nombre de cliente',

T7.[State] 'Departamento',

T7.[County] 'Municipio',

T1.[DocDate]'Fecha de Factura',

T1.[DocNum]'Numero de Factura',

T6.[SlpName] 'Nombre de vendedor',

T5.[ItmsGrpNam] 'Grupo de articulos',

T2.[U_CODIGOART] 'Codigo Articulo',

T4.[ItemName] 'Nombre Producto',

T8.[Name] 'Presentacion',

-CASE WHEN DATEPART(M,T1.[DocDate])=1 THEN T2.[LineTotal] ELSE 0 END 'VENTA_ENERO',

0.00 'CANTIDAD_ENERO',

0.00 'COSTOINV_ENERO',

-CASE WHEN DATEPART(M,T1.[DocDate])=2 THEN T2.[LineTotal] ELSE 0 END 'VENTA_FEBRERO',

0.00 'CANTIDAD_FEBRERO',

0.00 'COSTOINV_FEBRERO',

-CASE WHEN DATEPART(M,T1.[DocDate])=3 THEN T2.[LineTotal] ELSE 0 END 'VENTA_MARZO',

0.00 'CANTIDAD_MARZO',

0.00 'COSTOINV_MARZO',

-CASE WHEN DATEPART(M,T1.[DocDate])=4 THEN T2.[LineTotal] ELSE 0 END 'VENTA_ABRIL',

0.00 'CANTIDAD_ABRIL',

0.00 'COSTOINV_ABRIL',

-CASE WHEN DATEPART(M,T1.[DocDate])=5 THEN T2.[LineTotal] ELSE 0 END 'VENTA_MAYO',

0.00 'CANTIDAD_MAYO',

0.00 'COSTOINV_MAYO',

-CASE WHEN DATEPART(M,T1.[DocDate])=6 THEN T2.[LineTotal] ELSE 0 END 'VENTA_JUNIO',

0.00  'CANTIDAD_JUNIO',

0.00 'COSTOINV_JUNIO',

-CASE WHEN DATEPART(M,T1.[DocDate])=7 THEN T2.[LineTotal] ELSE 0 END 'VENTA_JULIO',

0.00 'CANTIDAD_JULIO',

0.00 'COSTOINV_JULIO',

-CASE WHEN DATEPART(M,T1.[DocDate])=8 THEN T2.[LineTotal] ELSE 0 END 'VENTA_AGOSTO',

0.00 'CANTIDAD_AGOSTO',

0.00 'COSTOINV_AGOSTO',

-CASE WHEN DATEPART(M,T1.[DocDate])=9 THEN T2.[LineTotal] ELSE 0 END 'VENTA_SEPTIEMBRE',

0.00 'CANTIDAD_SEPTIEMBRE',

0.00 'COSTOINV_SEPTIEMBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=10 THEN T2.[LineTotal] ELSE 0 END 'VENTA_OCTUBRE',

0.00 'CANTIDAD_OCTUBRE',

0.00 'COSTOINV_OCTUBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=11 THEN T2.[LineTotal] ELSE 0 END 'VENTA_NOVIEMBRE',

0.00 'CANTIDAD_NOVIEMBRE',

0.00 'COSTOINV_NOVIEMBRE',

-CASE WHEN DATEPART(MM,T1.[DocDate])=12 THEN T2.[LineTotal] ELSE 0 END 'VENTA_DICIEMBRE',

0.00 'CANTIDAD_DICIEMBRE',

0.00 'COSTOINV_DICIEMBRE',

-T2.[LineTotal] 'ValorVenta',

0.00 'UnidadesVendidas',

0.00 'TTLCostoInventario'

FROM

ORIN T1

INNER JOIN RIN1 T2 ON T1.DocEntry = T2.DocEntry

INNER JOIN OCRD T3 ON T1.CARDCODE=T3.CARDCODE

INNER JOIN OITM T4 ON T2.U_CODIGOART = T4.ItemCode

INNER JOIN OITB T5 ON T4.ItmsGrpCod = T5.ItmsGrpCod

INNER JOIN OSLP T6 ON T1.SlpCode =T6.SlpCode

INNER JOIN CRD1 T7 ON T3.CardCode=T7.CardCode

INNER JOIN [dbo].[@PRESENTACION]  T8 ON T4.[U_PRESENTACION]=T8.[Code]

WHERE

T1.[DocDate]>=@FECHAINICIO and T1.[DocDate]<=@FECHAFIN

AND T7.AdresType='S' AND T1.[DocType]='S' AND T1.[ShipToCode]=T7.[Address]

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAINICIO)

AND DATEPART(YYYY,T1.[DocDate])=DATEPART(YYYY,@FECHAFIN)

) A

GROUP BY A.[Nombre de vendedor],

A.[Codigo de cliente],

A.[Nombre de cliente],

A.[Departamento],

A.[Municipio],

A.[Grupo de articulos],

A.[Codigo Articulo],

A.[Nombre Producto],

A.[Presentacion]

ORDER BY A.[Nombre de vendedor], A.[Codigo de cliente],A.[Grupo de articulos],A.[Codigo Articulo]

END

Former Member
0 Kudos

gracias por tu ayuda!!! alguien tiene otra opinion???

Former Member
0 Kudos

Revisa los posts anteriores o haz una búsqueda por que hay varias consultas posteadas que usan la clausula PIVOT y saca los resultados en columnas.

Former Member
0 Kudos

me saldria muy largo y tedioso el query, la funcion PIVOT se utiliza para esto pero no me funciona

angeles804
Active Contributor
0 Kudos

si. pero a patita sale con subquerys. dependería de tu servidor que tanto tarde la consulta. la del analisis de venta también tarda.

Former Member
0 Kudos

Hola, pero la verdad es que esto me muestra todas las fechas en general yo necesito mostrarlo mes a mes como en el analisis de ventas pero a partir de un rango que yo seleccione

empleado enero febrero marzo

ana $xxxxx $xxxxx $xxxxx

juan $xxxxx $xxxxx $xxxxx

angeles804
Active Contributor
0 Kudos

POR UN LADO podrías poner un select de tu tabla principal, user, luego hacer unos subquerys como el que te mande poniendo rango de fechas de meses.

Former Member
0 Kudos

llevo la consulta asi:

SELECT T0.[CardCode]'Codigo del Cliente', T0.[CardName]'Nombre del Cliente', sum( ((T0.[Doctotal]/1.16)-T0.[RoundDif]))'Importe de ventas', sum((T0.[GrosProfit]))'Ganancia bruta', sum(((T0.[GrosProfit])/((T0.[Doctotal]/1.16)-T0.[RoundDif])*100))'% de ganancia bruta' FROM OINV T0 INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode where (T1.[SlpName]>=[%0] AND T1.[SlpName]<=[%1]) and (T0.[DocDate]>=[%2] AND T0.[DocDate]<=[%3]) group by T0.[CardCode],T0.[CardName]

union all

SELECT T0.[CardCode], T0.[CardName] ,sum( -((T0.[Doctotal]/1.16)-T0.[RoundDif]))'Importe de ventas', sum(-(T0.[GrosProfit]))'Ganancia bruta', sum(-((T0.[GrosProfit])/((T0.[Doctotal]/1.16)-T0.[RoundDif])*100))'% de ganancia bruta' FROM ORIN T0 INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode INNER JOIN OINV T2 ON T0.[U_Factura_Base] = T2.[DocNum] where (T1.[SlpName]>=[%0] AND T1.[SlpName]<=[%1]) group by T0.[CardCode],T0.[CardName]

pero necesito que esto me salga mes a mes segun los parametros de fechas que le de

ayuda!!!!

angeles804
Active Contributor
0 Kudos

yo genere algo como esto:


SELECT distinct(t0.name),sum(T1.doctotal) as 'totales venta', sum(t1.paidtodate) as 'pagado a la fecha'
 FROM [dbo].[@VENDEDORES]  T0  
INNER JOIN OINV T1 ON T0.Code = T1.U_CODIGO 
INNER JOIN NNM1 T2 ON T1.Series = T2.Series 
INNER JOIN OCTG T3 ON T1.GroupNum = T3.GroupNum
INNER JOIN ORCT T4 ON T1.ReceiptNum = T4.DocEntry
WHERE t1.docdate>='[%0]' and t1.docdate<='[%1]' and t1.u_codigo<>'' and  
T1.doctype = 'I' and t1.doctotal=t1.paidtodate and (NOT((t1.InvntSttus = 'C') and (t1.isins<>'Y'))) AND (T4.CANCELED<>'Y')
group by t0.name

pero me baso en un campo que se llama U_codigo con el cual traigo el nombre del vendedor mío, esto en una tabla de vendedores. el tuyo puedes cambiarlo por la tabla users.

Former Member
0 Kudos

necesito que me salga el informe igual al de analisis de ventas pero con una pequeña variacion, que me salga el nombre del empleado

cod de socio

nom de socio

nom del empleado

total anual

importe de ventas (enero)

ganancia bruta (enero)

%de ganancia bruta (enero)

importe de ventas (febrero)

ganancia bruta (febrero)

%de ganancia bruta (febrero).......etc

Edited by: jcarito on Sep 23, 2010 3:32 PM

Former Member
0 Kudos

si por favor necesito el query hice el analisis de ventas por articulos pero al hacerlo por cliente me suma todo

SELECT T1.SeriesName,T0.Docnum,T0.DocDate,

T0.CardCODE AS ' CODIGO', T0.[CardName] AS 'DESCRIPCION',

(SELECT SUM(T0.Doctotal) FROM oinv T0 INNER JOIN NNM1 T1 ON T0.Series = T1.Series

WHERE MONTH(T0.DOCDATE) = 1 AND T1.SeriesName not like 'salini' ) AS 'ENERO',

(SELECT SUM(T0.Doctotal) FROM oinv T0 INNER JOIN NNM1 T1 ON T0.Series = T1.Series

WHERE MONTH(T0.DOCDATE) = 2 AND T1.SeriesName not like 'salini' ) AS 'FEBRERO'

FROM OINV T0 INNER JOIN NNM1 T1 ON T0.Series = T1.Series where T1.SeriesName not like 'salini' AND T1.SeriesName not like 'CA

Ademas me faltaria agregarle el vendedor pero seria solo agregarle la relacion con la tabla oslp'

Former Member
0 Kudos

si pero necesito que me salga mes a mes las ventas

former_member188440
Active Contributor
0 Kudos

Osea necesitas todo el query?, podrias jugar con el campo docdate de la OINV que es la de facturas

former_member188440
Active Contributor
0 Kudos

Intenta colocando un join parecido a esto




FROM OINV T0
		INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
        

Obvio depende que tan analitico quieres tu reporte, pero esto te puede dar una idea, pues la tabla OSLP es la de los empleados de ventas