NRQL admite el uso de operadores matemáticos básicos y avanzados dentro de una cláusula SELECT
. Puede aplicar cálculos matemáticos tanto en atributos individuales como también en los resultados de funciones agregadas.
Utilice operadores matemáticos básicos con SELECT
Para utilizar funciones matemáticas básicas en NRQL, incluya operadores dentro de la cláusula SELECT
:
- Suma:
+
- Sustracción:
-
- Multiplicación:
*
- División:
/
Aquí hay unos ejemplos:
SELECT duration-databaseDuration FROM Transaction
SELECT count(*)/uniqueCount(session) FROM PageView
SELECT average(duration-databaseDuration) FROM Transaction
Utilice operadores matemáticos avanzados con SELECT
NRQL también incluye algunas funciones matemáticas avanzadas que pueden usarse para cálculos complejos. Esto es útil si desea procesar datos para mostrarlos de manera más efectiva en la UI o realizar cálculos sobre los resultados de la consulta en un solo paso.
abs
abs(n)
devuelve el valor absoluto de n. Para n no negativo devuelve n y para n negativo devuelve el número positivo -n. Por ejemplo abs(2) = 2
y abs(-4) = 4
.
clamp_max
, clamp_min
Las funciones de sujeción imponen un límite superior o inferior a los valores. Por ejemplo, clamp_max(duration, 10)
devuelve la duración, a menos que supere 10, en cuyo caso se devuelve 10. De manera similar clamp_min(duration, 1)
no devolverá ningún valor inferior a 1.
La siguiente consulta y gráfico de ejemplo muestran el resultado de fijar tanto el mínimo como el máximo para mantener el valor en el rango 96-98.
FROM SystemSample SELECT average(cpuPercent) AS 'raw',clamp_min(clamp_max(average(cpuPercent), 98), 96) AS 'clamped'TIMESERIES
Gráfico de muestra que muestra datos sin procesar con la función de sujeción aplicada.
exp
Calcular la función exponencial natural del argumento: exp(n) = pow(e, n)
.
Funciones logarítmicas: ln
, log
, log2
, log10
Estas funciones calculan el logaritmo del argumento para varias bases.
ln(n)
calcular el logaritmo natural: el logaritmo en base e.log2(n)
calcular el logaritmo en base 2.log10(n)
calcular el logaritmo en base 10.log(n, b)
permite calcular logaritmos con una base arbitraria b.- Todos los logaritmos satisfacen la identidad:
log(pow(b, n), b) = n
.
Tenga en cuenta que log(0)
no está definido para todas las bases. Tenga en cuenta que si toma el logaritmo de algo que podría ser cero, puede terminar obteniendo no value
de su consulta.
pow
pow(n, m)
calcular n elevado a la potencia m. Por ejemplo, n * n * ... * n
, con m copias de n.
Funciones de redondeo: round
, floor
, ceil
Estas tres funciones fuerzan los números decimales a uno de los números enteros vecinos.
floor(n)
devuelve el número entero más cercano menor o igual a n.ceil(n)
(abreviatura de "techo") devuelve el número entero más cercano mayor o igual a n.round(n)
devuelve el número entero más cercano a n en cualquier dirección.
Gráfico de muestra que muestra datos sin procesar, con funciones de piso, redondo y techo aplicadas.
sqrt
sqrt(n)
devuelve la raíz cuadrada de n, es decir, el número tal que sqrt(n) * sqrt(n) = n
.
Resultados con STRING o flotante
Así es como NRQL maneja las cadenas presentes en los cálculos matemáticos:
Ejemplos:
sum(1+STRING)
= 0sum(1+MIXED)
= omite registros dondeMIXED
es una cadenaaverage(1+STRING)
= 0average(1+MIXED)
= omite registros dondeMIXED
es una cadena
NULL y cero aparecen como 0 en el dashboard. Para anular valores NULL con otro valor numérico, use la sintaxis:
SELECT average(purchasePrice OR 0)
Esto reemplazará los valores NULL con 0 o cualquier número especificado.
Sugerencia
También puedes usar esto si algo devuelve NULL o cero. (zero) OR 1
devuelve 0 y (NULL) OR 1
devuelve 1.