

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# プロパティおよびその他のアセットからのデータを集計する (メトリクス)
<a name="metrics"></a>

メトリクスは、集計関数を使用してすべての入力データポイントを処理し、指定された時間間隔ごとに 1 つのデータポイントを出力する数式です。たとえば、メトリクスは、温度データストリームから時間当たりの平均温度を計算できます。

メトリクスは、関連付けられたアセットのメトリクスからデータを入力できるため、オペレーションまたはオペレーションのサブセットに関するインサイトを提供する統計情報を計算できます。たとえば、メトリクスは、風力発電所のすべての風力タービンの平均時間温度を計算できます。アセット間の関連付けを定義する方法の詳細については、「[アセットモデルの階層を定義する](define-asset-hierarchies.md)」を参照してください。

メトリクスは、各時間間隔でのデータを集約することなく、他のプロパティからデータを入力することも可能です。コンピューティング式に[[attribute]](attributes.md) (属性) を指定した場合、 AWS IoT SiteWise はその属性の[[latest]](expression-temporal-functions.md#latest-definition) (最新) の値をコンピューティング式に使用します。式でメトリクスを指定すると、 は式を計算する時間間隔の[最後の](expression-temporal-functions.md#last-definition)値 AWS IoT SiteWise を使用します。つまり、 `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>**[Name]** (名前) - プロパティの名前。
+ **[Data type]** (データ型) - 変換のデータ型で、**[Double]** (倍) または **[String]** (文字列) です。
+ **外部 ID** – (オプション) これはユーザー定義 ID です。詳細については、AWS IoT SiteWise  ユーザーガイドの [外部 ID を持つリファレンスオブジェクト](object-ids.md#external-id-references)を参照してください。
+ **[Formula]** (計算式) - メトリクス式。メトリクス式では、[[aggregation functions]](expression-aggregation-functions.md) (集約関数) を使用して、階層内のすべての関連するアセットに対するプロパティからデータを入力することができます。入力を開始するか、下矢印キーを押すと、オートコンプリート機能を実行できます。詳細については、「[数式を使用する](formula-expressions.md)」を参照してください。
**重要**  <a name="metric-input-rules"></a>
メトリクスは、整数、倍、ブール値、文字列型のプロパティのみ使用可能です。ブール値は、`0` (false) 、`1` (true) に変換されます。  
メトリクスの式でメトリクス入力変数を定義する場合、それらの入力には出力メトリクスと同じ時間間隔が必要です。  
<a name="formula-output-rules"></a>数式では、倍値または文字列値のみを出力できます。入れ子になった式は、文字列など他のデータ型を出力することができますが、式全体としては、数値または文字列として評価されなければなりません。[[jp function]](expression-string-functions.md#jp-definition) (jp関数) を使うと、文字列を数値に変換することができます。ブール値は 1 (true) または 0 (false) でなければならない。詳細については、「[未定義の値、無限の値、およびオーバーフロー値](expression-tutorials.md#undefined-values)」を参照してください。
+ **[Time interval]** (時間間隔) - メトリクスの時間間隔。<a name="metric-window-info"></a>AWS IoT SiteWise は次のタンブリングウィンドウ時間間隔をサポートし、各間隔は前の間隔が終了したときに開始される。
  + **[1 minute]** (1 分) – <a name="metric-window-1m"></a>1 分。毎分の終わりに処理されます (午前 00:00:00、午前 00:01:00、午前 00:02:00 など)。
  + **[5 minutes]** (5 分) – <a name="metric-window-5m"></a>5 分。正時から 5 分ごとに処理されます (午前 00:00:00、午前 00:05:00、午前 00:10:00 など)。
  + **[15 minutes]** (15 分) – <a name="metric-window-15m"></a>15 分。正時から 15 分ごとに処理されます (午前 00:00:00、午前 00:15:00、午前 00:30:00 など)。
  + **[1 hour]** (1 時間) – <a name="metric-window-1h"></a>1 時間 (60 分)。UTC の毎時の終わりに処理されます (午前 00:00:00、午前 01:00:00、午前 02:00:00 など)。
  + **[1 day]** (1 日) – <a name="metric-window-1d"></a>1 日 (24 時間)。UTC の毎日の終わりに処理されます (月曜日の午前 00:00:00、火曜日の午前 00:00:00 など)。
  + **[1 week]** (1 週間) – <a name="metric-window-1w"></a>1 週間 (7 日間)。UTC の毎週日曜日の終わりに処理されます (月曜日の午前 00:00:00 ごと)。
  + **[Custom interval]** (カスタム時間間隔) - 1 分～1 週間の間で任意の時間間隔を入力できます。
+ **[Offset date]** (オフセット日) -(オプション) データを集計するためのリファレンス日です。
+ **[Offset time]** (オフセット時間) -(オプション) データを集計するリファレンス時間。オフセット時刻は、00:00:00 ～ 23:59:59 の間でなければなりません。
+ **[Offset time zone]** (オフセットタイムゾーン) -(オプション) オフセットのタイムゾーンです。指定しない場合、デフォルトのオフセットタイムゾーンは協定世界時 (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) 中国 [Taiwan] (台湾) (台北市) 時間
+  (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. **[Time interval]** (時間間隔) で **[Custom interval]** (カスタム間隔) を選択します。

1. **[Time interval]** (時間間隔) については、次のいずれかを行ってください。
   + **12** を入力し、**[hours]** (時間) を選択します。
   + **720** を入力し、**[minutes]** (分) を選択します。
   + **43200** を入力し、**[seconds]** (秒) を選択します。
**重要**  
**[Time interval]** (時間間隔) は単位に関係なく整数でなければならない。

1. **[Offset date]** (オフセット日付) は、**[2021/02/20]**を選択します。

1. **[Offset time]** (オフセット時間) には、**18:30:30** を入力します。

1. **[Offset timezone]** (オフセットタイムゾーン) は、**[(UTC-08:00) Pacific Standard Time]** ((UTC-08:00) 太平洋標準時) を選択してください。
2021 年 7 月 1 日午後 6:30:30 (PST) 以前または 6:30:30 にメトリクスを作成した場合、2021 年 7 月 1 日午後 6:30:30 (PST) に最初の集計結果が表示されます。2 番目の集計結果は、2021 年 7 月 2 日午前 6: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  ユーザーガイドの [外部 ID を持つリファレンスオブジェクト](object-ids.md#external-id-references)を参照してください。
+ `expression` - メトリクス式。メトリクス式では、[[aggregation functions]](expression-aggregation-functions.md) (集約関数) を使用して、階層内のすべての関連するアセットに対するプロパティからデータを入力することができます。詳細については、「[数式を使用する](formula-expressions.md)」を参照してください。
+ `window` - メメトリクスタンブリングウィンドウの時間間隔とオフセットで、各間隔は前の間隔が終了したときに開始されます。
  + `interval` - タンブリングウィンドウの時間間隔です。時間間隔は 1 分以上 1 週間以内にする必要があります。
  + `offsets` - タンブリングウィンドウのオフセット。

  詳細については、*[AWS IoT SiteWise API Reference]* (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 日午後 6:30:30 (PST) 以前または 6:30:30 にメトリクスを作成した場合、2021 年 7 月 1 日午後 6:30:30 (PST) に最初の集計結果が表示されます。2 番目の集計結果は、2021 年 7 月 2 日午前 6: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 function]](expression-string-functions.md#jp-definition) (jp関数) を使うと、文字列を数値に変換することができます。ブール値は 1 (true) または 0 (false) でなければならない。詳細については、「[未定義の値、無限の値、およびオーバーフロー値](expression-tutorials.md#undefined-values)」を参照してください。
+ <a name="asset-property-unit-cli"></a>`unit` –(オプション) プロパティの科学単位 (mm、摂氏など)。

**Example メトリクス定義の例**  
次の例は、アセットの温度測定データを集計して、時間当たりの最高温度を華氏で計算するメトリクスプロパティを示しています。このオブジェクトは、[[Metric]](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 関連アセットからデータを入力するメトリクス定義例。**  
次の例は、複数の風力タービンの平均電力データを集約し、風力発電所の総平均電力を算出するメトリックプロパティを示しています。このオブジェクトは、[[Metric]](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"
      }
    ],
    ...
}
```