Hope someone can help.
I am trying to write a stored proceedure to display sales activity by month
and then sum all the columbs.
The problem is that our sales year starts in April and end in March.
So far I have been able to get the sales info my using to sp's, one that say
month >3 and the other says <4. I pass in a year parameter, that for this
years figures would be 2003 for sp1 and 2004 for sp4.
I am sure there is a better way.
Below is a copy of one of my sp's.
Hope you are able to help.
John
ALTER PROCEDURE dbo.sp_SalesAna lFigures_P1
(@Year nvarchar(50),
@CCode varchar(50),
@SCode varchar(50),
@OType varchar(50))
AS SELECT TOP 100 PERCENT DATEPART(mm, dbo.InvoiceHead erTbl.InvoiceDa te) AS
Month, SUM(dbo.Invoice HeaderTbl.Invoi ceTotalNet) AS Sales,
SUM(dbo.Invoice ItemsCostQry.To talCost) AS Cost,
SUM(dbo.Invoice HeaderTbl.Invoi ceTotalNet -
dbo.InvoiceItem sCostQry.TotalC ost) AS Margin,
COUNT(dbo.Invoi ceHeaderTbl.Inv oiceNo) AS NoOfInvoices,
AVG(dbo.Invoice HeaderTbl.Invoi ceTotalNet) AS AverageValue
FROM dbo.InvoiceHead erTbl INNER JOIN
dbo.InvoiceItem sCostQry ON dbo.InvoiceHead erTbl.InvoiceNo =
dbo.InvoiceItem sCostQry.Invoic eNo
WHERE (DATEPART(yyyy, dbo.InvoiceHead erTbl.InvoiceDa te) = @Year) AND
(dbo.InvoiceHea derTbl.CompanyC ode LIKE @CCode) AND
(dbo.InvoiceHea derTbl.SalesMan Code LIKE @SCode) AND
(dbo.InvoiceHea derTbl.OrderTyp e LIKE @OType)
GROUP BY DATEPART(mm, dbo.InvoiceHead erTbl.InvoiceDa te)
HAVING (DATEPART(mm, dbo.InvoiceHead erTbl.InvoiceDa te) > 3)
ORDER BY DATEPART(mm, dbo.InvoiceHead erTbl.InvoiceDa te)
I am trying to write a stored proceedure to display sales activity by month
and then sum all the columbs.
The problem is that our sales year starts in April and end in March.
So far I have been able to get the sales info my using to sp's, one that say
month >3 and the other says <4. I pass in a year parameter, that for this
years figures would be 2003 for sp1 and 2004 for sp4.
I am sure there is a better way.
Below is a copy of one of my sp's.
Hope you are able to help.
John
ALTER PROCEDURE dbo.sp_SalesAna lFigures_P1
(@Year nvarchar(50),
@CCode varchar(50),
@SCode varchar(50),
@OType varchar(50))
AS SELECT TOP 100 PERCENT DATEPART(mm, dbo.InvoiceHead erTbl.InvoiceDa te) AS
Month, SUM(dbo.Invoice HeaderTbl.Invoi ceTotalNet) AS Sales,
SUM(dbo.Invoice ItemsCostQry.To talCost) AS Cost,
SUM(dbo.Invoice HeaderTbl.Invoi ceTotalNet -
dbo.InvoiceItem sCostQry.TotalC ost) AS Margin,
COUNT(dbo.Invoi ceHeaderTbl.Inv oiceNo) AS NoOfInvoices,
AVG(dbo.Invoice HeaderTbl.Invoi ceTotalNet) AS AverageValue
FROM dbo.InvoiceHead erTbl INNER JOIN
dbo.InvoiceItem sCostQry ON dbo.InvoiceHead erTbl.InvoiceNo =
dbo.InvoiceItem sCostQry.Invoic eNo
WHERE (DATEPART(yyyy, dbo.InvoiceHead erTbl.InvoiceDa te) = @Year) AND
(dbo.InvoiceHea derTbl.CompanyC ode LIKE @CCode) AND
(dbo.InvoiceHea derTbl.SalesMan Code LIKE @SCode) AND
(dbo.InvoiceHea derTbl.OrderTyp e LIKE @OType)
GROUP BY DATEPART(mm, dbo.InvoiceHead erTbl.InvoiceDa te)
HAVING (DATEPART(mm, dbo.InvoiceHead erTbl.InvoiceDa te) > 3)
ORDER BY DATEPART(mm, dbo.InvoiceHead erTbl.InvoiceDa te)
Comment