【问题标题】:SSRS expression IIF() and sumSSRS 表达式 IIF() 和 sum
【发布时间】:2019-11-10 16:14:36
【问题描述】:

我在尝试运行报告时弹出此错误消息。它是 Dynamics AX 2012 的 SSRS 报告。

System.Web.Services.Protocols.SoapException:文本框“Textbox183”的 Visibility.Hidden 表达式具有对聚合函数无效的范围参数。范围参数必须设置为字符串常量,该常量等于包含组的名称、包含数据区域的名称或数据集的名称。 在 Microsoft.ReportingServices.Library.ReportingService2005Impl.CreateReport(字符串报告,字符串父,布尔覆盖,字节 [] 定义,属性 [] 属性,Guid 批处理 ID,警告 [] 和警告) 在 Microsoft.ReportingServices.WebServer.ReportingService2005.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)*

下面的这个表达式是在文本框的可见性上设置的。

Format(sum(IIF(Fields!InventOnHand.Value <= Parameters!CutOff.Value, Sum(Fields!InventOnHand.Vallue), 0 )), "#, ##0.00")

请帮助我理解上述错误的原因以及如何修复此表达式。

【问题讨论】:

  • 我同意发布的答案。此外,如果您希望框中的文本显示总和或 0,则可以将文本框表达式设置为 =Format(sum(IIF(Fields!InventOnHand.Value
  • “值”错字可能会导致类似这样的奇怪错误消息,具体取决于编译器如何解释。

标签: reporting-services ssrs-2012 ssrs-expression


【解决方案1】:

您希望什么时候看到您的文本框?您的表达式正在计算美元金额,而不是导致 可见性 的真/假条件。

由于错误询问您的数据集,我假设它不在表格中 - 表格中的文本框不需要数据集,因为表格与数据集相关联。

假设您只想在 Inventory 的 SUM 大于 CutOff 参数时看到文本框,您会希望:

=IIF(SUM(Fields!InventOnHand.Value, "Dataset1") <= Parameters!CutOff.Value, True, False) 

【讨论】:

    猜你喜欢
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多