Reporting services 在SSRS中添加一个简单的计算字段?
我正在尝试在SSRS中创建报告。我已经创建了一个简单的表报告,现在我需要在该表中添加一个计算字段。下面是我需要用来创建计算字段的两个字段Reporting services 在SSRS中添加一个简单的计算字段?,reporting-services,dynamics-crm,ssrs-2012,ssrs-tablix,calculated-field,Reporting Services,Dynamics Crm,Ssrs 2012,Ssrs Tablix,Calculated Field,我正在尝试在SSRS中创建报告。我已经创建了一个简单的表报告,现在我需要在该表中添加一个计算字段。下面是我需要用来创建计算字段的两个字段 type value Credit Memo 3463 Invoice 2623 Invoice 3105 Invoice 3664 Invoice 2040 Credit Memo 2929 Credit Memo 2424 Invoice 2549 Invoice
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条件,即:
具有发票类型的值之和-具有贷项凭证类型的值之和
我为此创建了两个计算字段,第一个是:
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)
但这给了我一个错误:
用于计算语音的表达式包括
聚合、行数、运行值、上一个或查找函数。
聚合、RowNumber、RunningValue、Previous和lookup函数
不能在计算字段表达式中使用
有人能帮我吗
谢谢您可以将IIF嵌套在SUM中 发票金额
=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
)
)
您不能将这些表达式放在数据集计算字段中,但可以将它们放在表的单元格中,它们应该可以正常工作。为了澄清表达式应该以=iif开头,您不需要在其中输入名称。我同意,尽管表达式有点笨拙,但您应该使用它们,而不是尝试创建临时变量。另外请注意,当您试图计算最终值时,您已经在创建临时变量时求和了值,所以每个温度变量的总和对我来说似乎是多余的…我现在直接在单元格中尝试这个表达式,它显示错误??有什么建议吗?也许尝试隔离Iif和总和,以确保组件正常工作。i、 伊菲尔德!新文档类型值。值=发票,1,0。还有,萨姆菲尔德!invoicedetail1\u extendedamountValue.Value