reporting-services - 如何将范围分配给 ssrs 2012 中的报告变量

标签 reporting-services ssrs-2012

我是 SSRS (2012) 的新手,来自使用 BusinessObjects 的 loooong 背景,因此有时我很难知道如何搜索正确的术语。

我有一个这样的报告,其中的部分在 tablix 中,而总计在另一个中。
这种布局是必需的(或者这会更简单一些!)

Section 1
                Date 1  Date 2  Date 3  % of Grand Total
Product1        value   value   Value   Value3/GT3 (12%)
Product2        value   value   Value   Value3/GT3 (14%)
Section Total   Total1  Total   Total3  Value3/GT3 (7%)

Section 2
                Date 1  Date 2  Date 3
Product1        value   value   Value   Value3/GT3 (30%)
Product2        value   value   Value   Value3/GT3 (22%)
Section Total   Total1  Total 2 Total3  Value3/GT3 (22%)

Grand Total     GT1     GT2     GT3     GT3/GT3 (100%)

我很难计算总计的百分比,因为分子和分母不在同一范围内。
我想也许是一个报告变量,但我不知道如何从 BusinessObjects 创建这种公式的等价物 -
=Sum(Value) where (Date = "Date 3")

我想为我的报告变量分配上下文或范围,但我不知道该怎么做,或者它是否会起作用。

我知道我可以通过在引号中包含数据集名称来创建整个报告的范围,但如何限制为其中的一个子集?

谢谢,
点头。

最佳答案

SSRS 中的聚合函数将范围作为第二个参数。该范围参数是一个字符串,它是您的范围的“名称”。如果您希望范围是表组,则可以使用表组的名称。如果您希望范围是整个数据集,则可以使用数据集的名称。您始终可以在属性窗口中看到元素的名称(按 F4)。

根据您完成过滤的方式,您可以使用不同的范围。使用数据集名称将是最直接的方式,但前提是数据集已被过滤到 SQL 中的正确记录。否则,您可能希望使用 tablix 作为您的范围。 (在下面的示例中类似于“Tablix1”而不是“DataSetName”。)

一旦你知道你正在使用哪个范围,你就可以在聚合中使用条件来只查看正确的记录。例如。要在 SSRS 中重写您的 Business Objects 表达式,您将执行以下操作:

=SUM(IIF(Date = "Date 3",Value,0), "DataSetName")

此表达式有效,因为如果日期字段不等于“日期 3”,它将返回零并且不会向您的 SUM 添加任何内容。只有 Date = "Date 3" 所在的行将有他们的 Value包含在 SUM() 中功能。

一些关于 SSRS 作用域和聚合函数的好资源:
  • MSDN:Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS)
  • MSDN:Aggregate Function (Report Builder and SSRS)
  • 关于reporting-services - 如何将范围分配给 ssrs 2012 中的报告变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24500703/

    相关文章:

    sql-server-2008 - SQL 2008 报告服务身份验证

    reporting-services - 尽管设置正确,报告查看器 Web 控制版本 10 仍会出错

    database - SQL Reporting Services - Visual Studio 中的共享数据源

    sql - 如何强制在 ssrs 报告中显示本周的开始

    reporting-services - 快速查询在 SSRS 2 中运行缓慢

    reporting-services - SSRS 添加有差异的总行

    sql-server - SSRS 无法有条件地从 XML 数据源中过滤 "nil"值?

    reporting-services - 报表定义无效或不受此版本的 Reporting Services 支持

    c# - 在 ASP.net MVC 站点中查看 SSRS 报告

    reporting-services - 过滤数据集中的多值参数