我们举一个级联参数的例子,用sql Server 2005自带的AdventureWorks数据库作为数据源。AW里面有三张表:Product,ProductSubcategory和Productcategory。
我们现在就来实现级联参数的报表,报表最终会有两个参数:category和Subcategory。用户首先要选择category,然后Subcategory参数列表中就只会有被选择的category下的Subcategory,用户选择Subcategory,然后报表就会显示选定Subcategory下的产品信息。
第一步:
为category参数准备一个数据集“category”作为参数的数据源,数据集的查询代码相当简单:
SELECT ProductcategoryID,name
FROM Production.Productcategory
将新建的数据集绑定到category参数上,并指定category参数的Label为name,Value为ProductcategoryID。如下图:
第二步:
为Subcategory参数准备一个数据集“Subcategory”作为参数的数据源,这个数据集的查询就要使用category参数来对数据进行过滤,查询代码如下:
SELECT ProductSubcategoryID,name
FROM Production.ProductSubcategory
WHERE ProductcategoryID = @categoryID
将新建的数据集绑定到Subcategory参数上,并指定Subcategory参数的Label为name,Value为ProductSubcategoryID。如下图:
第三步:
现在可以写报表的数据源定义了,这个就更简单了:
SELECT Production.Product.name,Production.Product.Standardcost,Production.Product.ListPrice
FROM Production.Product
WHERE Production.Product.ProductSubcategoryID = @subcategoryID
然后就是拖一个table数据控件,绑定上数据源就OK了。
总结以上是内存溢出为你收集整理的在SQL Server报表服务中实现级联参数全部内容,希望文章能够帮你解决在SQL Server报表服务中实现级联参数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)