

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Agregar dados de propriedades e outros ativos (métricas)
<a name="metrics"></a>

As métricas são expressões matemáticas que usam funções agregadas para processar todos os pontos de dados de entrada e produzir um único ponto de dados por intervalo de tempo especificado. Por exemplo, uma métrica pode calcular a temperatura média por hora a partir de um fluxo de dados de temperatura.

As métricas podem inserir dados de entrada de ativos associados, para que você possa calcular estatísticas que forneçam informações sobre sua operação ou sobre um subconjunto da sua operação. Por exemplo, uma métrica pode calcular a temperatura média horária em todas as turbinas eólicas em um parque eólico. Para obter mais informações sobre como definir associações entre ativos, consulte [Definir hierarquias de modelos de ativo](define-asset-hierarchies.md).

As métricas também podem inserir dados de entrada de outras propriedades sem agregar dados a cada intervalo de tempo. Se você especificar um [atributo](attributes.md) em uma fórmula, AWS IoT SiteWise usa o valor [mais recente](expression-temporal-functions.md#latest-definition) desse atributo ao computar a fórmula. Se você especificar uma métrica em uma fórmula, AWS IoT SiteWise usa o [último](expression-temporal-functions.md#last-definition) valor para o intervalo de tempo durante o qual ela calcula a fórmula. Isso significa que você pode definir métricas como `OEE = Availability * Quality * Performance`, onde `Availability`, `Quality` e `Performance` são todas as outras métricas no mesmo modelo de ativos.

AWS IoT SiteWise também calcula automaticamente um conjunto de métricas básicas de agregação para todas as propriedades do ativo. Para reduzir os custos de computação, você pode usar esses agregados em vez de definir métricas personalizadas para cálculos básicos. Para obter mais informações, consulte [Consulte agregados de propriedades de ativos em AWS IoT SiteWise](aggregates.md).

**Topics**
+ [Definir métricas (console)](#define-metrics-console)
+ [Definir métricas (AWS CLI)](#define-metrics-cli)

## Definir métricas (console)
<a name="define-metrics-console"></a>

Ao definir uma métrica para um modelo de ativo no AWS IoT SiteWise console, você especifica os seguintes parâmetros:
+ <a name="asset-property-name-console"></a>**Nome** — o nome da propriedade.
+ **Tipo de dado** — tipo de dado da transformação, que pode ser **Duplo** ou **String**.
+ **ID externo**: (opcional) é um ID definido pelo usuário. Consulte mais informações em [Objetos de referência com objetos externos IDs](object-ids.md#external-id-references) no *Guia de Usuário AWS IoT SiteWise *.
+ **Fórmula** — a expressão métrica. As expressões métricas podem usar [funções de agregação](expression-aggregation-functions.md) para inserir dados de entrada de uma propriedade para todos os ativos associados em uma hierarquia. Comece digitando ou pressionando a seta para baixo para abrir o recurso de preenchimento automático. Para obter mais informações, consulte [Usar expressões de fórmula](formula-expressions.md).
**Importante**  <a name="metric-input-rules"></a>
Métricas só podem inserir propriedades do tipo inteiro, duplo, Booleano ou string. Os Booleanos são convertidos em `0` (falso) e `1` (verdadeiro).  
Se você definir quaisquer variáveis de entrada de métrica na expressão de uma métrica, essas entradas deverão ter o mesmo intervalo de tempo que a métrica de saída.  
<a name="formula-output-rules"></a>As expressões de fórmula só podem produzir valores duplos ou de string. Expressões aninhadas podem gerar outros tipos de dados, como strings, mas a fórmula como um todo deve ser avaliada como um número ou string. Você pode usar a [função jp](expression-string-functions.md#jp-definition) para converter uma string em um número. O valor Booleano deve ser 1 (verdadeiro) ou 0 (falso). Para obter mais informações, consulte [Valores indefinidos, infinitos e excedidos](expression-tutorials.md#undefined-values).
+ **Intervalo de tempo** – tempo de intervalo métrico. <a name="metric-window-info"></a>AWS IoT SiteWise é compatível com a seguinte janela em cascata de intervalos de tempo, onde cada intervalo começa quando o anterior termina:
  + **1 minuto** – <a name="metric-window-1m"></a> 1 minuto, calculado no final de cada minuto (00:00:00, 00:01:00, 00:02:00 e assim por diante).
  + **5 minutos** – <a name="metric-window-5m"></a>5 minutos, calculados no final de cada cinco minutos a partir da hora (00:00:00, 00:05:00, 00:10:00 e assim por diante).
  + **15 minutos** – <a name="metric-window-15m"></a>15 minutos, calculados no final de cada quinze minutos a partir da hora (00:00:00, 00:15:00, 00:30:00 e assim por diante).
  + **1 hora** – <a name="metric-window-1h"></a>1 hora (60 minutos), calculada no final de cada hora em UTC (00:00:00, 01:00:00, 02:00:00 e assim por diante).
  + **1 dia** – <a name="metric-window-1d"></a>1 dia (24 horas), calculado no final de cada dia em UTC (00:00:00 segunda-feira, 00:00:00 terça-feira e assim por diante).
  + **1 semana** – <a name="metric-window-1w"></a>1 semana (7 dias), calculada no final de cada domingo em UTC (a cada 00:00:00 segunda-feira).
  + **Intervalo personalizado** — você pode inserir qualquer intervalo de tempo entre um minuto e uma semana.
+ **Data de deslocamento** — (opcional) data de referência a partir da qual agregar dados.
+ **Tempo de deslocamento** — (opcional) horário de referência a partir do qual agregar dados. O horário de deslocamento deve ser entre 00:00:00 e 23:59:59.
+ **Fuso horário de deslocamento** — (opcional) fuso horário do deslocamento. Se não for especificado, o fuso horário de compensação padrão é Horário Universal Coordenado (UTC). Veja os seguintes fusos horários compatíveis.

### Fusos horários suportados:
<a name="supported-time-zones"></a>
+ (UTC\$1 00:00) Tempo Universal Coordenado
+ (UTC\$1 01:00) Hora Central Europeia
+ (UTC\$1 02:00) Leste Europeu
+ (UTC03\$1:00) Horário da África Oriental
+ (UTC\$1 04:00) Hora do Oriente Próximo
+ (UTC\$1 05:00) Horário de Lahore, no Paquistão
+ (UTC\$1 05:30) Horário padrão da Índia
+ (UTC\$1 06:00) Horário padrão de Bangladesh
+ (UTC\$1 07:00) Horário padrão do Vietnã
+ (UTC\$1 08:00) Hora China Taipei
+ (UTC\$1 09:00) Horário Padrão do Japão
+ (UTC\$1 09:30) Hora Central da Austrália
+ (UTC\$1 10:00) Horário do Leste da Austrália
+ (UTC\$1 11:00) Horário Padrão de Salomão
+ (UTC\$1 12:00) Horário Padrão da Nova Zelândia
+ (UTC- 11:00) Horário das Ilhas Midway
+ (UTC- 10:00) Horário padrão do Havaí
+ (UTC- 09:00) Horário padrão do Alasca
+ (UTC- 08:00) Hora padrão do Pacífico
+ (UTC- 07:00) Horário padrão de Phoenix
+ (UTC- 06:00) Horário Padrão Central
+ (UTC- 05:00) Horário Padrão do Leste
+ (UTC- 04:00) Horário de Porto Rico e Ilhas Virgens dos EUA
+ (UTC- 03:00) Horário Padrão da Argentina
+ (UTC- 02:00) Hora da Geórgia do Sul
+ (UTC- 01:00) Horário da África Central

**Example intervalo de tempo personalizado com um deslocamento (console)**  
O exemplo a seguir mostra como definir um intervalo de 12 horas com um deslocamento em 20 de fevereiro de 2021, às 18:30:30 (PST).  

**Para definir um intervalo personalizado com um deslocamento**

1. Em **Intervalo de tempo**, escolha **Intervalo personalizado**.

1. Para **Intervalo de tempo**, execute uma das opções a seguir:
   + Insira **12** e escolha **horas**.
   + Insira **720** e escolha **minutos**.
   + Insira **43200** e escolha **segundos**.
**Importante**  
O **intervalo de tempo** deve ser um número inteiro, independente da unidade.

1. Em **Data de deslocamento**, escolha **20/02/2021**.

1. Em **Tempo de deslocamento**, insira **18:30:30**.

1. Em **Fuso horário de deslocamento**, escolha **(UTC- 08:00) Horário Padrão do Pacífico**.
Se a métrica é criada em 1º de julho de 2021, até as 18h30min30s (PST), você recebe o primeiro resultado da agregação em 1º de julho de 2021, às 18h30min30s (PST). O segundo resultado da agregação chega em 2 de julho de 2021, às 6h30min30s (PST), e assim por diante.

## Definir métricas (AWS CLI)
<a name="define-metrics-cli"></a>

Ao definir uma métrica para um modelo de ativo com a AWS IoT SiteWise API, você especifica os seguintes parâmetros:
+ <a name="asset-property-name-cli"></a>`name` – o nome da propriedade.
+ `dataType` — tipo de dados da métrica, que pode ser `DOUBLE` ou `STRING`.
+ `externalId`: (opcional) é um ID definido pelo usuário. Consulte mais informações em [Objetos de referência com objetos externos IDs](object-ids.md#external-id-references) no *Guia de Usuário AWS IoT SiteWise *.
+ `expression` — a expressão métrica. As expressões métricas podem usar [funções de agregação](expression-aggregation-functions.md) para inserir dados de entrada de uma propriedade para todos os ativos associados em uma hierarquia. Para obter mais informações, consulte [Usar expressões de fórmula](formula-expressions.md).
+ `window` — intervalo de tempo e deslocamento da janela de queda da métrica, onde cada intervalo começa quando o anterior termina:
  + `interval` – intervalo de tempo da janela em cascata. O intervalo de tempo deve estar entre um minuto e uma semana.
  + `offsets` – deslocamento da janela em cascata. 

  Para obter mais informações, consulte [TumblingWindow](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TumblingWindow.html) na *Referência de APIs do AWS IoT SiteWise *.  
**Example intervalo de tempo personalizado com um deslocamento (AWS CLI)**  

  O exemplo a seguir mostra como definir um intervalo de 12 horas com um deslocamento em 20 de fevereiro de 2021, às 18:30:30 (PST).

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

  Se a métrica é criada em 1º de julho de 2021, até as 18h30min30s (PST), você recebe o primeiro resultado da agregação em 1º de julho de 2021, às 18h30min30s (PST). O segundo resultado da agregação chega em 2 de julho de 2021, às 6h30min30s (PST), e assim por diante.
+ `variables` – uma lista de que define as outras propriedades de seu ativo ou ativos filho a serem usados na expressão. Cada estrutura variável contém um nome simples para uso na expressão e uma estrutura `value`, que identifica qual propriedade deve ser vinculada à variável. A estrutura `value` contém as seguintes informações:
  + `propertyId` – ID da propriedade da qual deseja extrair valores. Você pode usar o nome da propriedade em vez da ID se a propriedade for definida no modelo atual (em vez de definida em um modelo de uma hierarquia).
  + `hierarchyId` – (opcional) ID da hierarquia da qual consultar ativos filhos para a propriedade. Você pode usar o nome da definição de hierarquia em vez da ID. Se você omitir esse valor, AWS IoT SiteWise localizará a propriedade no modelo atual.
**Importante**  <a name="metric-input-rules"></a>
Métricas só podem inserir propriedades do tipo inteiro, duplo, Booleano ou string. Os Booleanos são convertidos em `0` (falso) e `1` (verdadeiro).  
Se você definir quaisquer variáveis de entrada de métrica na expressão de uma métrica, essas entradas deverão ter o mesmo intervalo de tempo que a métrica de saída.  
<a name="formula-output-rules"></a>As expressões de fórmula só podem produzir valores duplos ou de string. Expressões aninhadas podem gerar outros tipos de dados, como strings, mas a fórmula como um todo deve ser avaliada como um número ou string. Você pode usar a [função jp](expression-string-functions.md#jp-definition) para converter uma string em um número. O valor Booleano deve ser 1 (verdadeiro) ou 0 (falso). Para obter mais informações, consulte [Valores indefinidos, infinitos e excedidos](expression-tutorials.md#undefined-values).
+ <a name="asset-property-unit-cli"></a>`unit` – (opcional) unidade científica da propriedade, como mm ou Celsius.

**Example Exemplo de definição de métrica**  
O exemplo a seguir demonstra uma propriedade de métrica que agrega dados de medição de temperatura de um ativo para calcular a temperatura máxima por hora em Fahrenheit. Esse objeto é um exemplo de um [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html)que contém uma [métrica](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Metric.html). Você pode especificar esse objeto como parte da carga útil da solicitação [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) para criar uma propriedade de métrica. Para obter mais informações, consulte [Criar um modelo de ativo (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 Exemplo de definição de métrica que insere dados de entrada de ativos associados**  
O exemplo a seguir demonstra uma propriedade métrica que agrega múltiplos dados de potência média de turbinas eólicas para calcular a potência média total de um parque eólico. Esse objeto é um exemplo de um [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html)que contém uma [métrica](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Metric.html). Você pode especificar esse objeto como parte da carga útil da solicitação [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) para criar uma propriedade de métrica.   

```
{
      ...
      "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"
      }
    ],
    ...
}
```