0

如何根据另一个字段的值从分组总和中排除一个值?

即我打开报告=> 报告属性=> 代码并插入我的自定义代码,但是我将如何更改以下代码以排除以下情况下另一个字段的数值?

Public Function ChangeWord(ByVal s As String) As String
   Dim strBuilder As New System.Text.StringBuilder(s)
   If s.Contains("Others") Then
      strBuilder.Replace("Others", "Other NOT INCL")
      Return strBuilder.ToString()
      Else : Return s
   End If
End Function
4

1 回答 1

4

我假设您想从总和中排除一个数值,其中同一行上的单元格的字符串值包括“其他”,并且您提供的函数用作报告中表格的分组标准. 抱歉,如果这不正确。

Iif如果不使用第二条逻辑,无论是函数还是条件,都无法做到这一点。我目前没有可用的 SSRS 来测试这个,但是(假设你的 value 列是一个整数,代码看起来像:

Public Function ExcludeOthers(rowDesc As String, rowVal as integer)
    if ChangeWord(rowDesc) = "Other NOT INCL"
        Return 0
    else
        Return rowVal
    end if
End Function

然后,在您希望条件和出现的单元格中:

=Sum(ExcludeOthers(Fields!desc.Value,Fields!val.Value))

或者,您可以在不使用该函数的情况下执行此操作,方法Iif是在将出现条件和的单元格中使用:

=Sum(Iif(ChangeWord(Fields!desc.Value) = "Other NOT INCL",0,Fields!desc.Value))

根据源数据的性质,您还可以通过将计算列添加到报表的源查询来执行此操作。

我倾向于第二个或第三个选项 - 为此目的,自定义代码似乎有点过分了。

于 2009-04-09T07:51:49.847 回答