如何在 RDL 文件中定义数据集聚合

How to define dataset aggregate in RDL file

我正在尝试使用 Neodynamic 条码生成器调用条码。但是我有这个错误:value expression for the image 'Barcode' directly to the field 'x' without specifying a dataset aggregate.When the report contains multiple datasets, field rreference outside of数据区域必须包含在指定数据集范围的聚合函数中。如何在这种情况下定义数据集聚合?

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

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

这通常通过使用聚合函数为您处理 - 例如 summinmax - 默认为 'every row in the specified column' 或通过应用在图表或 table 之类的上下文中,它 运行 逐行查看数据集的行。

由于两者都没有,所以需要指定一行。如果您的数据集只有一行,您可以使用 =Code.GetBarcode(first(Fields!ID.Value,"Dataset")),这只会 return 数据集第一行中的值。如果您有多个行并且您想将此函数应用于每一行,您将需要添加一个 tablix 并在 Details 行中输入您的表达式。