2012-01-17 127 views
0

在我的Sql Server Reporting Services(SSRS)2005报告中,我有一个执行数据透视并导致动态列列表的查询。我严格遵循http://www.simple-talk.com/community/blogs/andras/archive/2007/09/14/37265.aspx中的示例。SSRS 2005中的SQL动态数据透视查询

现在,问题是我的查询可能返回不同的列,我不知道这些列的名称,当我设计我的SSRS报告。查询在报表设计器的“数据”选项卡下正常运行,但布局设计器不知道列名,它不会让我指定要显示的字段。

有没有办法做到这一点?我可以动态布局代码中的数据集字段吗?我可以按位置而不是名称访问数据集中的数据列吗?

+1

你可以发布你的意思是一个屏幕截图吗?你只需要在RS中创建一个交叉表报告,它不管你有多少列或他们的名字。这是好处,你将它放在列组中,它将动态添加所有列,而不管名称如何。需要更多的细节,你要问什么和可能一些屏幕截图箭头:)。 – JonH 2012-01-17 20:57:10

+0

做出答案,我会接受它!你是对的。我有一个心理障碍,并写了一个过度复杂的T-SQL查询来完成数据透视。我所需要的仅仅是一个简单的查询,让Matrix为我做主轴。 – 2012-01-17 21:21:52

+0

看到我的答案 - 总是枢轴转动并出现在前端而不是后端。它使这一切变得更加容易。 – JonH 2012-01-17 23:18:20

回答

1

您真的可以利用报告服务利用基于列的交叉表报告。在数据库层中写入T-SQL,然后在报告层下拉并放置交叉表报告。在列分组中,只需添加您需要的列,rs非常棒,足够聪明,可以动态添加所有列。

这是我原来的评论:):

你能张贴你的意思的屏幕截图?你只需要在RS中创建一个交叉表报告,它不管你有多少列或他们的名字。这是好处,你将它放在列组中,它将动态添加所有列,而不管名称如何。需要更多的细节,你要问什么和可能一些屏幕截图箭头:)。

要记住的一件事 - 不要让数据库编程变得困难 - 演示文稿应该主要和几乎总是在前端工具中完成,在这种情况下,报告服务。你的数据库层的代码应该是非常简单的标准T-SQL,也许是一个分组。客户将处理演示文稿问题。