Difference between revisions of "Sales.vSalesPersonSalesByFiscalYears (view)"
| Line 3: | Line 3: | ||
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse" | {| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse" | ||
|- | |- | ||
| − | | ''' | + | | '''View |
| Sales.vSalesPersonSalesByFiscalYears | | Sales.vSalesPersonSalesByFiscalYears | ||
|- valign="top" | |- valign="top" | ||
| Line 11: | Line 11: | ||
|} | |} | ||
| + | |||
| + | === Source === | ||
<pre> | <pre> | ||
CREATE VIEW [Sales].[vSalesPersonSalesByFiscalYears] | CREATE VIEW [Sales].[vSalesPersonSalesByFiscalYears] | ||
| Line 47: | Line 49: | ||
</pre> | </pre> | ||
| − | + | === References === | |
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse" | {| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse" | ||
|- style="background:silver" | |- style="background:silver" | ||
| Line 78: | Line 80: | ||
| Table | | Table | ||
| [[Sales.SalesTerritory_(table)|Sales.SalesTerritory]] | | [[Sales.SalesTerritory_(table)|Sales.SalesTerritory]] | ||
| + | |||
| + | |- | ||
| + | | Schema | ||
| + | | Schema | ||
| + | | [[Sales_(schema)|Sales]] | ||
|} | |} | ||
| − | |||
Revision as of 23:07, 2 February 2010
wikibot
| View | Sales.vSalesPersonSalesByFiscalYears |
| Description | Uses PIVOT to return aggregated sales information for each sales representative. |
Source
CREATE VIEW [Sales].[vSalesPersonSalesByFiscalYears]
AS
SELECT
pvt.[SalesPersonID]
,pvt.[FullName]
,pvt.[Title]
,pvt.[SalesTerritory]
,pvt.[2002]
,pvt.[2003]
,pvt.[2004]
FROM (SELECT
soh.[SalesPersonID]
,c.[FirstName] + ' ' + COALESCE(c.[MiddleName], '') + ' ' + c.[LastName] AS [FullName]
,e.[Title]
,st.[Name] AS [SalesTerritory]
,soh.[SubTotal]
,YEAR(DATEADD(m, 6, soh.[OrderDate])) AS [FiscalYear]
FROM [Sales].[SalesPerson] sp
INNER JOIN [Sales].[SalesOrderHeader] soh
ON sp.[SalesPersonID] = soh.[SalesPersonID]
INNER JOIN [Sales].[SalesTerritory] st
ON sp.[TerritoryID] = st.[TerritoryID]
INNER JOIN [HumanResources].[Employee] e
ON soh.[SalesPersonID] = e.[EmployeeID]
INNER JOIN [Person].[Contact] c
ON e.[ContactID] = c.ContactID
) AS soh
PIVOT
(
SUM([SubTotal])
FOR [FiscalYear]
IN ([2002], [2003], [2004])
) AS pvt;
References
| Dependency Type | Object Type | Referenced Object |
| Select | Table | HumanResources.Employee |
| Select | Table | Person.Contact |
| Select | Table | Sales.SalesOrderHeader |
| Select | Table | Sales.SalesPerson |
| Select | Table | Sales.SalesTerritory |
| Schema | Schema | Sales |
automatically generated
| view | Sales.vSalesPersonSalesByFiscalYears |
| Description | Uses PIVOT to return aggregated sales information for each sales representative. |
CREATE VIEW [Sales].[vSalesPersonSalesByFiscalYears]
AS
SELECT
pvt.[SalesPersonID]
,pvt.[FullName]
,pvt.[Title]
,pvt.[SalesTerritory]
,pvt.[2002]
,pvt.[2003]
,pvt.[2004]
FROM (SELECT
soh.[SalesPersonID]
,c.[FirstName] + ' ' + COALESCE(c.[MiddleName], '') + ' ' + c.[LastName] AS [FullName]
,e.[Title]
,st.[Name] AS [SalesTerritory]
,soh.[SubTotal]
,YEAR(DATEADD(m, 6, soh.[OrderDate])) AS [FiscalYear]
FROM [Sales].[SalesPerson] sp
INNER JOIN [Sales].[SalesOrderHeader] soh
ON sp.[SalesPersonID] = soh.[SalesPersonID]
INNER JOIN [Sales].[SalesTerritory] st
ON sp.[TerritoryID] = st.[TerritoryID]
INNER JOIN [HumanResources].[Employee] e
ON soh.[SalesPersonID] = e.[EmployeeID]
INNER JOIN [Person].[Contact] c
ON e.[ContactID] = c.ContactID
) AS soh
PIVOT
(
SUM([SubTotal])
FOR [FiscalYear]
IN ([2002], [2003], [2004])
) AS pvt;
| Dependency Type | Object Type | Referenced Object |
| Select | Table | HumanResources.Employee |
| Select | Table | Person.Contact |
| Select | Table | Sales.SalesOrderHeader |
| Select | Table | Sales.SalesPerson |
| Select | Table | Sales.SalesTerritory |
| Schema | Schema | Sales |