【问题标题】:Report Builder SUM IIF - More than 1 DataSet报表生成器 SUM IIF - 超过 1 个数据集
【发布时间】:2023-04-03 16:42:01
【问题描述】:

我正在尝试使用以下代码将以下表达式添加到报表生成器报表上的文本框:

=SUM(IIF(Fields!TaskDescription.Value,"DataSet1") = "Running", 1, 0)

我认为导致问题的数据集超过 1 个,但上面给出了以下错误消息:

范围参数必须设置为字符串常量,该常量等于 包含组的名称,包含数据的名称 区域,或数据集的名称。

我做错了什么?

【问题讨论】:

    标签: reporting-services reportbuilder3.0


    【解决方案1】:

    范围,在您的情况下为 DataSet,需要是聚合中的最后一个参数,即在 IIf 之后:

    =SUM(IIF(Fields!TaskDescription.Value = "Running", 1, 0), "DataSet1")
    

    =Sum(<Expression>, <Scope>)

    表达式计算DataSet1 数据集中TaskDescription 列中值Running 的出现次数。

    评论后编辑

    显示表达式的快速测试。带有您的列的简单数据集:

    我刚刚使用上述表达式在空白报告中添加了一个文本框:

    在示例数据上按预期工作:

    【讨论】:

    • 我收到以下错误:文本框“ExecutionTime”的值表达式直接引用字段“TaskDescription”而不指定数据集聚合。当报表包含多个数据集时,数据区域外的字段引用必须包含在指定数据集范围的聚合函数中。
    • 我已经展示了表达式按预期工作 - 也许你有错字或其他类似的东西?
    • 我已经检查并再次检查,如果您将另一个数据集添加到报告中,它对您有用吗?
    • 是的,抱歉,添加了另一个以确保一切正常。
    • 新的一天,新的大脑...愚蠢的是因为我的任务描述是任务描述。我不知道它是区分大小写的。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多