我试图通过使用Neodynamic Barcode生成器来调用条形码。但是我有这个错误:图像的'em>值表达式'条形码'直接指向字段'x'而没有指定数据集聚合。当报表包含多个数据集时,数据区域外的字段rreference必须包含在aggreate中指定数据集范围的函数。如何在此场景中定义数据集聚合?
我对条形码的表达是: = Code.GetBarcode(Fields!ID.Value,“Dataset”)
答案 0 :(得分:0)
我假设你在一个未绑定到数据集的报表项中运行它 - 就像Tablix通常那样 - 这就是你必须指定数据集名称的原因。因为您尝试在SSRS表达式中应用的任何非聚合函数必须应用于单个值,所以您需要更具体而不仅仅是字段和数据集名称;你需要包括你要申请的行。
这通常是通过使用聚合函数来处理的 - 例如sum
或min
或max
- 默认为'指定列中的每一行&# 39;或者通过在图表或表格之类的上下文中应用,这些图表或表格逐个遍历数据集的行。
由于您不这样做,您需要指定一行。如果您的数据集只有一行,则可以使用=Code.GetBarcode(first(Fields!ID.Value,"Dataset"))
,它只返回数据集第一行中的值。如果您有多行并且想要将此函数应用于每一行,则需要添加一个Tablix并在Details
行中输入您的表达式。