Подготовка к созданию табличного отчета
Contents
[
Hide
]
Перед созданием табличного отчета пользователь должен сначала создать источники данных, наборы данных и параметры отчета (необязательно), как описано вИсточники данных и запросы.
Ниже мы используем образец базы данных AdventureWorks, поставляемый с SQL Server Reporting Services 2005.
- Создайте набор данных с именем EmpSalesDetail. Мы будем использовать это как источник данных таблицы. Набор данных имеет три параметра: ReportYear, ReportMonth и EmpID. SQL, определяющий EmpSalesDetail, выглядит следующим образом:
SQL
SELECT C.FirstName+' '+C.LastName 'Employee',
DATEPART(Month,SOH.OrderDate) 'OrderMonthNum',
PS.Name 'SubCat',
Sum(SOD.LineTotal) 'Sales',
SOH.SalesOrderNumber,
P.Name 'Product',
Sum(SOD.OrderQty) 'OrderQty',
SOD.UnitPrice,
PC.Name 'ProdCat'
FROM AdventureWorks.Person.Contact C,
AdventureWorks.HumanResources.Employee E,
AdventureWorks.Production.Product P,
AdventureWorks.Production.ProductCategory PC,
AdventureWorks.Production.ProductSubcategory PS,
AdventureWorks.Sales.SalesOrderDetail SOD,
AdventureWorks.Sales.SalesOrderHeader SOH,
AdventureWorks.Sales.SalesPerson SP
WHERE SOH.SalesOrderID = SOD.SalesOrderID
AND SOH.SalesPersonID = SP.SalesPersonID
AND SP.SalesPersonID = E.EmployeeID
AND E.ContactID = C.ContactID
AND SOD.ProductID = P.ProductID
AND P.ProductSubcategoryID = PS.ProductSubcategoryID
AND PS.ProductCategoryID = PC.ProductCategoryID
AND ((DATEPART(Year,SOH.OrderDate)=?)
AND (DATEPART(Month,SOH.OrderDate)=?) AND (SOH.SalesPersonID=?))
GROUP BY C.FirstName+' '+C.LastName, DATEPART(Month,SOH.OrderDate),
PS.Name,
SOH.SalesOrderNumber,
P.Name,
SOD.UnitPrice,
PC.Name
- Создайте набор данных с именем SalesEmps. Мы будем использовать это как допустимые значения для параметра EmpID. SQL, который определяет SalesEmps:
SQL
SELECT E.EmployeeID, C.FirstName + N' ' + C.LastName AS Employee
FROM HumanResources.Employee E INNER JOIN Sales.SalesPerson SP
ON E.EmployeeID = SP.SalesPersonID INNER JOIN Person.Contact C
ON E.ContactID = C.ContactID ORDER BY C.LastName, C.FirstName
- Создайте три параметра отчета: ReportYear, ReportMonth и EmpID.
- Допустимые значения параметра ReportYear:
- Допустимые значения параметра ReportMonth:
- Допустимые значения параметра EmpID:
- Сопоставьте параметры набора данных с параметрами отчета следующим образом: