Quero configurar a agregação de métricas no AWS IoT SiteWise para modelos com mais de dez hierarquias.
Resolução
Com base nas cotas do AWS IoT SiteWise, o número máximo de variáveis de propriedade para uma única fórmula é dez. Para superar essa restrição, é possível dividir a agregação em segmentos menores.
Para dividir a agregação, execute as seguintes etapas:
- Calcule resultados parciais para 9–10 hierarquias individualmente. Para obter mais informações, consulte Agregar dados de propriedades e outros ativos (métricas).
- Mescle esses resultados intermediários para obter o resultado final da agregação. Para obter mais informações, consulte Usar funções de agregação em expressões de fórmula.
Observação: para aplicações que exigem precisão, observe que esses métodos podem causar pequenas perdas de precisão computacional.
A seguir estão dois exemplos de como calcular a média de 40 hierarquias. Nestes exemplos, as hierarquias são nomeadas de h1 a h40.
Exemplo de soma total e contagem total
No exemplo a seguir, cada fórmula tem dez hierarquias.
Primeiro, encontre a soma total de cada hierarquia:
- sum1_10 = sum(h1,.. h10)
sum11_20 = sum(h11,.. h20)
sum21_30 = sum(h21,.. h30)
sum31_40 = sum(h31,.. h40)
Em seguida, calcule a contagem total de cada hierarquia:
- count1_10 = count(h1,.. h10)
count11_20 = count(h11,.. h20)
count21_30 = count(h21,.. h30)
count31_40 = count(h31,.. h40)
Por fim, use a soma total e a contagem total para encontrar a média. Neste exemplo, o TotalAvg tem oito agregados como argumentos:
TotalAvg = sum(sum1_10, sum11_20, sum21_30, sum31_40) / sum(count1_10, count11_20, count21_30, count31_40)
Exemplo de média ponderada
Para calcular a média, use uma abordagem de média ponderada e combine várias médias calculadas com pesos com base nas respectivas contagens. No exemplo a seguir, cada fórmula tem dez hierarquias para seus argumentos.
Primeiro, encontre a média de cada hierarquia:
- avg1_10 = avg(h1,.. h10)
avg11_20 = avg(h11,.. h20)
avg21_30 = avg(h21,.. h30)
avg31_40 = avg(h31,.. h40)
Em seguida, calcule a contagem total de cada hierarquia:
- count1_10 = count(h1,.. h10)
count11_20 = count(h11,.. h20)
count21_30 = count(h21,.. h30)
count31_40 = count(h31,.. h40)
Em seguida, encontre a soma total das hierarquias. Neste exemplo, o totalCount tem 4 agregados como argumentos:
totalCount = sum(count1_10, count11_20, count21_30, count31_40)
Por fim, encontre o TotalAvg. Neste exemplo, o TotalAvg tem nove agregados como argumentos:
TotalAvg = sum(count1_10 / totalCount * avg1_10, count11_20 * totalCount * avg11_20, count21_30 / totalCount * avg21_30, count31_40 / totalCount * avg31_40)