【问题标题】:SSRS - How to sum a Parameter Expression?SSRS - 如何对参数表达式求和?
【发布时间】:2015-06-16 09:41:29
【问题描述】:

我在报告中使用以下参数作为表达式来输入 1 到 7 之间的数字。如何对这一列求和?

=Parameters!NoofBookingsYear1.Value
Expression: [@NoofBookingsYear1]

数据按季节分组。

【问题讨论】:

  • 我讨厌人们质疑我的问题,但是.. 为什么需要对您的 参数 求和 - 它是多值吗?您通常会将其与数据中某个字段的总和进行比较 - 例如可见性 =IIF(SUM(FIELDS!Bookings.Value) = Parameters!NoofBookingsYear1.Value, True, False)
  • 是的,它基本上是一个多值参数 [1 - 10],允许用户选择潜在的预订,从而重新计算潜在的收入。它按季节对数据进行分组,请参见下文:-
  • 季节平均房价 潜在预订 总收入 中 £252 3 £755 非高峰 £174 3 £522 高峰 £469 3 £1,407 第一年目标 £282 9??? 845 英镑

标签: parameters sum ssrs-2008 ssrs-expression


【解决方案1】:

不幸的是,没有内置的方法可以做到这一点。幸运的是,有代码可以解决限制。您需要一些 VB 代码来汇总您的参数。

对于您的表达式,您需要将所有选定的参数数量发送到求和函数:

=code.SumParam(Join(Parameters!q.Value, ", "))

对于您的代码,您需要解析逗号并添加数字:

Function SumParam(Param as string) as Decimal

Start:
SumParam = SumParam + Val(Left(Param, INSTR(Param, ",") - 1))

Param = Mid(Param, INSTR(Param, ",") + 1, len(Param))

If INSTR(Param, ",") > 0 Then Goto Start 

SumParam = SumParam  + Val(Param)

End Function

我没有任何错误检查,所以如果有一个无效的值,它可能会出错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多