

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# difference
<a name="difference-function"></a>

`difference` 函數會計算基於一組分割和排序之間的不同量值，以及基於彼此的量值。

`difference` 函數支援與根據 SPICE 的分析和直接查詢資料集搭配使用。

## 語法
<a name="difference-function-syntax"></a>

需使用括弧。若要了解哪些參數是選用的，請參閱以下描述。

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

## 引數
<a name="difference-function-arguments"></a>

 *measure*   
您要查看差異之彙總的度量。

 *sort order field*   
您要排序資料依據的一或多個度量和維度，以逗號分隔。您可以指定遞增 (**ASC**) 或遞減 (**DESC**) 排序順序。  
如果有不只一個字，則清單中的每個欄位會括在 \$1\$1 (大括號) 中。整個清單會以 [ ] (方括弧) 括住。

 *lookup index*   
查詢索引可為正值或負值，代表排序中的下一個資料列 (正值) 或排序中的上一個資料列 (負值)。查詢索引可以是 1–2,147,483,647。對於 MySQL、MariaDB 和 Aurora MySQL 相容版引擎，查詢索引僅限為 1。

 *partition field*   
(選用) 您要分割依據的一或多個維度，以逗號分隔。  
如果有不只一個字，則清單中的每個欄位會括在 \$1\$1 (大括號) 中。整個清單會以 [ ] (方括弧) 括住。

## 範例
<a name="difference-function-example"></a>

以下範例會計算 `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.aws.amazon.com/zh_tw/quick/latest/userguide/images/differenceCalc.png)
