从Vriable中的数据集引用字段

时间:2016-05-06 02:11:45

标签: reporting-services

我正在创建一个尝试使用数据集中的字段的变量,但它会抛出错误。 "数据域"是数据集的名称。

=Year(Fields!Year.Value, "DATAFields")-9

错误:

  

他的报告定义无效。变量表达式   报告' body'直接指的是“年”字段。无   指定数据集聚合。当报告包含多个时   必须包含数据集,数据区域外的字段引用   在指定数据集范围的聚合函数中。

Example
02/02/2015 
Output 
2007

请有人帮忙......

3 个答案:

答案 0 :(得分:1)

我使用了参数来引用。它现在有效。

=Year(Variables!Short_Month.Value)-9

在我使用的文本框中

=Variables!v1.Value & " Total is"

答案 1 :(得分:0)

由于在您的问题中您使用的是数据集名称,我假设您从dataset2调用dataset1。而你正试图从dataset1中的那个字段中获取年份。

这个表达式错了:

=Year(Fields!Year.Value, "DATAFields")-9

你试试这个:

=First(Fields!Year.Value, "DATAFields")
  • 右键单击表达式>占位符属性>数字>日期>选择所需的日期格式。

*如果你没有从另一个数据集中调用它,你可以使用:

=Fields!Year.Value

然后重复如何设置日期格式。

*注意:还有另一种方法可以在表达式中设置日期的格式,但对我来说这有点简洁。

更新: 你也可以试试这个:

=Year(First(Fields!DatePreparedBy.Value, "DSBUser"))-9 & " Total is"

答案 2 :(得分:0)

我有同样的问题。 如果报表具有多个数据集,则不能在变量表达式中使用“ first()”函数。

我也不想将值作为参数传递。我最终在与尝试引用的数据相同的数据集中创建了一个计算字段,并且对我有用。