在SQL Server报表服务中实现级联参数

在SQL Server报表服务中实现级联参数,第1张

概述前段时间有位朋友问到了怎么样在报表服务里面实现级联参数,也就是一个参数的可选值列表由另外一个参数确定。我答应这位朋友写一篇博客来说明怎么写这种报表。不过由于最近杂务缠身就一直拖到了现在,真是抱歉。我们举一个级联参数的例子,用SQL Server 2005自带的AdventureWorks数据库作为… 前段时间有位朋友问到了怎么样在报表服务里面实现级联的参数,也就是一个参数的可选值列表由另外一个参数确定。我答应这位朋友写一篇博客来说明怎么写这种报表。不过由于最近杂务缠身就一直拖到了现在,真是抱歉。

  我们举一个级联参数的例子,用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报表服务中实现级联参数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1158344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存