Jos*_*amm 9 sql-server-2000 reporting-services
我正在使用Sql Server Reporting Services中的一个相当复杂的报告.我的SP返回动态数量的列,每列都是动态命名的.
基本上想到一个时间保持应用程序.动态的每个列表示为该团队收取时间的时间段.如果在报告涵盖的时间段内没有向该桶收取时间,则不显示.每个桶都有自己的标识符,我需要将其作为列标题.
我有一个SP返回这一切.它通过使用exec语句执行一些动态SQL来实现它(丑陋我知道但是我在SQL 2000上因此PIVOT选项不起作用)
我可以有无限数量的桶,任何或所有可能会显示.
我找到了这个 - http://www.codeproject.com/KB/reporting-services/DynamicReport.aspx - 这很有帮助,但在这个例子中他有一个有限数量的列,他只是根据哪些列隐藏或显示它们值.在我的情况下,我有一个可变数量的列,所以我需要报告来添加列.
有什么想法吗?
小智 10
只要您知道最大列数,就可以在时尚之后执行此操作.
首先,使用查询结果命名列,以便将其传递给查询或在那里派生.其次,只需将报表构建为具有最大列数,并在它们为空时隐藏它们.
例如,我必须建立一份报告,报告长达一年的月度销售数字,但月份不一定从1月份开始.我在一列中传回了月份名称,然后是我的报告的数字.在.rdl上,我构建了12组列,每个月可能一个,并且只使用表达式来隐藏列,如果它是空的.结果是报告似乎扩展到所需的列数.
当然,它并不是真正的动态,因为它可以在不知道上限的情况下扩展到你需要的范围.
小智 8
这可以做到.我这样做了,它工作正常.您不必知道最大列数或在我的方法中显示和隐藏列.使用矩阵并修改sp以将动态数据返回到此博客文章中提到的结构http://sonalimendis.blogspot.com/2011/07/dynamic-column-rdls.html
| 归档时间: |
|
| 查看次数: |
31412 次 |
| 最近记录: |