Ssrs 2008 组列表中的SSRS表达式说明?

Ssrs 2008 组列表中的SSRS表达式说明?,ssrs-2008,reporting-services,Ssrs 2008,Reporting Services,我在做SSR报告,我们在小组里有一份报告,在那里,在那里 一个名为Long Only的值下面有一些表达式 =IIF(CDec(Parameters!NAV.Value)>1,((SUM(Fields!LongMV.Value)-SUM(IIF(Right(Fields!SecurityType.Value,4)=“Cash”或Left(Fields!SecurityType.Value,8)=“Treasury”,Fields!LongMV.Value,0))/(Parameters!NAV.V

我在做SSR报告,我们在小组里有一份报告,在那里,在那里 一个名为
Long Only的值
下面有一些表达式

=IIF(CDec(Parameters!NAV.Value)>1,((SUM(Fields!LongMV.Value)-SUM(IIF(Right(Fields!SecurityType.Value,4)=“Cash”或Left(Fields!SecurityType.Value,8)=“Treasury”,Fields!LongMV.Value,0))/(Parameters!NAV.Value/1000))-1,0

上面的表达式是对
LONGVALUE

我想执行这个函数,有什么方法可以这样做吗(只有通过输入样本值才能执行这个函数)

导航值=1200 总和(字段!长MV.值)=49

这是做什么的
(右(Fields!SecurityType.Value,4)=“Cash”

我是ssrs报告的新手,有人能帮我了解一下这个表达吗

我们正在使用存储过程进行报告


谢谢

格式化有点帮助:

=IIF
(
  CDec(Parameters!NAV.Value) > 1
  ,
  (
    (
      SUM(Fields!LongMV.Value) -
        SUM
        (
          IIF
          (
            Right(Fields!SecurityType.Value, 4) = "Cash" OR Left(Fields!SecurityType.Value, 8) = "Treasury"
            , Fields!LongMV.Value
            , 0
          )
        )
    ) /(Parameters!NAV.Value/1000)
  ) - 1
  , 0
)
这里我们可以看到,对于每个组,表达式都在计算:

If NAV parameter > 1, return 0

Else return group level ((LongMV - Cash Long MV) / NAV parameter / 1000) - 1
其中
现金多头MV
为:

集团级现金类型长期MV+集团级金库类型长期MV

这就是这个表达式所要计算的。我仍然不确定这里的问题是什么——只有你可以根据你的数据的所有含义,将上面的内容放到任何上下文中

这是你可以与同事进一步讨论的问题吗

评论后编辑:

Right()
只是一个标准的SSRS/.NET函数,它从字符串的右侧返回指定数量的字符

Right(Fields!SecurityType.Value,4)=“Cash”
根据证券类型值中的最后4个字符检查是否应将某些证券类型包括在计算中。例如,这将包括已结算现金和未结算现金等证券类型

使用特定值进行测试的目的是将这些值返回到存储过程中的数据集,例如,使其使总LongMV返回的总和达到您所需的值


或者你可以将它们硬编码到公式中;这不是一个真正有明确答案的问题。

我已经尽可能地回答了你的问题。在你有很多问题的地方,可能最有用的是创建新的问题,而不是修改原来的问题,尽管我想这取决于你的观点他们是否有直接关系。无论如何,我希望这能有所帮助。