

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

# 在公式表達式中使用彙總函數
<a name="expression-aggregation-functions"></a>

僅在[指標](metrics.md)中，您可以使用下列函數來彙總每個時間間隔的輸入值，並計算單一輸出值。彙總函數可以彙總來自關聯資產的資料。

彙總函數引數可以是[變數](expression-variables.md)、[數字常值](expression-literals.md#number-literal-definition)、[時間函數](expression-temporal-functions.md)、巢狀運算式或彙總函數。公式`max(latest(x), latest(y), latest(z))`使用彙總函數做為引數，並傳回 `x`、 `y`和 `z` 屬性的最大目前值。

您可以在彙總函數中使用巢狀運算式。當您使用巢狀運算式時，適用下列規則：
+ 每個引數只能有一個變數。  
**Example**  

  例如，支援 `sum(x/2 )/avg(y^2 )` `avg(x*(x-1))`和 。

  例如，`min(x/y)`不支援 。
+ 每個引數都可以有多層巢狀運算式。  
**Example**  

  例如，支援 `sum(avg(x^2 )/2)` 。
+ 不同的引數可以有不同的變數。  
**Example**  

  例如，支援 `sum(x/2, y*2)` 。

**注意**  
如果您的表達式包含測量， AWS IoT SiteWise 會使用目前時間間隔內的最後一個值來計算彙總。
如果您的表達式包含屬性， AWS IoT SiteWise 會使用屬性的最新值來計算彙總。


| 函式 | Description | 
| --- | --- | 
| `avg(x0, ..., xn)` | 傳回目前時間間隔指定變數值的平均數。<br /><a name="aggregation-function-no-output"></a>只有在指定的變數在目前時間間隔內至少有一個資料點時，此函數才會輸出資料點。 | 
| `sum(x0, ..., xn)` | 傳回目前時間間隔指定變數值的總和。<br /><a name="aggregation-function-no-output"></a>只有在指定的變數在目前時間間隔內至少有一個資料點時，此函數才會輸出資料點。 | 
| `min(x0, ..., xn)` | 傳回目前時間間隔指定變數值的最小值。<br /><a name="aggregation-function-no-output"></a>只有在指定的變數在目前時間間隔內至少有一個資料點時，此函數才會輸出資料點。 | 
| `max(x0, ..., xn)` | 傳回目前時間間隔指定變數值的最大值。<br /><a name="aggregation-function-no-output"></a>只有在指定的變數在目前時間間隔內至少有一個資料點時，此函數才會輸出資料點。 | 
| `count(x0, ..., xn)` | 傳回目前時間間隔內給定變數的資料點總數。若要取得有關如何計算符合條件之資料點數目的更多資訊，請參閱 [計數符合條件的資料點](expression-tutorials.md#count-filtered-data)。<br /><a name="aggregation-function-always-output"></a>此函數會計算每個時間間隔的資料點。 | 
| `stdev(x0, ..., xn)` | 傳回指定變數在目前時間間隔內值的標準差。<br />只有在指定的變數在目前時間間隔內至少有一個資料點時，此函數才會輸出資料點。 | 