有没有办法在此报告列中获取差异而不是SUM

时间:2014-01-22 22:36:48

标签: reporting-services

我不确定这是否足够信息,但我如何在此输入表达式来计算收入与费用的差异,然后计算这些数额的总和:?

enter image description here

我想要的是:

balance = SUM(amount) when IncomeExpense = "Income" - SUM(amount) when IncomeExpnese = "Expense

balanceTotal = SUM(balance)

每当我尝试在这些字段中输入表达式时,我的报告都会出现#Error。我不确定我做错了什么,任何建议都会很棒,我显然对“表达”写作很新。如果需要更多信息,我可以得到它。谢谢,我感谢任何帮助!

更新:这是正在查看的报告,我圈出了我想找到差异的值:

enter image description here

1 个答案:

答案 0 :(得分:1)

这样的事情?

=Sum(Fields!Amount.Value * Iif(Fields!IncomeExpense.Value = "Income", 1.0, -1.0))

或者如果您不想将值乘以

=Sum(Iif(Fields!IncomeExpense.Value = "Income", Fields!Amount.Value, -Fields!Amount.Value))

总计的功能应该相同。我认为你只有收入和费用作为价值观。如果要显式检查Expense,可以使用伪代码中的Switch(收入,+金额,费用, - 金额)等Switch语句替换Iif。

编辑:关于表达式编辑:我发现输入这些表达式的最简单方法是在表达式构建器/编辑器中。右键单击一个框,您应该能够选择带有f(x)之类图标的“Expression”。

[Sum(Amount)]是输入表达式的另一种方式,但对于这样的计算,您需要在大多数时间编辑表达式。在后台,[Sum(Amount)]也是一个表达式:=Sum(Fields!Amount.Value)。通过编辑现有总计中的一个表达式来试用它。