0

我有一个标题部分,它显示总计等。我在另一个数据集(数据集估计)中有两个字段,我想将它们拉入标题数据集中。

费用(圆圈)= IIf(Right(Fields!ProjCategoryId.Value,3)<>“EXP”,Fields!Value.Value,0) 在此处输入图像描述 第3方(圆圈)= IIf(Right(Fields!ProjCategoryId.Value,3)= “EXP”,字段!Value.Value,0)

我知道您可以毫无问题地将另一个数据集的数据集相加,但是如何使用 IIF 等呢?

4

2 回答 2

1

这实际上非常简单。查找包含表达式的文本框名称。 在此处输入图像描述

(当我们说文本框时,它不必是工具箱中的文本框,它可以是 tablix 中的一个字段)。如果您想引用该值,只需添加表达式,您就可以引用结果。

在此处输入图像描述

于 2017-03-30T10:33:43.620 回答
1

您可以使用自定义代码和lookupset().

代码:

Function SumLookup(ByVal items As Object()) As Decimal
    If items Is Nothing Then
        Return Nothing
    End If

    Dim suma As Decimal = New Decimal()
    Dim ct as Integer = New Integer()

    suma = 0
    ct = 0

    For Each item As Object In items
        suma += Convert.ToDecimal(item)
        ct += 1
    Next

    If (ct = 0) Then return 0 else return suma 
End Function
  • 要添加它,请右键单击报告的蓝色背景并选择Report Properties
  • 单击代码选项。 报告属性窗口
  • 粘贴到这个窗口
  • =Code.SumLookup(lookupset("EXP", right(Fields!ProjCategoryId.Value, 3), Fields!Value.Value, "DatasetName"))在您希望数字出现的表达式中调用它

这会将 ProjCategoryId 以“EXP”开头的所有值相加。

对于 <> "EXP",您可能需要对其进行多次调用,以将它们全部添加到它可以开始的每件事上。例如..

Code.SumLookup(lookupset("ONE", right(Fields!ProjCategoryId.Value, 3), Fields!Value.Value, "DatasetName")) + Code.SumLookup(lookupset("TWO", right(Fields!ProjCategoryId.Value, 3), Fields!Value.Value, "DatasetName"))

于 2017-03-28T11:24:11.827 回答