转至元数据结尾
转至元数据起始

除了以上所述各类通用函数,报表还支持微软RDL标准规范中的其他函数,以及一些特殊用途的函数。有关RDL标准规范函数,参见微软MSDN: https://msdn.microsoft.com/zh-cn/library/ms252112(v=vs.80)

函数

说明

语法

示例

GetFields

返回字段列表集合,仅限数据区域内使用。此函数可令复杂条件的表达式更易于编写。

=GetFields()

=GetFields(); =Code.DisplayAccountID(GetFields())

InScope

判断当前值是否在某个作用域内。

InScope(<作用域>)

=InScope("Order")

Level

返回当前值在层次结构中的级别。层次结构的第一级是0。

Level()

=Level()
Level(with scope)在指定的作用域内,返回当前值在层次结构中的级别。层次结构的第一级是0。Level(<作用域>)=Level("Order")

Lookup

返回外键关联的另一数据集的指定字段值。

Lookup(<主数据集字段>, <关联数据集匹配字段>, <关联数据集数据字段>, <关联数据集名称>)

=Lookup(Fields!ProductID.Value, Fields!ProductID.Value, Fields!Quantity.Value, "DataSet2")
Lookupset从指定的数据集中返回多行数值。LookupSet(<主数据集字段>, <关联数据集匹配字段>, <关联数据集数据字段>, <关联数据集名称>)=LookupSet(Fields!ProductID.Value, Fields!ProductID.Value, Fields!Quantity.Value, "DataSet2")

Previous

返回指定作用域中的前一个值,例如上一行记录的某一字段的值。

Previous(<表达式>)

=Previous(Fields!OrderID.Value)

RowNumber

返回当前行号

RowNumber()

=RowNumber()
RowNumber(with scope)返回指定作用域内的记录行号。RowNumber(<作用域>)=RowNumber("OrderID")
GetLength

获得数组的长度。参数为0或1,代表数组的维。

<Collection>.GetLength(<Number>)

=Parameters!MultiValueParameter.Value.GetLength(0)
Item由Fields/Parameters/ReportItems按名称返回内容。<Object | Record>.Item(<String>)

=Fields.Item("Company Name").Name, =Parameters.Item("Parameter1").Name, =ReportItems.Item("TextBox1").Value

Join连接指定数组的元素或集合的成员,在每个元素或成员之间使用指定的分隔符。Join(<数组>, <分隔符>)=Join(Parameters!MultiValueParameter.Value, ", ")


其中,应用较多的是Lookup函数、LookupSet函数、RowNumber函数和Join函数。

  • 无标签