

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 表计算函数


在分析特定视觉对象中的数据时，您可以将表计算应用于当前数据集，以了解维度如何影响度量或它们如何相互影响。*可视化数据*是基于当前数据集的结果集，并应用了所有筛选条件、字段选择和自定义项。要查看该结果集的确切内容，您可以将视觉对象导出为文件。*表计算函数* 对数据执行运算以显示字段之间的关系。

在本节中，您可以找到表计算中可用函数的列表，这些函数可以在 Amazon Quick 中对可视化数据执行。

要查看按类别排序的函数列表以及简要定义，请参阅[按类别划分的函数](https://docs.amazonaws.cn/quicksight/latest/user/functions-by-category.html)。

**Topics**
+ [

# difference
](difference-function.md)
+ [

# distinctCountOver
](distinctCountOver-function.md)
+ [

# lag
](lag-function.md)
+ [

# lead
](lead-function.md)
+ [

# percentDifference
](percentDifference-function.md)
+ [

# avgOver
](avgOver-function.md)
+ [

# countOver
](countOver-function.md)
+ [

# maxOver
](maxOver-function.md)
+ [

# minOver
](minOver-function.md)
+ [

# percentileOver
](percentileOver-function.md)
+ [

# percentileContOver
](percentileContOver-function.md)
+ [

# percentileDiscOver
](percentileDiscOver-function.md)
+ [

# percentOfTotal
](percentOfTotal-function.md)
+ [

# periodOverPeriodDifference
](periodOverPeriodDifference-function.md)
+ [

# periodOverPeriodLastValue
](periodOverPeriodLastValue-function.md)
+ [

# periodOverPeriodPercentDifference
](periodOverPeriodPercentDifference-function.md)
+ [

# periodToDateAvgOverTime
](periodToDateAvgOverTime-function.md)
+ [

# periodToDateCountOverTime
](periodToDateCountOverTime-function.md)
+ [

# periodToDateMaxOverTime
](periodToDateMaxOverTime-function.md)
+ [

# periodToDateMinOverTime
](periodToDateMinOverTime-function.md)
+ [

# periodToDateSumOverTime
](periodToDateSumOverTime-function.md)
+ [

# stdevOver
](stdevOver-function.md)
+ [

# stdevpOver
](stdevpOver-function.md)
+ [

# varOver
](varOver-function.md)
+ [

# varpOver
](varpOver-function.md)
+ [

# sumOver
](sumOver-function.md)
+ [

# denseRank
](denseRank-function.md)
+ [

# rank
](rank-function.md)
+ [

# percentileRank
](percentileRank-function.md)
+ [

# runningAvg
](runningAvg-function.md)
+ [

# runningCount
](runningCount-function.md)
+ [

# runningMax
](runningMax-function.md)
+ [

# runningMin
](runningMin-function.md)
+ [

# runningSum
](runningSum-function.md)
+ [

# firstValue
](firstValue-function.md)
+ [

# lastValue
](lastValue-function.md)
+ [

# windowAvg
](windowAvg-function.md)
+ [

# windowCount
](windowCount-function.md)
+ [

# windowMax
](windowMax-function.md)
+ [

# windowMin
](windowMin-function.md)
+ [

# windowSum
](windowSum-function.md)

# difference


`difference` 函数计算基于一组分区和排序的度量与基于其他分区和排序的度量之间的差值。

`difference` 函数支持与基于 SPICE 和直接查询数据集的分析结合使用。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
difference
	(
	     measure 
	     ,[ sortorder_field ASC_or_DESC, ... ]
	     ,lookup_index,
	     ,[ partition field, ... ] 
	)
```

## 参数


 *度量*   
要查看差值的聚合度量。

 *排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *查找索引*   
查找索引可以为正数或负数，表示排序中的下一行（正数）或排序中的上一行（负数）。查找索引可以为 1-2,147,483,647。对于引擎 MySQL、MariaDB 和 Aurora MySQL 兼容版，查找索引仅限为 1。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum({Billed Amount})` 和下一行之间的差值（按 `Customer Region` 升序排序并按 `Service Line` 分区）。

```
difference(
     sum( {Billed Amount} ), 
     [{Customer Region} ASC],
     1,
     [{Service Line}]
)
```

以下示例计算 `Billed Amount` 和下一行之间的差值（按 `[{Customer Region}]` 分区）。表计算中的字段位于视觉对象的字段井中。

```
difference(
     sum( {Billed Amount} ), 
     [{Customer Region} ASC],
     1
)
```

红色突出显示部分显示每个金额如何相加 ( a \$1 b = c ) 以显示金额 a 和 c 之间的差值。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/differenceCalc.png)


# distinctCountOver


`distinctCountOver` 函数计算指定等级上按指定属性划分的操作数的不同计数。支持的等级为 `PRE_FILTER` 和 `PRE_AGG`。操作数必须是未聚合的。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
distinctCountOver
(
  measure or dimension field 
  ,[ partition_field, ... ]  
  ,calculation level 
)
```

## 参数


 *度量或维度字段*   
要进行计算的度量或维度，例如 `{Sales Amt}`。有效值为 `PRE_FILTER` 和 `PRE_AGG`。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
空白时此值默认为 `POST_AGG_FILTER`。`POST_AGG_FILTER` 不是此操作的有效等级，将导致错误消息。有关更多信息，请参阅在 [Amazon Quick 中使用关卡感知计算](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)。

## 示例


以下示例获取在 `PRE_AGG` 等级按 `City` 和 `State` 分区的 `Sales` 的不同计数。

```
distinctCountOver
(
  Sales, 
  [City, State], PRE_AGG
)
```

# lag


`lag` 函数计算基于指定分区和排序的度量的滞后（上一个）值。

`lag` 支持用于基于 SPICE 和直接查询数据集的分析。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
lag
(
lag
(
 measure
 ,[ sortorder_field ASC_or_DESC, ... ] 
 ,lookup_index
 ,[ partition_field, ... ] 
)] 
)
```

## 参数


*度量*   
要获取滞后值的度量。这可能包括聚合，例如，`sum({Sales Amt})`。

*排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

*查找索引*   
查找索引可以为正数或负数，表示排序中的下一行（正数）或排序中的上一行（负数）。查找索引可以为 1-2,147,483,647。对于引擎 MySQL、MariaDB 和 Amazon Aurora MySQL 兼容版，查找索引仅限为 1。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算上一个 `sum(sales)`（按源州/省分区并按 `cancellation_code` 升序排序顺序排序）。

```
lag
(
     sum(Sales), 
     [cancellation_code ASC], 
     1, 
     [origin_state_nm]
)
```

以下示例使用计算字段和 `lag` 在当前行的金额旁边显示上一行的销售额（按 `Order Date` 排序）。表计算中的字段位于视觉对象的字段井中。

```
lag(
     sum({Sales}),
     [{Order Date} ASC],
     1
)
```

以下屏幕截图显示了示例的结果。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/lagCalc.png)


以下示例使用计算字段和 `lag` 在当前行的金额旁边显示上一行的销售额（按 `Order Date` 排序，按 `Segment` 划分）。

```
lag
	(
		sum(Sales),
		[Order Date ASC],
		1, [Segment]
	)
```

以下屏幕截图显示了示例的结果。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/lagCalc2.png)


# lead


`lead` 函数计算基于指定分区和排序的度量的前导（下一个）值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
lead
(
     measure
     ,[ sortorder_field ASC_or_DESC, ... ]  
     ,lookup_index,
     ,[ partition_field, ... ]
)
```

## 参数


*度量*   
要获取前导值的度量。这可能包括聚合，例如，`sum({Sales Amt})`。

*排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

*查找索引*   
查找索引可以为正数或负数，表示排序中的下一行（正数）或排序中的上一行（负数）。查找索引可以为 1-2,147,483,647。对于引擎 MySQL、MariaDB 和 Amazon Aurora MySQL 兼容版，查找索引仅限为 1。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算下一个 `sum(sales)`（按源州/省分区并按 `cancellation_code` 升序排序顺序排序）。

```
lead
(
     sum(sales), 
     [cancellation_code ASC], 
     1, 
     [origin_state_nm]
)
```

以下示例使用计算字段和 lead 在当前行的金额旁边显示下一行的金额（按 `Customer Segment` 排序）。表计算中的字段位于视觉对象的字段井中。

```
lead(
     sum({Billed Amount}),
     [{Customer Segment} ASC],
     1
)
```

以下屏幕截图显示了示例的结果。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/leadCalc.png)


# percentDifference


`percentDifference` 函数根据分区、排序和查找索引计算当前值和比较值之间的百分比差值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
percentDifference
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,lookup index
  ,[ partition_field, ... ] 
)
```

## 参数


 *度量*   
要查看百分比差值的聚合度量。

 *排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *查找索引*   
查找索引可以为正数或负数，表示排序中的下一行（正数）或排序中的上一行（负数）。查找索引可以为 1-2,147,483,647。对于引擎 MySQL、MariaDB 和 Aurora MySQL 兼容版，查找索引仅限为 1。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算当前和上一 `State` 的 `sum(Sales)` 之间的百分比差值（按 `Sales` 排序）。

```
percentDifference
(
  sum(amount), 
  [sum(amount) ASC],
  -1, 
  [State]
)
```

以下示例计算特定 `Billed Amount` 在另一个 `Billed Amount` 中所占的百分比（按 `[{Customer Region} ASC]` 排序）。表计算中的字段位于视觉对象的字段井中。

```
percentDifference
(
  sum( {Billed Amount} ), 
  [{Customer Region} ASC],
  1
)
```

以下屏幕截图显示了示例的结果。红色字母显示 `Customer Region` **APAC** 的总额 `Billed Amount` 比 **EMEA** 区域的金额低 24%。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/percentDifference.png)


# avgOver


`avgOver` 函数计算按维度列表划分的度量的平均值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
avgOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

以下示例显示 `Customer Region` 中的平均 `Billed Amount`。表计算中的字段位于视觉对象的字段井中。

```
avgOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

以下屏幕截图显示了示例的结果。通过添加 `Service Line`，将显示每个类别的总计费金额，并在计算字段中显示这三个值的平均值。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/avgOver.png)


## 参数


 *度量*   
要进行计算的度量，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*  
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例获取按 `City` 和 `State` 分区的平均 `sum(Sales)`。

```
avgOver
(
     sum(Sales), 
     [City, State]
)
```

# countOver


`countOver` 函数计算按维度列表划分的维度或度量的计数。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
countOver
(
  measure or dimension field 
  ,[ partition_field, ... ]  
  ,calculation level 
)
```

## 参数


 *度量或维度字段*   
要进行计算的度量或维度，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例获取按 `City` 和 `State` 分区的 `Sales` 的计数。

```
countOver
(
  Sales, 
  [City, State]
)
```

以下示例获取按 `City` 和 `State` 分区的 `{County}` 的计数。

```
countOver
(
  {County}, 
  [City, State]
)
```

以下示例显示 `Customer Region` 中的 `Billed Amount` 计数。表计算中的字段位于视觉对象的字段井中。

```
countOver
(
  sum({Billed Amount}),
  [{Customer Region}]
)
```

以下屏幕截图显示了示例的结果。由于不涉及其他字段，因此，计数为每个区域一个。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/countOver1.png)


如果添加其他字段，计数将发生变化。在以下屏幕截图中，我们添加 `Customer Segment` 和 `Service Line`。其中的每个字段包含三个唯一的值。由于具有 3 个类别、3 个服务行和 3 个区域，计算字段显示 9。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/countOver2.png)


如果在计算字段 `countOver( sum({Billed Amount}), [{Customer Region}, {Customer Segment}, {Service Line}]` 的分区字段中添加两个其他字段，则每一行的计数再次变为 1。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/countOver.png)


# maxOver


`maxOver` 函数计算按维度列表划分的度量或日期的最大值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
maxOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 参数


 *度量*   
要进行计算的度量，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例计算按 `City` 和 `State` 分区的最大 `sum(Sales)`。

```
maxOver
(
     sum(Sales), 
     [City, State]
)
```

以下示例显示 `Customer Region` 中的最大 `Billed Amount`。表计算中的字段位于视觉对象的字段井中。

```
maxOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

以下屏幕截图显示了示例的结果。通过添加 `Service Line`，将显示每个类别的总计费金额，并在计算字段中显示这三个值的最大值。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/maxOver.png)


# minOver


`minOver` 函数计算按维度列表划分的度量或日期的最小值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
minOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 参数


*度量*   
要进行计算的度量，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例计算按 `City` 和 `State` 分区的最小 `sum(Sales)`。

```
minOver
(     
     sum(Sales), 
     [City, State]
)
```

以下示例显示 `Customer Region` 中的最小 `Billed Amount`。表计算中的字段位于视觉对象的字段井中。

```
minOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

以下屏幕截图显示了示例的结果。通过添加 `Service Line`，将显示每个类别的总计费金额，并在计算字段中显示这三个值的最小值。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/minOver.png)


# percentileOver


`percentileOver` 函数计算按维度列表划分的度量的第 *n* 个百分位数。Quick 中有两种`percentileOver`计算方式可供选择：
+ [https://docs.amazonaws.cn/quicksight/latest/user/percentileContOver-function.html](https://docs.amazonaws.cn/quicksight/latest/user/percentileContOver-function.html) 使用线性内插来确定结果。
+ [https://docs.amazonaws.cn/quicksight/latest/user/percentileDiscOver-function.html](https://docs.amazonaws.cn/quicksight/latest/user/percentileDiscOver-function.html) 使用实际值来确定结果。

`percentileOver` 函数是 `percentileDiscOver` 的别名。

# percentileContOver


`percentileContOver` 函数根据 `measure` 中的实际数字计算百分位数。其使用字段井中应用的分组和排序。结果按指定计算等级的指定维度划分。

使用此函数回答以下问题：此百分位数中存在哪些实际数据点？ 要返回数据集中存在的最接近的百分位数值，请使用 `percentileDiscOver`。要返回数据集中可能不存在的精确的百分位数值，请改用 `percentileContOver`。

## 语法


```
percentileContOver (
    measure
  , percentile-n
  , [partition-by, …]
  , calculation-level
)
```

## Arguments


 *度量*   
指定用于计算百分位数的数值。参数必须是一个度量或指标。计算中将忽略 Null。

 *percentile-n*   
百分位数值可以是任何介于 0-100 的数字常数。百分比值 50 计算度量的中值。

 *分区依据*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。如果包含多个单词，则将列表中的每个字段括在 \$1 \$1（大括号）内。整个列表括在 []（方括号）内。

 *计算等级*   
 指定在哪里执行与计算顺序相关的计算。支持三种计算等级：  
+ PRE\$1FILTER
+ PRE\$1AGG
+ POST\$1AGG\$1FILTER（默认）– 要使用此计算等级，请在 `measure` 上指定聚合，例如 `sum(measure)`。
在可视化中进行聚合之前应用 PRE\$1FILTER 和 PRE\$1AGG。对于这两个计算等级，您无法在计算字段表达式中的 `measure` 上指定聚合。要了解有关计算级别及其适用时间的更多信息，请参阅 [Amazon Quick 中的评估顺序和 Quick](https://docs.amazonaws.cn/quicksight/latest/user/order-of-evaluation-quicksight.html) [中的使用级别感知计算](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)。

## 返回值


函数的结果为数字。

## percentileContOver 的示例
示例

以下示例有助于解释 percentileContOver 工作原理。

**Example 比较中值的计算等级**  
以下示例使用不同的计算等级和 `percentileContOver` 函数显示维度（类别）的中值。百分位数为 50。数据集按区域字段进行筛选。每个计算字段的代码如下所示：  
+ `example = left( category, 1 )`（一个简化示例。）
+ `pre_agg = percentileContOver ( {Revenue} , 50 , [ example ] , PRE_AGG)`
+ `pre_filter = percentileContOver ( {Revenue} , 50 , [ example ] , PRE_FILTER) `
+ `post_agg_filter = percentileContOver ( sum ( {Revenue} ) , 50 , [ example ], POST_AGG_FILTER )`

```
example   pre_filter     pre_agg      post_agg_filter
------------------------------------------------------
0            106,728     119,667            4,117,579
1            102,898      95,946            2,307,547
2             97,807      93,963              554,570  
3            101,043     112,585            2,709,057
4             96,533      99,214            3,598,358
5            106,293      97,296            1,875,648
6             97,118      69,159            1,320,672
7            100,201      90,557              969,807
```

# percentileDiscOver


`percentileDiscOver` 函数根据 `measure` 中的实际数字计算百分位数。其使用字段井中应用的分组和排序。结果按指定计算等级的指定维度划分。`percentileOver` 函数是 `percentileDiscOver` 的别名。

使用此函数回答以下问题：此百分位数中存在哪些实际数据点？ 要返回数据集中存在的最接近的百分位数值，请使用 `percentileDiscOver`。要返回数据集中可能不存在的精确的百分位数值，请改用 `percentileContOver`。

## 语法


```
percentileDiscOver (
     measure
   , percentile-n
   , [partition-by, …]
   , calculation-level
)
```

## Arguments


 *度量*   
指定用于计算百分位数的数值。参数必须是一个度量或指标。计算中将忽略 Null。

 *percentile-n*   
百分位数值可以是任何介于 0-100 的数字常数。百分比值 50 计算度量的中值。

 *分区依据*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。如果包含多个单词，则将列表中的每个字段括在 \$1 \$1（大括号）内。整个列表括在 []（方括号）内。

 *计算等级*   
 指定在哪里执行与计算顺序相关的计算。支持三种计算等级：  
+ PRE\$1FILTER
+ PRE\$1AGG
+ POST\$1AGG\$1FILTER（默认）– 要使用此计算等级，需要在 `measure` 上指定聚合，例如 `sum(measure)`。
在可视化中进行聚合之前应用 PRE\$1FILTER 和 PRE\$1AGG。对于这两个计算等级，您无法在计算字段表达式中的 `measure` 上指定聚合。要了解有关计算级别及其适用时间的更多信息，请参阅 [Amazon Quick 中的评估顺序和 Quick](https://docs.amazonaws.cn/quicksight/latest/user/order-of-evaluation-quicksight.html) [中的使用级别感知计算](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)。

## 返回值


函数的结果为数字。

## percentileDiscOver 的示例
示例

以下示例有助于解释 percentileDiscOver 工作原理。

**Example 比较中值的计算等级**  
以下示例使用不同的计算等级和 `percentileDiscOver` 函数显示维度（类别）的中值。百分位数为 50。数据集按区域字段进行筛选。每个计算字段的代码如下所示：  
+ `example = left( category, 1 )`（一个简化示例。）
+ `pre_agg = percentileDiscOver ( {Revenue} , 50 , [ example ] , PRE_AGG)`
+ `pre_filter = percentileDiscOver ( {Revenue} , 50 , [ example ] , PRE_FILTER) `
+ `post_agg_filter = percentileDiscOver ( sum ( {Revenue} ) , 50 , [ example ], POST_AGG_FILTER )`

```
example   pre_filter     pre_agg      post_agg_filter
------------------------------------------------------
0            106,728     119,667            4,117,579
1            102,898      95,946            2,307,547
2             97,629      92,046              554,570  
3            100,867     112,585            2,709,057
4             96,416      96,649            3,598,358
5            106,293      97,296            1,875,648
6             97,118      64,395            1,320,672
7             99,915      90,557              969,807
```

**Example 中值**  
以下示例计算按 `City` 和 `State` 分区的 `Sales` 的中值（第 50 个百分位数）。  

```
percentileDiscOver
(
  Sales, 
  50,
  [City, State]
)
```
以下示例计算按 `Customer Region` 分区的 `sum({Billed Amount})` 的第 98 个百分位数。表计算中的字段位于视觉对象的字段井中。  

```
percentileDiscOver
(
  sum({Billed Amount}), 
  98,
  [{Customer Region}]
)
```
以下屏幕截图显示这两个示例在图表上的样子。  

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/percentilOver-50-98.png)


# percentOfTotal


`percentOfTotal` 函数根据指定的维度计算度量在总数中所占的百分比。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
percentOfTotal
(
     measure 
     ,[ partition_field, ... ] 
)
```

## 参数


 *度量*   
要查看总数百分比的聚合度量。目前，`percentOfTotal` 不支持 `distinct count` 聚合。

 *分区字段*  
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例创建一个计算以计算每个 `State` 在总数 `Sales` 中所占的百分比。

```
percentOfTotal
(
     sum(Sales), 
     [State]
)
```

以下示例计算特定 `Billed Amount` 在总数 `Billed Amount` 中所占的百分比（按 `[{Service Line} ASC]` 分区）。表计算中的字段位于视觉对象的字段井中。

```
percentOfTotal
(
     sum( {Billed Amount} ), 
     [{Service Line}]
)
```

以下屏幕截图显示了示例的结果。红色突出显示部分显示值为“`Billing`”的分区字段具有三个条目，每个区域一个条目。此服务行的总账单金额拆分为三个百分比，合计为 100%。这些百分比进行四舍五入，它们之和可能并不总是恰好为 100%。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/percentOfTotal.png)


# periodOverPeriodDifference


`periodOverPeriodDifference` 函数计算按期间粒度和偏移量指定的两个不同时间段内的度量差异。与差异计算不同，此函数使用基于日期的偏移量而不是固定大小的偏移量。这样可以确保仅比较正确日期，即使数据集中缺少数据点也是如此。

## 语法


```
periodOverPeriodDifference(
	measure, 
	date, 
	period, 
	offset)
```

## Arguments


 *度量*   
要对其执行 periodOverPeriod计算的聚合度量。

 *dateTime*   
我们计算 Period-Over-Period计算所依据的日期维度。

 *时段*   
（可选）您进行计算的时间段。`YEAR` 的粒度表示 `YearToDate` 计算，`Quarter` 表示 `QuarterToDate` 等等。有效的粒度包括 `YEAR`、`QUARTER`、`MONTH`、`WEEK`、`DAY`、`HOUR`、`MINUTE` 和 `SECONDS`。  
默认值为视觉对象日期维度粒度。

 *offset*   
（可选）偏移量可以是正整数或负整数，表示要与之比较的前一时段（按周期指定）。例如，偏移量为 1 的季度周期表示与上一季度进行比较。  
默认值是 1。

## 示例


以下示例使用计算字段 `PeriodOverPeriod` 来显示昨天的销售额差异

```
periodOverPeriodDifference(sum(Sales), {Order Date})
```

![\[这是示例计算的收益图像。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/MonthOverMonthDifference.png)


以下示例使用计算字段 `PeriodOverPeriod` 来显示前两个月的销售额差异。以下示例比较 `Mar2020` 和 `Jan2020` 的销售额。

```
periodOverPeriodDifference(sum(Sales),{Order Date}, MONTH, 1)
```

![\[这是示例计算的收益图像。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/MonthOverMonthDifference2.png)


# periodOverPeriodLastValue


`periodOverPeriodLastValue` 函数计算按期间粒度和偏移量指定的上一个时间段中度量的最后一个（上一个）值。此函数使用基于日期的偏移量而不是固定大小的偏移量。这样可以确保仅比较正确日期，即使数据集中缺少数据点也是如此。

## 语法


```
periodOverPeriodLastValue(
	measure, 
	date, 
	period, 
	offset)
```

## Arguments


 *度量*   
要查看差值的聚合度量。

 *date*   
计算 periodOverPeriod计算所依据的日期维度。

 *时段*   
（可选）您进行计算的时间段。`YEAR` 的粒度表示 `YearToDate` 计算，`Quarter` 表示 `QuarterToDate` 等等。有效的粒度包括 `YEAR`、`QUARTER`、`MONTH`、`WEEK`、`DAY`、`HOUR`、`MINUTE` 和 `SECONDS`。  
此参数默认为视觉对象聚合的粒度

 *offset*   
（可选）偏移量可以是正整数或负整数，表示要与之比较的前一时段（按周期指定）。例如，偏移量为 1 的季度周期表示与上一季度进行比较。  
此参数默认值为 1。

## 示例


以下示例使用视觉对象维度粒度和默认偏移量 1 计算销售额的逐月值。

```
periodOverPeriodLastValue(sum(Sales), {Order Date})
```

以下示例使用 `MONTH` 的固定粒度和固定偏移量 1 计算销售额的逐月值。

```
periodOverPeriodLastValue(sum(Sales), {Order Date},MONTH, 1)
```

![\[这是示例计算的收益图像。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/MonthOverMonthLastValue.png)


# periodOverPeriodPercentDifference


`periodOverPeriodPercentDifference` 函数计算按期间粒度和偏移量指定的两个不同时间段内的百分比差异。与 percentDifference 不同，此函数使用基于日期的偏移量而不是固定大小的偏移量。这样可以确保仅比较正确日期，即使数据集中缺少数据点也是如此。

## 语法


```
periodOverPeriodPercentDifference(
	measure, 
	date, 
	period, 
	offset)
```

## Arguments


 *度量*   
要查看差值的聚合度量。

 *date*   
计算 periodOverPeriod计算所依据的日期维度。

 *时段*   
（可选）您进行计算的时间段。`YEAR` 的粒度表示 `YearToDate` 计算，`Quarter` 表示 `QuarterToDate` 等等。有效的粒度包括 `YEAR`、`QUARTER`、`MONTH`、`WEEK`、`DAY`、`HOUR`、`MINUTE` 和 `SECONDS`。  
此参数默认为视觉对象聚合的粒度

 *offset*   
（可选）偏移量可以是正整数或负整数，表示要与之比较的前一时段（按周期指定）。例如，偏移量为 1 的季度周期表示与上一季度进行比较。  
此参数默认值为 1。

## 示例


以下示例使用视觉对象维度粒度和默认偏移量 1 计算销售额的逐月百分比差异。

```
periodOverPeriodPercentDifference(sum(Sales),{Order Date})
```

以下示例使用 `MONTH` 的固定粒度和固定偏移量 1 计算销售额的逐月百分比差异。

```
periodOverPeriodPercentDifference(sum(Sales), {Order Date}, MONTH, 1)
```

![\[这是示例计算的收益图像。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/MonthOverMonthPercentDifference.png)


# periodToDateAvgOverTime


`periodToDateAvgOverTime` 函数计算给定时间粒度（例如一个季度）到某个时间点的平均值。

## 语法


```
periodToDateAvgOverTime(
	measure, 
	dateTime,
	period)
```

## Arguments


 *度量*   
要对其执行计算的聚合度量

 *dateTime*   
计算 PeriodOverTime计算所依据的日期维度。

 *时段*   
（可选）您进行计算的时间段。`YEAR` 的粒度表示 `YearToDate` 计算，`Quarter` 表示 `QuarterToDate` 等等。有效的粒度包括 `YEAR`、`QUARTER`、`MONTH`、`WEEK`、`DAY`、`HOUR`、`MINUTE` 和 `SECONDS`。  
默认值为视觉对象日期维度粒度。

## 示例


以下函数计算逐月平均付款金额。

```
periodToDateAvgOverTime(sum({fare_amount}), pickupDatetime, MONTH)
```

![\[这是示例计算的结果图像（附插图）。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/PTDAvgOverTimeResults.png)


# periodToDateCountOverTime


`periodToDateCountOverTime` 函数计算给定时间粒度（例如一个季度）到某个时间点的维度或度量的计数。

## 语法


```
periodToDateCountOverTime(
	measure, 
	dateTime, 
	period)
```

## Arguments


 *度量*   
要对其执行计算的聚合度量

 *dateTime*   
计算 PeriodOverTime计算所依据的日期维度。

 *时段*   
（可选）您进行计算的时间段。`YEAR` 的粒度表示 `YearToDate` 计算，`Quarter` 表示 `QuarterToDate` 等等。有效的粒度包括 `YEAR`、`QUARTER`、`MONTH`、`WEEK`、`DAY`、`HOUR`、`MINUTE` 和 `SECONDS`。  
默认值为视觉对象日期维度粒度。

## 示例


以下示例计算逐月供应商数量。

```
periodToDateCountOverTime(count(vendorid), pickupDatetime, MONTH)
```

![\[这是示例计算的结果图像（附插图）。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/PTDCountOverTimeResults.png)


# periodToDateMaxOverTime


`periodToDateMaxOverTime` 函数计算给定时间粒度（例如一个季度）到某个时间点的度量的最大值。

## 语法


```
periodToDateMaxOverTime(
	measure, 
	dateTime, 
	period)
```

## Arguments


 *度量*   
要对其执行计算的聚合度量

 *dateTime*   
计算 PeriodOverTime计算所依据的日期维度。

 *时段*   
（可选）您进行计算的时间段。`YEAR` 的粒度表示 `YearToDate` 计算，`Quarter` 表示 `QuarterToDate` 等等。有效的粒度包括 `YEAR`、`QUARTER`、`MONTH`、`WEEK`、`DAY`、`HOUR`、`MINUTE` 和 `SECONDS`。  
默认值为视觉对象日期维度粒度。

## 示例


以下示例计算逐月最高付款金额。

```
periodToDatemaxOverTime(max({fare_amount}), pickupDatetime, MONTH)
```

![\[这是示例计算的结果图像（附插图）。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/PTDMaxOverTimeResults.png)


# periodToDateMinOverTime


`periodToDateMinOverTime` 函数计算给定时间粒度（例如一个季度）到某个时间点的度量的最小值。

## 语法


```
periodToDateMinOverTime(
	measure, 
	dateTime, 
	period)
```

## Arguments


 *度量*   
要对其执行计算的聚合度量

 *dateTime*   
计算 PeriodOverTime计算所依据的日期维度。

 *时段*   
（可选）您进行计算的时间段。`YEAR` 的粒度表示 `YearToDate` 计算，`Quarter` 表示 `QuarterToDate` 等等。有效的粒度包括 `YEAR`、`QUARTER`、`MONTH`、`WEEK`、`DAY`、`HOUR`、`MINUTE` 和 `SECONDS`。  
默认值为视觉对象日期维度粒度。

## 示例


以下示例计算逐月最低付款金额。

```
periodToDateMinOverTime(min({fare_amount}), pickupDatetime, MONTH)
```

![\[这是示例计算的结果图像（附插图）。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/PTDMinOverTimeResults.png)


# periodToDateSumOverTime


`periodToDateSumOverTime` 函数计算给定时间粒度（例如一个季度）到某个时间点的度量的总和。

## 语法


```
periodToDateSumOverTime(
	measure, 
	dateTime, 
	period)
```

## Arguments


 *度量*   
要对其执行计算的聚合度量

 *dateTime*   
计算 PeriodOverTime计算所依据的日期维度。

 *时段*   
（可选）您进行计算的时间段。`YEAR` 的粒度表示 `YearToDate` 计算，`Quarter` 表示 `QuarterToDate` 等等。有效的粒度包括 `YEAR`、`QUARTER`、`MONTH`、`WEEK`、`DAY`、`HOUR`、`MINUTE` 和 `SECONDS`。  
默认值为视觉对象日期维度粒度。

## 示例


以下函数返回逐月付款总金额。

```
periodToDateSumOverTime(sum({fare_amount}), pickupDatetime, MONTH)
```

![\[这是示例计算的结果图像（附插图）。\]](http://docs.amazonaws.cn/quick/latest/userguide/images/PTDSumOverTime-example-results.png)


# stdevOver


`stdevOver` 函数根据样本计算按选定的一个属性或多个属性划分的指定度量的标准偏差。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
stdevOver
(
      measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 参数


*度量*   
要进行计算的度量，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例根据样本计算按 `City` 和 `State` 划分的 `sum(Sales)` 的标准差。

```
stdevOver
(
     sum(Sales), 
     [City, State]
)
```

以下示例根据样本计算 `Customer Region` 的 `Billed Amount` 的标准差。表计算中的字段位于视觉对象的字段井中。

```
stdevOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

# stdevpOver


`stdevpOver` 函数根据总体偏差计算按选定的一个属性或多个属性划分的指定度量的标准偏差。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
stdevpOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 参数


*度量*   
要进行计算的度量，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例根据总体偏差计算按 `City` 和 `State` 划分的 `sum(Sales)` 的标准差。

```
stdevpOver
(
     sum(Sales), 
     [City, State]
)
```

以下示例根据总体偏差计算 `Customer Region` 的 `Billed Amount` 的标准差。表计算中的字段位于视觉对象的字段井中。

```
stdevpOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

# varOver


`varOver` 函数根据样本计算按选定的一个属性或多个属性划分的指定度量的方差。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
varOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 参数


*度量*   
要进行计算的度量，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例根据样本计算按 `City` 和 `State` 划分的 `sum(Sales)` 的方差。

```
varOver
(
     sum(Sales), 
     [City, State]
)
```

以下示例根据样本计算 `Customer Region` 的 `Billed Amount` 的方差。表计算中的字段位于视觉对象的字段井中。

```
varOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

# varpOver


`varpOver` 函数根据总体偏差计算按选定的一个属性或多个属性划分的指定度量的方差。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
varpOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 参数


*度量*   
要进行计算的度量，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例根据总体偏差计算按 `City` 和 `State` 划分的 `sum(Sales)` 的方差。

```
varpOver
(
     sum(Sales), 
     [City, State]
)
```

以下示例根据总体偏差计算 `Customer Region` 的 `Billed Amount` 的方差。表计算中的字段位于视觉对象的字段井中。

```
varpOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

# sumOver


 `sumOver` 函数计算按维度列表划分的度量的总和。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
sumOver
(
     measure 
     ,[ partition_field, ... ] 
     ,calculation level 
)
```

## 参数


*度量*   
要进行计算的度量，例如 `sum({Sales Amt})`。如果计算级别设置为 `NULL` 或 `POST_AGG_FILTER`，则使用聚合。如果计算级别设置为 `PRE_FILTER` 或 `PRE_AGG`，请不要使用聚合。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例计算 `sum(Sales)` 的总和（按 `City` 和 `State` 分区）。

```
sumOver
(
     sum(Sales), 
     [City, State]
)
```

以下示例计算 `Customer Region` 中的 `Billed Amount` 的总和。表计算中的字段位于视觉对象的字段井中。

```
sumOver
(
     sum({Billed Amount}),
     [{Customer Region}]
)
```

以下屏幕截图显示了示例的结果。通过添加 `Customer Segment`，将为 `Customer Region` 计算每个类别的计费金额总和，并显示在计算字段中。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/sumOver.png)


# denseRank


`denseRank` 函数计算某个度量或维度相对于指定分区的排名。它仅对每个项目计数一次（忽略重复的值），并分配“无孔的”排名，以使重复的值具有相同的排名。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
denseRank
(
  [ sort_order_field ASC_or_DESC, ... ] 
  ,[ partition_field, ... ] 
)
```

## 参数


 *排序顺序字段*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例根据降序排序顺序按 `State` 和 `City` 对 `max(Sales)` 进行密集排名。将为具有相同 `max(Sales)` 的任何城市分配相同的排名，并且下一个城市紧靠这些城市进行连续排名。例如，如果三个城市具有相同的排名，则第四个城市排名第二。

```
denseRank
(
  [max(Sales) DESC], 
  [State, City]
)
```

以下示例根据降序排序顺序按 `State` 对 `max(Sales)` 进行密集排名。将为具有相同 `max(Sales)` 的任何州/省分配相同的排名，并且下一个州/省紧靠这些州/省进行连续排名。例如，如果三个州/省具有相同的排名，则第四个州/省排名第二。

```
denseRank
(
  [max(Sales) DESC], 
  [State]
)
```

# rank


`rank` 函数计算某个度量或维度相对于指定分区的排名。它计算一次每个项目（即使是重复的），并分配一个“带孔的”排名以考虑到重复的值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
rank
(
  [ sort_order_field ASC_or_DESC, ... ]
  ,[ partition_field, ... ] 
)
```

## 参数


 *排序顺序字段*   
要在对数据排序时使用的一个或多个聚合度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例根据降序排序顺序按 `State` 和 `City` 在 `State` **WA** 中对 `max(Sales)` 进行排名。将为具有相同 `max(Sales)` 的任何城市分配相同的排名，但下一个排名包括所有以前存在的排名计数。例如，如果三个城市具有相同的排名，则第四个城市排名第四。

```
rank
(
  [max(Sales) DESC], 
  [State, City]
)
```

以下示例根据升序排序顺序按 `State` 对 `max(Sales)` 进行排名。将为具有相同 `max(Sales)` 的任何州/省分配相同的排名，但下一个排名包括所有以前存在的排名计数。例如，如果三个州/省具有相同的排名，则第四个州/省排名第四。

```
rank
(
  [max(Sales) ASC], 
  [State]
)
```

以下示例按总数 `Billed Amount` 对 `Customer Region` 进行排名。表计算中的字段位于视觉对象的字段井中。

```
rank(
  [sum({Billed Amount}) DESC]
)
```

在以下屏幕截图中显示了示例的结果以及总数 `Billed Amount`，因此，您可以了解每个区域是如何进行排名的。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/rankCalc.png)


# percentileRank


`percentileRank` 函数计算某个度量或维度相对于指定分区的百分位数排名。百分位数排名值 (*x*) 表示当前项目高于指定分区中值的*x*百分比。百分位数排名值范围从 0（包含）到 100（不包含）。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
percentileRank
(
      [ sort_order_field ASC_or_DESC, ... ] 
     ,[ {partition_field}, ... ]
)
```

## 参数


 *排序顺序字段*   
要在对数据排序时使用的一个或多个聚合度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
+ **`POST_AGG_FILTER`** –（默认）在显示视觉对象时计算表格计算。
留空时此值默认为 `POST_AGG_FILTER`。有关更多信息，请参阅在 Quick [中使用关卡感知计算。](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)

## 示例


以下示例按 `State` 的降序顺序执行 `max(Sales)` 的百分位数排名。

```
percentileRank
(
     [max(Sales) DESC], 
     [State]
)
```

以下示例按总和 `Billed Amount` 执行 `Customer Region` 的百分位数排名。表计算中的字段位于视觉对象的字段井中。

```
percentileRank(
     [sum({Billed Amount}) DESC],
     [{Customer Region}]
)
```

在以下屏幕截图中显示了示例的结果以及总数 `Billed Amount`，因此，您可以了解每个区域是如何进行比较的。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/percentileRank.png)


# runningAvg


`runningAvg` 函数计算基于指定维度和排序顺序的度量的运行平均值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
runningAvg
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 参数


 *度量*   
要查看其运行平均值的聚合度量。

 *排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *分区字段*  
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum(Sales)` 的运行平均值（按 `Sales` 排序，并按 `City` 和 `State` 分区）。

```
runningAvg
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

以下示例计算 `Billed Amount` 的运行平均值（按月排序 (`[truncDate("MM",Date) ASC]`)）。表计算中的字段位于视觉对象的字段井中。

```
runningAvg
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

# runningCount


`runningCount` 函数计算基于指定维度和排序顺序的度量或维度的运行计数。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
runningCount
(
  measure_or_dimension 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 参数


 *measure or dimension*   
要查看其运行计数的聚合度量或维度。

 *排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *分区字段*  
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum(Sales)` 的运行计数（按 `Sales` 排序，并按 `City` 和 `State` 分区）。

```
runningCount
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

以下示例计算 `Billed Amount` 的运行计数（按月排序 (`[truncDate("MM",Date) ASC]`)）。表计算中的字段位于视觉对象的字段井中。

```
runningCount
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

# runningMax


`runningMax` 函数计算基于指定维度和排序顺序的度量的运行最大值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
runningMax
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 参数


 *度量*   
要查看其运行最大值的聚合度量。

 *排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *分区字段*  
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum(Sales)` 的运行最大值（按 `Sales` 排序，并按 `City` 和 `State` 分区）。

```
runningMax
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

以下示例计算 `Billed Amount` 的运行最大值（按月排序 (`[truncDate("MM",Date) ASC]`)）。表计算中的字段位于视觉对象的字段井中。

```
runningMax
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

# runningMin


`runningMin` 函数计算基于指定维度和排序顺序的度量的运行最小值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
runningMin
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 参数


 *度量*   
要查看其运行最小值的聚合度量。

 *排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *分区字段*  
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum(Sales)` 的运行最小值（按 `Sales` 排序，并按 `City` 和 `State` 分区）。

```
runningMin
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

以下示例计算 `Billed Amount` 的运行最小值（按月排序 (`[truncDate("MM",Date) ASC]`)）。表计算中的字段位于视觉对象的字段井中。

```
runningMin
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

# runningSum


`runningSum` 函数计算基于指定维度和排序顺序的度量的运行总和。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
runningSum
(
  measure 
  ,[ sortorder_field ASC_or_DESC, ... ]  
  ,[ partition_field, ... ] 
)
```

## 参数


 *度量*   
要查看运行总和的聚合度量。

 *排序顺序字段*   
要在对数据排序时使用的一个或多个度量和维度（以逗号分隔）。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *分区字段*  
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum(Sales)` 的运行总和（按 `Sales` 排序，并按 `City` 和 `State` 分区）。

```
runningSum
(
  sum(Sales), 
  [Sales ASC], 
  [City, State]
)
```

以下示例计算 `Billed Amount` 的运行总和（按月排序 (`[truncDate("MM",Date) ASC]`)）。表计算中的字段位于视觉对象的字段井中。

```
runningSum
(
  sum({Billed Amount}),
  [truncDate("MM",Date) ASC]
)
```

以下屏幕截图显示了示例的结果。红色标签显示每个金额如何与下一金额相加 (`a + b = c`)，从而得出新的总额。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/runningSum.png)


# firstValue


`firstValue` 函数计算按指定属性划分和排序的聚合度量或维度的第一个值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
firstValue
	(
	     aggregated measure or dimension, 
	     [ sort_attribute ASC_or_DESC, ... ],
	     [ partition_by_attribute, ... ] 
	)
```

## 参数


*聚合度量或维度*   
要查看其第一个值的聚合度量或维度。

*sort attribute*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

*按属性划分*  
（可选）要在划分时使用的一个或多个度量或维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算第一个 `Destination Airport`，按 `Flight Date` 排序，按 `Flight Date` 的升序顺序和 `Origin Airport` 划分。

```
firstValue(
    {Destination Airport}
    [{Flight Date} ASC],
    [
        {Origin Airport},
        {Flight Date}
    ]
)
```

# lastValue


`lastValue` 函数计算按指定属性划分和排序的聚合度量或维度的最后一个值。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
lastValue
	(
	     aggregated measure or dimension,
	     [ sort_attribute ASC_or_DESC, ... ],
	     [ partition_by_attribute, ... ] 
	)
```

## 参数


*聚合度量或维度*   
要查看其最后一个值的聚合度量或维度。

*sort attribute*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (`ASC`) 或降序 (`DESC`) 排序顺序。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

*按属性划分*  
（可选）要在划分时使用的一个或多个度量或维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `Destination Airport` 的最后一个值。该计算按 `Flight Date` 值排序，并按 `Flight Date` 值的升序排序和 `Origin Airport` 值划分。

```
lastValue(
    [{Destination Airport}],
    [{Flight Date} ASC],
    [
        {Origin Airport},
    	truncDate('DAY', {Flight Date})
    ]
)
```

# windowAvg


`windowAvg` 函数计算按指定属性划分和排序的自定义窗口中聚合度量的平均值。通常，在视觉对象显示指标和日期字段的时间序列上使用自定义窗口函数。例如，您可以使用 `windowAvg` 来计算移动平均值，这通常用于消除折线图中的噪声。

MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
windowAvg
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 参数


*度量*   
要获取其平均值的聚合度量，例如，`sum({Revenue})`。

*sort attribute*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

*start index*   
起始索引 (start index) 是一个正整数，指示当前行之上的 *n* 行。起始索引 计算当前行上方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

*end index*   
结束索引 (end index) 是一个正整数，指示当前行之下的 *n* 行。结束索引 计算当前行下方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum(Revenue)` 的移动平均值（按 `SaleDate` 分区）。计算包括当前行上方的 3 行和下面的 2 行。

```
windowAvg
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     3,
            2
	)
```

下面的屏幕截图显示了此移动平均值示例的结果。sum(Revenue) 字段添加到图表中，以显示该收入与收入移动平均值之间的差异。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/windowAvg.png)


# windowCount


`windowCount` 函数计算按指定属性划分和排序的自定义窗口中聚合度量或维度的计数。通常，在视觉对象显示指标和日期字段的时间序列上使用自定义窗口函数。

MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
windowCount
	(
	     measure_or_dimension 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 参数


*measure or dimension*   
要获取其平均值的聚合度量，例如，`sum({Revenue})`。

*sort attribute*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

*start index*   
起始索引 (start index) 是一个正整数，指示当前行之上的 *n* 行。起始索引 计算当前行上方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

*end index*   
结束索引 (end index) 是一个正整数，指示当前行之下的 *n* 行。结束索引 计算当前行下方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum(Revenue)` 的移动计数（按 `SaleDate` 分区）。计算包括当前行上方的 3 行和下面的 2 行。

```
windowCount
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     3,
               2
	)
```

# windowMax


`windowMax` 函数计算按指定属性划分和排序的自定义窗口中聚合度量的最大值。通常，在视觉对象显示指标和日期字段的时间序列上使用自定义窗口函数。您可以使用 `windowMax` 来帮助确定指标在一段时间内的最大值。

MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
windowMax
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 参数


*度量*   
要获取其平均值的聚合度量，例如，`sum({Revenue})`。

*sort attribute*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

*start index*   
起始索引 (start index) 是一个正整数，指示当前行之上的 *n* 行。起始索引 计算当前行上方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

*end index*   
结束索引 (end index) 是一个正整数，指示当前行之下的 *n* 行。结束索引 计算当前行下方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算按 `SaleDate` 分区的 `sum(Revenue)` 的随后 12 个月最大值。计算包括当前行上方的 12 行和下面的 0 行。

```
windowMax
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     12,
               0
	)
```

以下屏幕截图显示了此随后 12 个月示例的结果。sum(Revenue) 字段添加到了图表中，以显示该收入与随后 12 个月最大收入之间的差异。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/windowMax.png)


# windowMin


`windowMin` 函数计算按指定属性划分和排序的自定义窗口中聚合度量的最小值。通常，在视觉对象显示指标和日期字段的时间序列上使用自定义窗口函数。您可以使用 `windowMin` 来帮助确定指标在一段时间内的最小值。

MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
windowMin
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 参数


*度量*   
要获取其平均值的聚合度量，例如，`sum({Revenue})`。

*sort attribute*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

*start index*   
起始索引 (start index) 是一个正整数，指示当前行之上的 *n* 行。起始索引 计算当前行上方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

*end index*   
结束索引 (end index) 是一个正整数，指示当前行之下的 *n* 行。结束索引 计算当前行下方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

## 示例


以下示例计算按 `SaleDate` 分区的 `sum(Revenue)` 的随后 12 个月最小值。计算包括当前行上方的 12 行和下面的 0 行。

```
windowMin
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     12,
               0
	)
```

以下屏幕截图显示了此随后 12 个月示例的结果。sum(Revenue) 字段添加到了图表中，以显示该收入与随后 12 个月最小收入之间的差异。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/windowMin.png)


# windowSum


`windowSum` 函数计算按指定属性划分和排序的自定义窗口中聚合度量的总和。通常，在视觉对象显示指标和日期字段的时间序列上使用自定义窗口函数。

MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
windowSum
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 参数


*度量*   
要获取其总和的聚合度量，例如，`sum({Revenue})`。  
对于引擎 MySQL、MariaDB 和兼容 MySQL 的 Amazon Aurora，查找索引仅限为 1。MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。

*sort attribute*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

*start index*   
起始索引 (start index) 是一个正整数，指示当前行之上的 *n* 行。起始索引 计算当前行上方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

*end index*   
结束索引 (end index) 是一个正整数，指示当前行之下的 *n* 行。结束索引 计算当前行下方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

## 示例


以下示例计算 `sum(Revenue)` 的移动总和（按 `SaleDate` 排序）。计算包括当前行上方的 2 行和前面的 1 行。

```
windowSum
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     2,
            1
	)
```

以下示例显示随后 12 个月的总和。

```
windowSum(sum(Revenue),[SaleDate ASC],12,0)
```

下面的屏幕截图显示了此随后 12 个月总和示例的结果。`sum(Revenue)` 字段添加到图表中，以显示该收入与随后 12 个月总和收入之间的差异。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/windowSum.png)
