Union 函数(报表生成器和 SSRS)

返回在给定作用域中计算的、由表达式指定的所有非 Null 数值的联合。

注意

在 SQL Server Data Tools 中,您可以在报表生成器和报表设计器中创建和修改报表定义 (.rdl)。 每个创作环境提供了不同的方式来创建、打开和保存报表和相关项。 有关详细信息,请参阅 Web 上 microsoft.com 中的“在报表设计器和报表生成器中设计报表 (SSRS)”

语法

  
Union(expression, scope, recursive)  

参数

expression
SqlGeometrySqlGeography)要对其执行聚合的表达式。

作用域
(String) 可选。 包含要对其应用聚合函数的报表项的数据集、组或数据区域的名称。 如果未指定 scope ,则使用当前作用域。

递归
(Enumerated Type) 可选。 Simple(默认值)或 RdlRecursive。 指定是否以递归方式执行聚合。

返回

基于表达式类型返回空间对象 SqlGeometrySqlGeography。 有关 和 SqlGeography 空间数据类型的详细信息SqlGeometry,请参阅空间数据类型概述

备注

表达式中指定的数据集必须具有相同的数据类型。

scope 的值必须是字符串常量,不能是表达式。 对于外部聚合或未指定其他聚合的聚合, scope 必须引用当前作用域或包含作用域。 不支持数据集作用域。 对于聚合的聚合,嵌套聚合可以指定子作用域。

Expression 可以包含对嵌套聚合函数的调用,但具有以下例外和条件:

  • 嵌套聚合的Scope 必须与外部聚合的作用域相同,或者包含在外部聚合的作用域中。 对于表达式中的所有非重复作用域,一个作用域必须相对所有其他作用域处于子关系中。

  • 嵌套聚合的Scope 不能为数据集的名称。

  • 表达式 不得包含 FirstLastPreviousRunningValue 函数。

  • Expression 不得包含用于指定 recursive的嵌套聚合。

有关详细信息,请参阅聚合函数引用(报表生成器和 SSRS)总计、聚合和内置集合的表达式作用域(报表生成器和 SSRS)

有关递归聚合的详细信息,请参阅创建递归层次结构组(报表生成器和 SSRS)

示例

下表说明 SqlGeometry 表达式和 Union 结果表达式的示例,它们以空间数据的 WKT(熟知文本)格式显示。

具有空间数据的字段 示例 UNION 结果
[PointLocation] POINT(1 2)

POINT(3 4)
MULTIPOINT((1 2), (3 4))
[PathDefinition] LINESTRING(1 2, 3 4)

LINESTRING(5 6, 7 8)
MULTILINESTRING((7 8, 5 6), (3 4, 1 2))
[PolygonDefinition] POLYGON((1 2, 3 4, 5 2, 1 2))

POLYGON((-1 2, -3 4, -5 2, -1 2))
MULTIPOLYGON(((1 2, 5 2, 3 4, 1 2)), ((-5 2, -1 2, -3 4, -5 2)))
=Union(Fields!PointLocation.Value)  
=Union(Fields!PathDefinition.Value)  
=Union(Fields!PolygonDefinition.Value, "Group1")  

另请参阅

在报表中使用表达式(报表生成器和 SSRS)
表达式示例(报表生成器和 SSRS)
表达式中的数据类型(报表生成器和 SSRS)
总计、聚合和内置集合的表达式作用域(报表生成器和 SSRS)