返回一个通过汇总集合表达式返回的单元格计算得出的数值。 如果没有提供数值表达式,该函数会在当前查询上下文中使用为每个度量指定的默认聚合算子对每个度量进行聚合。 如果提供了数值表达式,该函数首先对指定集合中每个单元格的数值表达式进行求和。
Syntax
Aggregate(Set_Expression [ ,Numeric_Expression ])
Arguments
Set_Expression
一个有效的多维表达式(MDX)表达式,返回集合。
Numeric_Expression
一个有效的数值表达式,通常是多维表达式(MDX)表达式,表示返回一个数字的单元坐标。
Remarks
如果指定了空元组集合或空集合,该函数返回空值。
下表描述 了聚合 函数在不同聚合函数下的表现。
| 聚合操作员 | Result |
|---|---|
| 总和 | 返回集合上的取值总和。 |
| 计数 | 返回集合内的数值计数。 |
| 麦克斯 | 返回集合的最大值。 |
| 分钟 | 返回集合上的最小值。 |
| 半加法聚合函数 | 在将形状投影到时间轴后返回对集合的半加性行为计算结果。 |
| 独特计数 | 当切片器轴包含集合时,数据对子立方体有贡献的事实数据进行聚合。 返回集合中每个成员的不同计数。 结果取决于被聚合单元的安全性,而非计算所需的单元安全性。 该装置的基区安全会引发错误;低于指定集粒度的单元安全则被忽略。 在集合上的计算会产生误差。 低于粒度的计算则被忽略。 对包含一个成员及其一个或多个子节点的集合进行不同计数,返回对该子成员贡献的事实的不同计数。 |
| 无法汇总的属性 | 返回各值的总和。 |
| 混合聚合函数 | 不支持,且会报错。 |
| 一元运算符 | 不被尊重;数值通过求和汇总而成。 |
| 计算度量 | 解顺序集以确保计算出的测度适用。 |
| 计算的成员 | 适用常规规则,即最后一次解的顺序优先。 |
| 分配 | 赋值根据测度聚合函数进行聚合。 如果测度聚合函数为不同计数,则赋值相加。 |
示例
以下示例返回了2003年历年前八个月内成员的总和 Measures.[Order Quantity] ,这些时间包含在该 Date 维度中,取自 Adventure Works 立方体。
WITH MEMBER [Date].[Calendar].[First8Months2003] AS
Aggregate(
PeriodsToDate(
[Date].[Calendar].[Calendar Year],
[Date].[Calendar].[Month].[August 2003]
)
)
SELECT
[Date].[Calendar].[First8Months2003] ON COLUMNS,
[Product].[Category].Children ON ROWS
FROM
[Adventure Works]
WHERE
[Measures].[Order Quantity]
以下示例汇总了2003年日历年第二学期的前两个月。
WITH MEMBER [Date].[Calendar].[First2MonthsSecondSemester2003] AS
Aggregate(
PeriodsToDate(
[Date].[Calendar].[Calendar Semester],
[Date].[Calendar].[Month].[August 2003]
)
)
SELECT
[Date].[Calendar].[First2MonthsSecondSemester2003] ON COLUMNS,
[Product].[Category].Children ON ROWS
FROM
[Adventure Works]
WHERE
[Measures].[Order Quantity]
以下示例返回了基于用户选择的 State-Province 成员价值,使用汇总函数评估的销售额在上一时期内销售额下降的转售商数量。 Hierarchize 和 DrillDownLevel 函数用于返回产品维度中产品类别销售下滑的数值。
WITH MEMBER Measures.[Declining Reseller Sales] AS
Count(
Filter(
Existing(Reseller.Reseller.Reseller),
[Measures].[Reseller Sales Amount] < ([Measures].[Reseller Sales Amount],
[Date].Calendar.PrevMember)
)
)
MEMBER [Geography].[State-Province].x AS
Aggregate (
{[Geography].[State-Province].&[WA]&[US],
[Geography].[State-Province].&[OR]&[US] }
)
SELECT NON EMPTY Hierarchize (
AddCalculatedMembers (
{DrillDownLevel({[Product].[All Products]})}
)
)
DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS
FROM [Adventure Works]
WHERE ([Geography].[State-Province].x,
[Date].[Calendar].[Calendar Quarter].&[2003]&[4],
[Measures].[Declining Reseller Sales])