首先声明我是菜鸟,刚开始学习Reporting Services。在学习教程中的一点笔记。
从SQL2005开始,微软就提供了强大的Reporting Services功能,的确好用,对于经常需要出复杂报表的朋友可谓是一大欢喜。
SQL2008中的SQL Server教程是一本很好的学习资料,我的是SQL2008非R2版,Reporting Services章节中需要用到微软示例数据库AdventureWorks2008。根据教程的提示只能找到AdventureWorks这个示例数据库。地址为:
http://msftdbprodsamples.codeplex.com/releases/view/55926
下载下来,安装完毕,开始按照教程一步步操作,问题来了,安装后没有AdventureWorks2008这个数据库,取而代之的是AdventureWorks,观察了一下结构基本一样,不影响学习,部分SQL有变动,具体情况如下:
PS:若在报表中输入中文后显示为乱码,请修改字体格式为宋休、微软雅黑等支持中中文显示的字体即可。
》》教程:创建基本表报表——第 3 课:为表报表定义数据集 (Reporting Services),SQL变更部分为:
FROM Sales.SalesPerson sp
INNER JOIN Sales.SalesOrderHeader AS soh
ON sp.SalesPersonID = soh.SalesPersonID
》》教程:向报表添加参数——第 1 课:添加按日期筛选报表的参数,SQL变更部分为:
FROM Sales.SalesPerson sp
INNER JOIN Sales.SalesOrderHeader AS soh
ON sp.SalesPersonID = soh.SalesPersonID
第二部分SQL中同样将sp.BusinessEntityID换为sp.SalesPersonID即可。
》》教程:向报表添加参数——第 2 课:添加创建可用值列表的参数
第一部分SQL变更部分为:
FROM Sales.SalesPerson sp
INNER JOIN Sales.SalesOrderHeader AS soh
ON sp.SalesPersonID = soh.SalesPersonID
第二部分SQL变更部分为:
SELECT SP.SalesPersonID, C.FirstName, C.LastName
FROM Sales.SalesPerson AS SP INNER JOIN
HumanResources.Employee AS E ON E.EmployeeID = SP.SalesPersonID INNER JOIN
Person.Contact AS C ON C.ContactID = E.EmployeeID
ORDER BY SP.SalesPersonID
教程中让选择290的用户,由于无对应数据 可以选择280。
》》教程:向报表添加参数——第 3 课:添加在列表中选择多个值的参数
第一部分SQL同上:
将sp.BusinessEntityID换为sp.SalesPersonID即可。
》》教程:创建基本矩阵报表——第 1 课:为矩阵报表定义数据集查询, SQL变更部分为
FROM Sales.SalesPerson AS SP
INNER JOIN Sales.SalesOrderHeader AS SOH
ON SP.SalesPersonID = SOH.SalesPersonID
INNER JOIN Person.Contact AS P
ON P.ContactID = SP.SalesPersonID
a