2016-11-07 73 views
0

我想通过使用Neodynamic条形码生成器调用条形码。但是我有这个错误:图像的值表达式'条形码'直接指向字段'x',没有指定数据集合。当报表包含多个数据集时,数据区域外部的字段引用必须包含在聚合函数中指定数据集范围。如何在这种情况下定义数据集聚合?如何在RDL文件中定义数据集聚合

我的条码表达式为:= Code.GetBarcode(场ID.Value,“数据集”!)

回答

0

我假设你在未绑定到数据集报表项运行此 - 如通常是像Tablix这样的东西 - 这就是为什么你必须指定你的数据集名称。由于您尝试在SSRS表达式中应用的任何非聚合函数必须应用于单个值,因此您需要比字段和数据集名称更具体;你需要包含你正在申请的行。

这通常是为您或者通过使用聚合函数处理 - 如summinmax - 这在一些情况下被施加像图表或默认为“指定列中的每一行”或由表,它逐个遍历数据集的行。

既然你没有这样做,你需要指定一行。如果您的数据集只有一行,您可以使用=Code.GetBarcode(first(Fields!ID.Value,"Dataset")),这将仅返回数据集第一行中的值。如果您有多行,并且您希望将此函数应用于每行,则需要添加一个tablix并在Details行中输入您的表达式。

+0

我已经使用'= Code.Barcode(First(Fields!ID.Value,“Dataset”)'解决了它,因为我只需要以静态方式获取数据。感谢您的详细信息,我们在哪里以及如何应该使用表达式。 – 4stars