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

返回由表达式指定的所有非空数值的并集,并在给定范围内进行计算。

注释

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

语法

  
Union(expression, scope, recursive)  

参数

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

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

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

返回

根据表达式类型返回一个空间对象,选择SqlGeometrySqlGeography。 有关SqlGeometrySqlGeography空间数据类型的详细信息,请参阅空间数据类型概述

注解

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

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

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

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

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

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

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

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

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

示例:

下表以 WKT(众所周知的文本)格式显示了空间数据,并例举了 SqlGeometry 表达式及 Union 结果表达式。

具有空间数据的字段 示例: UNION 结果
[点位置] 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] 多边形(1 2、3 4、5 2、1 2)

多边形(-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)