

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

# 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)
