在我的Sql Server Reporting Services(SSRS)2005报告中,我有一个执行数据透视并生成动态列列表的查询。我密切关注http://www.simple-talk.com/community/blogs/andras/archive/2007/09/14/37265.aspx中的示例。
现在,问题是我的查询可以返回不同的列,当我设计我的SSRS报告时,我不知道这些列的名称。该查询在报表设计器的“数据”选项卡下运行正常,但布局设计人员不知道我的列名称,并且不允许我指定要显示的字段。
有办法做到这一点吗?我可以在代码中动态布局数据集字段吗?我可以按位置而不是名称访问数据集中的数据列吗?
答案 0 :(得分:1)
您真的可以利用报告服务来利用基于列的交叉表报告。在db层中编写T-SQL,然后在报告层中删除并删除交叉表报告。在列分组中只需添加您需要的列,rs非常棒且足够智能,可以动态添加所有列。
这是我原来的评论:):
你能发布你的意思的截屏吗?您只需要在RS中创建一个交叉表报告,无论您拥有多少列或其名称都无关紧要。这是优点,您将它放在列组中,它将动态添加所有列,而不管名称。需要更多细节,你要问的是什么,可能还有一些带箭头的屏幕截图:)。
要记住的一件事 - 不要让您的数据库编程变得困难 - 演示应该主要并且几乎总是在前端工具中完成,在这种情况下报告服务。您的数据库层的代码应该是非常简单的标准T-SQL,可能是一个分组。客户将处理演示问题。