SSRS 2012的表达方式

时间:2016-03-08 09:31:00

标签: reporting-services sql-server-2012 ssrs-2012

我是SSRS报告大楼的新手。你能为报告计算字段建议/更正我的表达吗?

    IIF(((IsNothing(Parameters!AgeByDueDate.Value)),
 (IIF((Fields!adItemAgeByItemDate.Value >= 0 AND Fields!adItemAgeByItemDate.Value <= Parameters!AgeBreak1.Value),0,Fields!exCalculatedReportingOpenAmount.Value)),
 (IIF((Fields!adItemAgeByDueDate.Value >= 0 AND   Fields!adItemAgeByDueDate.Value <= Parameters!AgeBreak1.Value),0,Fields!exCalculatedReportingOpenAmount.Value ))))

非常感谢

2 个答案:

答案 0 :(得分:0)

兄弟,至少你应该告诉别人你在这里尝试做什么,以及你是收到错误还是只想优化代码。 我猜SWITCH功能会比IIF更好吗?如果我正确理解您使用此代码所做的事情......希望有所帮助。

答案 1 :(得分:0)

尝试使用较少的括号,并在表达式的开头添加=符号,如下所示:

   =IIF( IsNothing(Parameters!AgeByDueDate.Value,
         IIF(Fields!adItemAgeByItemDate.Value >= 0 AND Fields!adItemAgeByItemDate.Value <= Parameters!AgeBreak1.Value,0,Fields!exCalculatedReportingOpenAmount.Value),
         IIF(Fields!adItemAgeByDueDate.Value >= 0 AND  Fields!adItemAgeByDueDate.Value <= Parameters!AgeBreak1.Value,0,Fields!exCalculatedReportingOpenAmount.Value) )