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.