Formato de apresentação de um valor

A sintaxe para definir o formato de saída de um campo segue à padrões conhecidos e compartilhados em diversos ambientes computacionais, e sendo assim, o Portal de Telemetria utiliza-se destes padrões, e para que o usuário possa formatar dados e controles, deve segui-los, conforme as descrições a seguir.

Números e strings

Para representação de grandezas numéricas e strings no Portal de Telemetria, é utilizado a sintaxe definida pelo padrão printf (vide printf references e printf format reference page), com veremos a seguir:

Representação

Descrição

%c

Um caractere

%d

Numero decimal inteiro - base 10

%e

Número exponencial com ponto flutuante

%f

Número com ponto flutuante

%i

Inteiro base 10

%o

Número octal (base 8)

%s

String de caracteres

%u

Número inteiro sem sinal decimal

%x

Número em hexadecimal (base 16)

%% ou %

Representação do sinal percentual

Exemplos de uso

Representação

Descrição

Exemplo

%d

Valor sem casas decimais

10

%04d

Valor sem casas decimais com preenchimento de zeros a esquerda

0010

%.1f

Valor com uma casa decimal

10.1

%.2f

Valor com duas casas decimais

10.12

%.3f

Valor com três casas decimais

10.123

%.4f

Valor com quatro casas decimais

10.1234

%.5f

Valor com cinco casas decimais

10.12345

%s

String

Data

Para representação de datas, em dados e controles, é utilizado o padrão ISO 8601 , como vemos a seguir:

Representação

Descrição

YYYY

Ano com 4 dígitos (2021)

YY

Ano com 2 dígitos (21)

M

Mes (1-12)

MM

Mês (01-12)

MMM

Nome do mês com 3 caracteres (Jan-Dez)

MMMM

Nome do mês completo (Janeiro-Dezembro)

D

Dia do mês (1-31)

DD

Dia do mês (01-31)

DDD

Dia do ano (1-365)

DDDD

Dia do ano (001-365)

Hora e duração

Para formatar campos com Hora e/ou tempo de duração é utilizado o mesmo padrão ISO 8601, como vemos a seguir:

Representação

Descrição

H

Hora (0-23)

HH

Hora (00-23)

h

Hora (0-12)

hh

Hora com 2 dígitos (00-12)

A

AM ou PM

m

Minutos (0-59)

mm

Minutos (00-59)

s

Segundos (0-59)

ss

Segundos (00-59)

S

Fração de segundos

[texto]

Ignora a conversão dos caracteres dentro dos colchetes

Exemplos

Representação

Descrição

DD/MM/YYYY HH:mm:ss

24/12/2019 21:15:00

DD/MM/YYYY h:mmA

24/12/2019 9:15PM

MM/DD/YY HH:mm:ss

12/24/19 21:15:00

MMM, DD YYYY HH:mm:ss

Dec, 24 2019 21:15:00

DD [de] MMMM [de] YYYY - HH:mm[h]

24 de Dezembro de 2019 - 21:15h

hh[h]:mm[m]:ss[s]

01h:01m:10s

hh:mm:ss

05:42:33

hh:mm:ss S

02:33:81 0

Atenção

Para inserir uma quebra de linha na apresentação da Data e Hora no painel Histórico e Gráfico, utilize o símbolo [\n] no meio do formato.

Expressões

Em alguns recursos da interface do Portal de Telemetria, é possível utilizar expressões em JavaScript para calcular valores a serem apresentados ou comparados, filtrar resultados, formatar valores, etc.

Abaixo, são listados os elementos básicos que podem ser utilizados no conteúdo das expressões:

Operadores Aritméticos

A utilização de operadores aritméticos, basicamente se trata da possibilidade de montar expressões matemáticas para obter o resultado desejado em função dos valores dos operandos envolvidos na expressão e da operação utilizada.

Vejamos alguns exemplos(considerando o valor de $value = 10):

Operação

Operador

Descrição

Exemplos

Resultado

Adição

+

Retorna a soma aritmética dos operandos

$value + 20.5

30.5

Subtração

-

Retorna a subtração aritmética dos operandos

$value - 7

3

Multiplicação

*

Retorna a multiplicação aritmética dos operandos

$value * 20

200

Divisão

/

Retorna a divisão aritmética dos operandos

$value / 2

5

Módulo

%

Retorna o inteiro restante da divisão dos dois operandos

$value % 3

1

Negação

Retorna a negação de seu operando

–$value

10

Exponenciação

**

Calcula a base elevada á potência do expoente

$value ** 2

100

Incremento

++

Adiciona um ao seu operando

++$value

11

Decremento

Subtrai um de seu operando

—$value

9

Operadores de Comparação

Os operadores de comparação envolvem dois operandos e retornam um resultado lógico. O operador de igualdade (==), por exemplo, retorna verdadeiro, caso os operandos tenham o valor igual, e retornará falso, caso sejam diferentes.

Abaixo são descritos os operadores de comparação básicos e um exemplo de utilização no filtro:

Comparação

Operador

Descrição

Exemplos(que retornam verdadeiro)

Igualdade

==

Retorna verdadeiro caso os operandos sejam iguais

$value == 10

Diferente(não igual)

!=

Retorna verdadeiro caso os operandos não sejam iguais

$value != 10

Maior que

>

Retorna verdadeiro caso o operando da esquerda seja maior que o da direita

$value > 10

Maior ou igual que

>=

Retorna verdadeiro caso o operando da esquerda seja maior ou igual ao da direita

$value >= 10

Menor que

<

Retorna verdadeiro caso o operando da esquerda seja menor que o da direita

$value < 10

Menor ou igual que

<=

Retorna verdadeiro caso o operando da esquerda seja menor ou igual ao da direita

$value <= 10

Operador de inclusão

O operador de inclusão verifica se um valor está presente em um conjunto de valores e retorna um valor booleano, indicando se a condição é verdadeira.

Neste caso, o operador de inclusão que pode ser utilizado em um filtro é o operador in:

$value in [1, 10 , 20]

Neste exemplo, apenas os valores dos dados 1, 10, e 20 seriam retornados pelo filtro e apresentados no painel.

Operador de exclusão

O operador de exclusão verifica se um valor não está presente em um conjunto de valores e retorna um valor booleano, indicando se a condição é verdadeira.

Neste caso, o operador de exclusão que pode ser utilizado em um filtro é o operador not in:

$value not in [10 , 20]

Neste exemplo, apenas os valores dos dados 10 e 20 não seriam retornados pelo filtro e, portanto, não seriam apresentados no painel.

Operador condicional (ternário)

O operador condicional é o único operador que utiliza três operandos. O operador pode ter um de dois valores baseados em uma condição. A sintaxe é:

condicao ? valor1 : valor2

Se a condição for verdadeira, o operador terá o valor de valor1. Caso contrário, terá o valor de valor2. Você pode utilizar o operador condicional em qualquer lugar onde utilizaria um operador padrão.

Por exemplo:

($value > 10) ? 1 : 0

Neste caso, a expressão definida retornaria 1 caso o valor do dado fosse maior do que 10 ou retornaria 0.

($value == 0) ? 100 : 0

Neste caso, a expressão definida retornaria 100 caso o valor do dado fosse 0 ou retornaria 0.

Operadores Lógicos

Os operadores lógicos são usados para combinar expressões booleanas e retornam um valor booleano com base nas condições combinadas. Eles são comumente utilizados em filtros para criar condições mais complexas.

Abaixo estão descritos os operadores lógicos básicos e exemplos de sua utilização:

Operador

Símbolo

Descrição

Exemplos (que retornam verdadeiro)

E (AND)

&&

Retorna verdadeiro se ambas as condições forem verdadeiras

$value > 10 && $value < 20

Ou (OR)

||

Retorna verdadeiro se pelo menos uma das condições for verdadeira

$value < 10 || $value > 20

Negação (NOT)

!

Inverte o valor lógico da expressão (retorna verdadeiro se a condição for falsa)

!($value == 10)

Exemplos de utilização dos operadores lógicos em filtros:

($value > 10 && $value < 20) || $value == 30

Neste exemplo, o filtro retornaria verdadeiro para valores entre 11 e 19, ou se o valor fosse 30.

Filtros de Intervalo de Valores

Os filtros de intervalo de valores são utilizados para selecionar dados que se encontram dentro de um determinado intervalo, permitindo a análise de um subconjunto específico de dados.

Neste caso, podemos definir um filtro que abrange valores entre dois limites: um valor mínimo e um valor máximo.

Para filtrar valores entre 30 e 70, podemos utilizar operadores de comparação combinados. O filtro retornará verdadeiro para todos os valores que estão dentro desse intervalo, incluindo os limites.

Filtro para Valores Entre 30 e 70:

$value >= 30 && $value <= 70

Neste exemplo, o filtro retornará verdadeiro para qualquer valor que seja maior ou igual a 30 e menor ou igual a 70.

Os valores fora desse intervalo, como 29 ou 71, não seriam retornados pelo filtro e, portanto, não seriam exibidos no painel.

Filtros de Exclusão de Intervalo de Valores

Os filtros de exclusão de intervalo de valores são utilizados para selecionar dados que não estão dentro de um determinado intervalo. Esse tipo de filtro é útil para analisar dados que se encontram fora de um conjunto específico.

Neste caso, podemos definir um filtro que abrange valores abaixo de um limite mínimo e acima de um limite máximo.

Para filtrar valores que são menores que 30 ou maiores que 70, podemos utilizar operadores lógicos combinados. O filtro retornará verdadeiro para todos os valores que atendem a uma dessas condições.

Filtro para Valores Menores que 30 ou Maiores que 70:

$value < 30 || $value > 70

Neste exemplo, o filtro retornará verdadeiro para qualquer valor que seja menor que 30 ou maior que 70.

Os valores dentro desse intervalo, como 30, 35, 50 ou 70, não seriam retornados pelo filtro e, portanto, não seriam exibidos no painel.

Operador de Negação

Este operador combina a negação lógica com um cálculo, permitindo a modificação de um valor com base em sua condição de verdade.

Neste caso, o operador de negação pode ser utilizado na seguinte expressão:

!$value * 100

A expressão !$value * 100 é utilizada para verificar se o valor de $value é falso (ou seja, se é igual a zero).

Se $value for falso (igual a zero), o operador de negação retornará true (ou seja, 1), e o valor será multiplicado por 100.

No entanto, se $value for um número diferente de zero, o operador retornará false (ou seja, 0), resultando em zero como produto da multiplicação.

Resumindo:

  • Se $value for igual a 0, a expressão resultará em 100;

  • Se $value for diferente de 0, a expressão resultará em 0.

Esse operador é útil em contextos onde deseja atribuir um valor específico quando uma condição não for atendida, como no caso de um valor nulo ou igual a zero.

Formatadores de valores utilizando resultado de uma expressão

O resultado de uma expressão pode ser formatado diretamente na expressão (caso este resultado seja objeto de apresentação em algum recurso).

Supondo que o valor de $value seja igual a 10, existem dois formatadores possíveis para aplicar um formato ao resultado da expressão, conforme os exemplos de sintaxes:

Formatador

Exemplo

Resultado

Pipe “|”

value|%.2f ºC

10.00 ºC

Pipe “|”

${value * 1000}|%.3f kg

10.000 Kg

Função “format”

$format($value, “%.2f ºC”)

10.00 ºC

Função “format”

$format($value * 1000, “%.3f Kg”)

10.000 Kg

Atenção

Caso a configuração de formatação do próprio campo Formato seja definida ela terá preferência em relação a formatação utilizada internamente na expressão.