

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

# 從屬性和其他資產彙總資料 （指標）
<a name="metrics"></a>

指標是數學表達式，使用彙總函數來處理所有輸入資料點，並在每個指定的時間間隔輸出單一資料點。例如，指標可以從溫度資料串流計算每小時平均溫度。

指標可以從關聯資產的指標輸入資料，因此您可以計算統計資料，以提供您的操作或操作子集的深入解析。例如，指標可以計算風力發電場中所有風力發電機的平均每小時溫度。如需如何定義資產之間關聯的詳細資訊，請參閱 [定義資產模型階層](define-asset-hierarchies.md)。

指標也可以從其他屬性輸入資料，而無需在每個時間間隔內彙總資料。如果您在公式中指定[屬性](attributes.md)， AWS IoT SiteWise 會在計算公式時使用該屬性[的最新](expression-temporal-functions.md#latest-definition)值。如果您在公式中指定指標， 會針對計算公式的時間間隔 AWS IoT SiteWise 使用[最後一個](expression-temporal-functions.md#last-definition)值。這表示您可以定義 等指標`OEE = Availability * Quality * Performance`，其中 `Availability`、 `Quality`和 `Performance`是相同資產模型上的所有其他指標。

AWS IoT SiteWise 也會自動運算所有資產屬性的一組基本彙總指標。若要降低運算成本，您可以使用這些彙總，而不要為基本運算定義自訂指標。如需詳細資訊，請參閱[在 中查詢資產屬性彙總 AWS IoT SiteWise](aggregates.md)。

**Topics**
+ [定義指標 （主控台）](#define-metrics-console)
+ [定義指標 (AWS CLI)](#define-metrics-cli)

## 定義指標 （主控台）
<a name="define-metrics-console"></a>

當您在 AWS IoT SiteWise 主控台中定義資產模型的指標時，您可以指定下列參數：
+ <a name="asset-property-name-console"></a>**名稱** – 屬性的名稱。
+ **資料類型** – 轉換的資料類型，可以是 **Double** 或 **String**。
+ **外部 ID** – （選用） 這是使用者定義的 ID。如需詳細資訊，請參閱《AWS IoT SiteWise 使用者指南》**中的 [參考具有外部 IDs物件](object-ids.md#external-id-references)。
+ **公式** – 指標表達式。指標表達[式可以使用彙總函數](expression-aggregation-functions.md)，從屬性輸入階層中所有相關聯資產的資料。開始輸入或按向下鍵開啟自動完成功能。如需詳細資訊，請參閱[使用公式表達式](formula-expressions.md)。
**重要**  <a name="metric-input-rules"></a>
指標只能是整數、雙數、布林值或字串類型的屬性。布林值轉換為 `0`(false) 和 `1`(true)。  
如果您在指標表達式中定義任何指標輸入變數，則這些輸入必須和輸出指標有相同的時間間隔。  
<a name="formula-output-rules"></a>公式表達式只能輸出雙值或字串值。巢狀運算式可以輸出其他資料類型，例如字串，但整體公式必須評估為數字或字串。您可以使用 [jp 函數](expression-string-functions.md#jp-definition)將字串轉換為數字。布林值必須為 1 (true) 或 0 (false)。如需詳細資訊，請參閱[未定義、無限和溢出值](expression-tutorials.md#undefined-values)。
+ **時間間隔** – 指標時間間隔。 <a name="metric-window-info"></a>AWS IoT SiteWise 支援下列輪轉時段時間間隔，其中每個間隔會在前一個時間間隔結束時開始：
  + **1 分鐘** – <a name="metric-window-1m"></a>1 分鐘，在每分鐘結束時 （上午 12：00：00、上午 12：01：00、上午 12：02：00 等） 計算。
  + **5 分鐘** – <a name="metric-window-5m"></a>5 分鐘，從小時開始每 5 分鐘計算一次 （上午 12：00：00、上午 12：05：00、上午 12：10：00 等）。
  + **15 分鐘** – <a name="metric-window-15m"></a>15 分鐘，從小時開始每 15 分鐘的結尾開始計算 （上午 12：00：00、上午 12：15：00、上午 12：30：00 等）。
  + **1 小時** – <a name="metric-window-1h"></a>1 小時 (60 分鐘），每小時結束時以 UTC 計算 （上午 12：00：00、上午 01：00：00、上午 02：00：00 等）。
  + **1 天** – <a name="metric-window-1d"></a>1 天 (24 小時），在每天結束時以 UTC 計算 （星期一上午 12：00：00、星期二上午 12：00：00 等）。
  + **1 週** – <a name="metric-window-1w"></a>1 週 (7 天），在 UTC 的每個星期日結束時計算 （星期一上午 12：00：00)。
  + **自訂間隔** – 您可以輸入一分鐘到一週之間的任何時間間隔。
+ **位移日期** – （選用） 要彙總資料的參考日期。
+ **位移時間** – （選用） 要彙總資料的參考時間。偏移時間必須介於 00：00：00 和 23：59：59 之間。
+ **位移時區** – （選用） 位移的時區。如果未指定，則預設位移時區為國際標準時間 (UTC)。請參閱下列支援的時區。

### 支援的時區
<a name="supported-time-zones"></a>
+ (UTC\$100：00) 國際標準時間
+ (UTC\$101：00) 歐洲中部時間
+ (UTC\$102：00) 東歐
+ (UTC03\$1：00) 東非時間
+ (UTC\$104：00) 接近東部時間
+ (UTC\$105：00) 巴基斯坦拉合爾時間
+ (UTC\$105：30) 印度標準時間
+ (UTC\$106：00) 孟加拉標準時間
+ (UTC\$107：00) 越南標準時間
+ (UTC\$108：00) 中國台北時間
+ (UTC\$109：00) 日本標準時間
+ (UTC\$109：30) 澳洲中部時間
+ (UTC\$110：00) 澳洲東部時間
+ (UTC\$111：00) 索羅門標準時間
+ (UTC\$112：00) 紐西蘭標準時間
+ (UTC-11：00) 中途群島時間
+ (UTC-10：00) 夏威夷標準時間
+ (UTC-09：00) 阿拉斯加標準時間
+ (UTC-08：00) 太平洋標準時間
+ (UTC-07：00) 鳳凰城標準時間
+ (UTC-06：00) 中部標準時間
+ (UTC-05：00) 東部標準時間
+ (UTC-04：00) 波多黎各和美屬維京群島時間
+ (UTC-03：00) 阿根廷標準時間
+ (UTC-02：00) 南喬治亞時間
+ (UTC-01：00) 中非時間

**Example 具有位移的自訂時間間隔 （主控台）**  
下列範例說明如何在 2021 年 2 月 20 日下午 6：30：30 (PST) 以偏移量定義 12 小時的時間間隔。  

**定義具有位移的自訂間隔**

1. 針對**時間間隔**，選擇**自訂間隔**。

1. 針對**時間間隔**，執行下列其中一項操作：
   + 輸入 **12**，然後選擇**小時**。
   + 輸入 **720**，然後選擇**分鐘**。
   + 輸入 **43200**，然後選擇**秒**。
**重要**  
無論單位為何，**時間間隔**都必須是整數。

1. 針對**位移日期**，選擇 **2021/02/20**。

1. 針對**位移時間**，輸入 **18:30:30**。

1. 針對**位移時區**，選擇 **(UTC-08：00) 太平洋標準時間**。
如果您在 2021 年 7 月 1 日下午 06：30：30 (PST) 之前或當天建立指標，您會在 2021 年 7 月 1 日下午 06：30：30 (PST) 取得第一個彙總結果。第二個彙總結果是 2021 年 7 月 2 日上午 06：30：30 (PST)，以此類推。

## 定義指標 (AWS CLI)
<a name="define-metrics-cli"></a>

當您使用 AWS IoT SiteWise API 定義資產模型的指標時，您可以指定下列參數：
+ <a name="asset-property-name-cli"></a>`name` – 屬性的名稱。
+ `dataType` – 指標的資料類型，可以是 `DOUBLE`或 `STRING`。
+ `externalId` – （選用） 這是使用者定義的 ID。如需詳細資訊，請參閱《AWS IoT SiteWise 使用者指南》**中的 [參考具有外部 IDs物件](object-ids.md#external-id-references)。
+ `expression` – 指標表達式。指標表達[式可以使用彙總函數](expression-aggregation-functions.md)，從屬性輸入階層中所有相關聯資產的資料。如需詳細資訊，請參閱[使用公式表達式](formula-expressions.md)。
+ `window` – 指標輪轉時段的時間間隔和位移，其中每個間隔會在前一個間隔結束時開始：
  + `interval` – 輪轉時段的時間間隔。時間間隔必須介於一分鐘和一週之間。
  + `offsets` – 輪轉時段的位移。

  如需詳細資訊，請參閱 *AWS IoT SiteWise API 參考*中的 [TumblingWindow](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TumblingWindow.html)。  
**Example 具有位移的自訂時間間隔 (AWS CLI)**  

  下列範例說明如何在 2021 年 2 月 20 日下午 6：30：30 (PST) 定義偏移量的 12 小時時間間隔。

  ```
  {
      "window": {
          "tumbling": {
              "interval": "12h",
              "offset": " 2021-07-23T18:30:30-08"
          }
      }
  }
  ```

  如果您在 2021 年 7 月 1 日下午 06：30：30 (PST) 之前或當天建立指標，您會在 2021 年 7 月 1 日下午 06：30：30 (PST) 取得第一個彙總結果。第二個彙總結果是 2021 年 7 月 2 日上午 06：30：30 (PST)，以此類推。
+ `variables` – 變數清單，定義要在表達式中使用的資產或子資產的其他屬性。每個變數結構都包含可在表達式中使用的簡單名稱，以及一個 `value` 結構，用來識別要連結到該變數的屬性。`value` 結構包含以下資訊：
  + `propertyId` – 要從中提取值的屬性 ID。如果屬性已在目前的模型中定義 (而非在階層中的模型內定義)，您可以使用屬性的名稱而非其 ID。
  + `hierarchyId` – （選用） 從中查詢屬性子資產的階層 ID。您可以使用階層定義的名稱，而非其 ID。如果您省略此值， 會在目前模型中 AWS IoT SiteWise 尋找 屬性。
**重要**  <a name="metric-input-rules"></a>
指標只能是整數、雙數、布林值或字串類型的屬性。布林值轉換為 `0`(false) 和 `1`(true)。  
如果您在指標表達式中定義任何指標輸入變數，則這些輸入必須和輸出指標有相同的時間間隔。  
<a name="formula-output-rules"></a>公式表達式只能輸出雙值或字串值。巢狀運算式可以輸出其他資料類型，例如字串，但整體公式必須評估為數字或字串。您可以使用 [jp 函數](expression-string-functions.md#jp-definition)將字串轉換為數字。布林值必須為 1 (true) 或 0 (false)。如需詳細資訊，請參閱[未定義、無限和溢出值](expression-tutorials.md#undefined-values)。
+ <a name="asset-property-unit-cli"></a>`unit` – （選用） 屬性的科學單位，例如 mm 或 Celsius。

**Example 指標定義範例**  
下列範例示範彙總資產溫度衡量值的指標屬性，以計算每小時華氏溫度上限。此物件是包含[指標](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Metric.html)的 [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html) 範例。您可以將此物件指定為 [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) 請求承載的一部分，以建立指標屬性。如需詳細資訊，請參閱[建立資產模型 (AWS CLI)](create-asset-models.md#create-asset-model-cli)。  

```
{
      ...
      "assetModelProperties": [
      ...
      {
        "name": "Max temperature",
        "dataType": "DOUBLE",
        "type": {
          "metric": {
            "expression": "max(temp_f)",
            "variables": [
              {
                "name": "temp_f",
                "value": {
                  "propertyId": "Temperature F"
                }
              }
            ],
            "window": {
              "tumbling": {
                "interval": "1h"
              }
            }
          }
        },
        "unit": "Fahrenheit"
      }
    ],
    ...
}
```

**Example 從相關聯資產輸入資料的範例指標定義**  
下列範例示範的指標屬性會彙總多個風力發電機的平均功率資料，以計算風力發電廠的總平均功率。此物件是包含[指標](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Metric.html)的 [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html) 範例。您可以將此物件指定為 [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) 請求承載的一部分，以建立指標屬性。  

```
{
      ...
      "assetModelProperties": [
      ...
      {
          "name": "Total Average Power",
          "dataType": "DOUBLE",
          "type": {
            "metric": {
              "expression": "avg(power)",
              "variables": [
                {
                  "name": "power",
                  "value": {
                    "propertyId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
                    "hierarchyId": "Turbine Asset Model"
                  }
                }
              ],
              "window": {
                "tumbling": {
                  "interval": "5m"
                }
              }
            }
        },
        "unit": "kWh"
      }
    ],
    ...
}
```