我正在构建一个报告,我正在尝试为变量(不是参数)编写表达式。我打算创建多个变量,每个变量引用来自不同数据集的数量的SUM(SUM())。然后,我计划在单个文本框中引用这些变量中的每一个来进行计算。这是为了规避SSRS在单个Tablix /矩阵中使用多个数据集的限制。
我需要一些语法帮助。当我单独使用SUM时,报告运行正常,我可以毫无问题地对这些值执行计算。例如,这很好用:
变量1:
=SUM(Fields!Amount.Value, "DataSet1")
变量2:
=SUM(Fields!Amount.Value, "DataSet2")
Textbox1的:
=Variable1.Value - Variable2.Value
但是在尝试将其修改为以下内容时出现错误(这是我实际需要的):
变量1:
=SUM(SUM(Fields!Amount.Value, "DataSet1"))
我收到错误消息“报表'body的变量表达式'使用不带范围的聚合表达式。除非报表只包含一个数据集,否则在数据区域外使用的所有聚合都需要作用域。”我有预感,我的语法/ parantheses放置有问题。我尝试在最后添加“,DataSet1”(SUM(SUM(Fields!Amount.Value,“DataSet1”),“DataSet1”),但收到有关递归嵌套问题的错误。有任何建议吗?
答案 0 :(得分:4)
我猜你在哪里分配变量,它没有这些列组的概念,所以唯一的选择是对整个数据集求和。
我认为您可以尝试以下方法之一:
SUM(IIF(Fields!Location.Value = TheLocationValueForTheColumnYouNeed, Fields!Amount.Value, 0))