【问题标题】:How to define dataset aggregate in RDL file如何在 RDL 文件中定义数据集聚合
【发布时间】:2017-03-21 00:28:39
【问题描述】:

我正在尝试使用 Neodynamic 条码生成器调用条码。但是我有这个错误:图像“条形码”的值表达式直接引用字段“x”而不指定数据集聚合。当报表包含多个数据集时,数据区域外的字段引用必须包含在聚合中指定数据集范围的函数。 在这种情况下如何定义数据集聚合?

我对条形码的表达是:=Code.GetBarcode(Fields!ID.Value,"Dataset")

【问题讨论】:

    标签: reporting-services rdlc ssrs-2012 rdl


    【解决方案1】:

    我假设您在未绑定到数据集的报表项中运行此程序 - 就像通常情况下的 tablix 一样 - 这就是您必须指定数据集名称的原因。因为您尝试在 SSRS 表达式中应用的任何非聚合函数都必须应用于单个值,所以您需要更具体,而不仅仅是字段和数据集名称;你需要包括你要应用到哪一行。

    这通常是通过使用聚合函数为您处理的 - 例如 summinmax - 默认为“指定列中的每一行”,或者通过在某些内容的上下文中应用像图表或表格一样,逐行遍历数据集的行。

    由于您两者都不做,因此您需要指定一行。如果您的数据集只有一行,您可以使用=Code.GetBarcode(first(Fields!ID.Value,"Dataset")),它只会返回数据集第一行中的值。如果您有不止一行,并且希望将此函数应用于每一行,则需要添加一个 tablix 并在 Details 行中输入您的表达式。

    【讨论】:

    • 我已经通过使用=Code.Barcode(First(Fields!ID.Value,"Dataset") 解决了这个问题,因为我只需要以静态方式获取数据。感谢您详细说明我们应该在哪里以及如何使用这些表达式。
    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    相关资源
    最近更新 更多