O NRQL oferece suporte ao uso de operadores matemáticos básicos e avançados em uma cláusula SELECT
. Você pode aplicar cálculos matemáticos tanto em atributos individuais quanto nos resultados de funções agregadoras.
Use operadores matemáticos básicos com SELECT
Para usar funções matemáticas básicas em NRQL, inclua operadores na cláusula SELECT
:
- Adição:
+
- Subtração:
-
- Multiplicação:
*
- Divisão:
/
Aqui estão alguns exemplos:
SELECT duration-databaseDuration FROM Transaction
SELECT count(*)/uniqueCount(session) FROM PageView
SELECT average(duration-databaseDuration) FROM Transaction
Use operadores matemáticos avançados com SELECT
O NRQL também inclui algumas funções matemáticas avançadas que podem ser usadas para cálculos complexos. Isto é útil se você deseja processar dados para exibi-los de forma mais eficaz na interface ou fazer cálculos sobre os resultados da consulta em uma única etapa.
abs
abs(n)
retorna o valor absoluto de n. Para n não negativo retorna n, e para n negativo retorna o número positivo -n. Por exemplo abs(2) = 2
e abs(-4) = 4
.
clamp_max
, clamp_min
As funções de fixação impõem um limite superior ou inferior aos valores. Por exemplo, clamp_max(duration, 10)
retorna a duração, a menos que exceda 10, caso em que 10 é retornado. Da mesma forma clamp_min(duration, 1)
não retornará nenhum valor inferior a 1.
O exemplo de consulta e gráfico a seguir mostra o resultado da fixação de mínimo e máximo para manter o valor no intervalo 96-98.
FROM SystemSample SELECT average(cpuPercent) AS 'raw',clamp_min(clamp_max(average(cpuPercent), 98), 96) AS 'clamped'TIMESERIES
Exemplo de gráfico mostrando dados brutos com função de fixação aplicada.
exp
Calcule a função exponencial natural do argumento: exp(n) = pow(e, n)
.
Funções logarítmicas: ln
, log
, log2
, log10
Estas funções calculam o logaritmo do argumento para várias bases.
ln(n)
calcule o logaritmo natural: o logaritmo base e.log2(n)
calcule o logaritmo na base 2.log10(n)
calcule o logaritmo na base 10.log(n, b)
permite que logaritmos sejam calculados com uma base arbitrária b.- Todos os logaritmos satisfazem a identidade:
log(pow(b, n), b) = n
.
Observe que log(0)
é indefinido para todas as bases. Esteja ciente de que se você calcular o logaritmo de algo que pode ser zero, poderá acabar recebendo no value
de volta da sua consulta.
pow
pow(n, m)
computador n elevado à potência m. Por exemplo, n * n * ... * n
, com m cópias de n.
Funções de arredondamento: round
, floor
, ceil
Essas três funções forçam os números decimais para um dos inteiros vizinhos.
floor(n)
retorna o número inteiro mais próximo menor ou igual a n.ceil(n)
(abreviação de "teto") retorna o número inteiro mais próximo maior ou igual a n.round(n)
retorna o número inteiro mais próximo de n em qualquer direção.
Exemplo de gráfico mostrando dados brutos, com funções de piso, arredondamento e teto aplicadas.
sqrt
sqrt(n)
retorna a raiz quadrada de n, ou seja, o número tal que sqrt(n) * sqrt(n) = n
.
Resultados com STRING ou float
Aqui está como o NRQL lida com strings presentes em cálculos matemáticos:
Exemplos:
sum(1+STRING)
= 0sum(1+MIXED)
= pula registros ondeMIXED
é uma stringaverage(1+STRING)
= 0average(1+MIXED)
= pula registros ondeMIXED
é uma string
NULL e zero aparecem como 0 no dashboard. Para substituir valores NULL por outro valor numérico, use a sintaxe:
SELECT average(purchasePrice OR 0)
Isso substituirá os valores NULL por 0 ou qualquer número especificado.
Dica
Você também pode usar isso se algo retornar NULL ou zero. (zero) OR 1
retorna 0 e (NULL) OR 1
retorna 1.