【问题标题】:SQL Dynamic Pivot Query in SSRS 2005SSRS 2005 中的 SQL 动态透视查询
【发布时间】:2012-01-17 20:44:05
【问题描述】:

在我的 Sql Server Reporting Services (SSRS) 2005 报告中,我有一个执行 Pivot 并生成动态列列表的查询。我密切关注http://www.simple-talk.com/community/blogs/andras/archive/2007/09/14/37265.aspx 中的示例。

现在,问题是我的查询可以返回不同的列,而我在设计 SSRS 报告时不知道这些列的名称。查询在报表设计器的数据选项卡下运行良好,但布局设计器不知道我的列名,它不会让我分配要显示的字段。

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

【问题讨论】:

  • 你能张贴你的意思的屏幕截图吗?您只需要在 RS 中创建一个交叉表报告,无论您有多少列或它们的名称。这是优势,您将它放在列组中,它会动态添加所有列,而不管名称如何。需要有关您所问内容的更多详细信息,可能还有一些带箭头的屏幕截图:)。
  • 提出这个答案,我会接受的!你是对的。我有一个心理障碍,并编写了一个过于复杂的 T-SQL 查询来进行数据透视。我所需要的只是一个简单的查询,然后让 Matrix 为我完成支点。
  • 查看我的答案 - 始终在前端而不是后端旋转并呈现。它让一切变得更容易。

标签: reporting-services reportingservices-2005


【解决方案1】:

您确实可以利用报告服务来利用基于列的交叉表报告。在db层写T-SQL,然后在reporting层drop和drop交叉表报表。在列分组中只需添加您需要的列,rs 非常棒且足够智能,可以动态添加所有列。

这是我原来的评论:):

你能张贴你的意思的屏幕截图吗?您只需要在 RS 中创建一个交叉表报告,无论您有多少列或它们的名称。这是优势,您将它放在列组中,它会动态添加所有列,而不管名称如何。需要有关您所问内容的更多详细信息,可能还有一些带有箭头的屏幕截图:)。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多