我正在尝试在SSRS中创建报告。我现在创建了一个简单的表格报告,我需要在该表格中添加一个计算字段。下面是我需要用来创建计算字段的两个字段。
type value
Credit Memo 3463
Invoice 2623
Invoice 3105
Invoice 3664
Invoice 2040
Credit Memo 2929
Credit Memo 2424
Invoice 2549
Invoice 2129
Credit Memo 2957
我需要设置一个if条件:
类型为Invoice的值的总和 - 类型为Credit Memo的值的总和
我为此创建了2个计算字段,首先是:
SumOfInvoice==iif(Fields!new_documenttypeValue.Value="Invoice",(Sum(Fields!invoicedetail1_extendedamountValue.Value)),0)
第二是:
SumOfCreditMemo==iif(Fields!new_documenttypeValue.Value="Credit Memo",(Sum(Fields!invoicedetail1_extendedamountValue.Value)),0)
然后我在表中添加了一个列并写了一个表达式:
=Sum(Fields!SumOfInvoice.Value)-Sum(Fields!SumOfCreditMemo.Value)
但它给了我这个错误:
用于计算的提交的SumOfInvoice的表达式包括 aggregate,RowNumber,Running Value,Previous或lookup函数。 Aggregate,RowNumber,RunningValue,Previous和lookup函数 不能用于计算字段表达式。
有人可以帮帮我吗?
由于
答案 0 :(得分:0)
您可以在SUM
中嵌套IIF发票总额
=SUM(
Iif(Fields!new_documenttypeValue.Value="Invoice",Fields!invoicedetail1_extendedamountValue.Value,0)
)
贷项凭证相同
=SUM(
Iif(Fields!new_documenttypeValue.Value="Credit Memo",Fields!invoicedetail1_extendedamountValue.Value,0)
)
发票 - 信用表达
= SUM(
Switch(
Fields!new_documenttypeValue.Value="Invoice", Fields!invoicedetail1_extendedamountValue.Value,
Fields!new_documenttypeValue.Value="Credit Memo",-Fields!invoicedetail1_extendedamountValue.Value,
True, 0
)
)
或者更简单的选择,因为您只有发票和贷记凭证可以
=SUM(
IIF(
Fields!new_documenttypeValue.Value="Credit Memo",
-Fields!invoicedetail1_extendedamountValue.Value,
Fields!invoicedetail1_extendedamountValue.Value
)
)