AX SSRS 总共使用来自另一个数据集的表达式
AX SSRS use expression from another dataset in total
我有一个显示总计等的 header 部分。我在另一个数据集(数据集估计值)中有两个字段,我想将其放入 header 数据集。
费用(圆圈)= IIf(Right(Fields!ProjCategoryId.Value, 3) <> "EXP", Fields!Value.Value, 0)
第 3 方(圆圈)= IIf(Right(Fields!ProjCategoryId.Value, 3) = "EXP", Fields!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
- 要添加它,请右键单击报表的蓝色背景并 select 报表属性。
- 点击代码选项。
- 将其粘贴到此 window
- 在你希望数字出现的地方用
=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"))
这个其实很简单。查找包含表达式的文本框名称。
(当我们说文本框时,这不一定是工具箱中的文本框,它可以是 tablix 中的字段)。在您想要引用该值的地方,只需添加表达式即可引用结果。
我有一个显示总计等的 header 部分。我在另一个数据集(数据集估计值)中有两个字段,我想将其放入 header 数据集。
费用(圆圈)= IIf(Right(Fields!ProjCategoryId.Value, 3) <> "EXP", Fields!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
- 要添加它,请右键单击报表的蓝色背景并 select 报表属性。
- 点击代码选项。
- 将其粘贴到此 window
- 在你希望数字出现的地方用
=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"))
这个其实很简单。查找包含表达式的文本框名称。
(当我们说文本框时,这不一定是工具箱中的文本框,它可以是 tablix 中的字段)。在您想要引用该值的地方,只需添加表达式即可引用结果。