Vorbereitung für die Erstellung eines tabellarischen Berichts
Contents
[
Hide
]
Bevor ein tabellarischer Bericht erstellt wird, muss der Benutzer zuerst Datenquellen, Datensätze und Berichtsparameter (optional) erstellen, wie in Datenquellen und Abfragen beschrieben.
Im Folgenden verwenden wir die AdventureWorks-Beispieldatenbank, die mit SQL Server Reporting Services 2005 ausgeliefert wird.
- Erstellen Sie einen Datensatz mit dem Namen EmpSalesDetail. Wir werden dies als Datenquelle der Tabelle verwenden. Der Datensatz hat drei Parameter: ReportYear, ReportMonth und EmpID. Der SQL, der EmpSalesDetail definiert, lautet:
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
- Erstellen Sie einen Datensatz mit dem Namen SalesEmps. Wir verwenden dies als gültige Werte für den Parameter EmpID. Der SQL, der SalesEmps definiert, lautet:
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
- Erstellen Sie drei Berichtsparameter: ReportYear, ReportMonth und EmpID.
- Die gültigen Werte für den Parameter ReportYear sind:
- Die gültigen Werte für den Parameter ReportMonth sind:
- Der gültige Wert für den Parameter EmpID ist:
- Ordnen Sie die Datensatzparameter den Berichtsparametern wie folgt zu: