我有一个标题部分,它显示总计等。我在另一个数据集(数据集估计)中有两个字段,我想将它们拉入标题数据集中。
费用(圆圈)= IIf(Right(Fields!ProjCategoryId.Value,3)<>“EXP”,Fields!Value.Value,0) 第3方(圆圈)= IIf(Right(Fields!ProjCategoryId.Value,3)= “EXP”,字段!Value.Value,0)
我知道您可以毫无问题地将另一个数据集的数据集相加,但是如何使用 IIF 等呢?
您可以使用自定义代码和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
=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"))