NRQL prend en charge l'utilisation d'opérateurs mathématiques de base et avancés dans une clause SELECT
. Vous pouvez appliquer des calculs mathématiques à la fois sur des attributs individuels et également sur les résultats des fonctions d'agrégation.
Utilisez les opérateurs mathématiques de base avec SELECT
Pour utiliser les fonctions mathématiques de base dans NRQL, incluez des opérateurs dans la clause SELECT
:
- Ajout:
+
- Soustraction:
-
- Multiplication:
*
- Division:
/
Voici quelques exemples :
SELECT duration-databaseDuration FROM Transaction
SELECT count(*)/uniqueCount(session) FROM PageView
SELECT average(duration-databaseDuration) FROM Transaction
Utilisez des opérateurs mathématiques avancés avec SELECT
NRQL inclut également certaines fonctions mathématiques avancées qui peuvent être utilisées pour des calculs complexes. Cela est utile si vous souhaitez traiter des données pour les afficher plus efficacement dans l'interface utilisateur ou effectuer des calculs sur les résultats d'une requête en une seule étape.
abs
abs(n)
renvoie la valeur absolue de n. Pour n non négatif, il renvoie n, et pour n négatif , il renvoie le nombre positif -n. Par exemple abs(2) = 2
et abs(-4) = 4
.
clamp_max
, clamp_min
Les fonctions de serrage imposent une limite supérieure ou inférieure aux valeurs. Par exemple, clamp_max(duration, 10)
renvoie la durée, sauf si elle dépasse 10, auquel cas 10 est renvoyé. De même, clamp_min(duration, 1)
ne renverra aucune valeur inférieure à 1.
L'exemple de requête et le graphique suivants montrent le résultat du serrage du minimum et du maximum pour maintenir la valeur dans la plage 96-98.
FROM SystemSample SELECT average(cpuPercent) AS 'raw',clamp_min(clamp_max(average(cpuPercent), 98), 96) AS 'clamped'TIMESERIES

Exemple de graphique montrant des données brutes avec fonction de serrage appliquée.
exp
calculer la fonction exponentielle naturelle de l'argument : exp(n) = pow(e, n)
.
Fonctions logarithmiques : ln
, log
, log2
, log10
Ces fonctions calculent le logarithme de l'argument pour différentes bases.
ln(n)
calcule le logarithme népérien : le logarithme en base e.log2(n)
calcule le logarithme base 2.log10(n)
calcule le logarithme base 10.log(n, b)
permet de calculer des logarithmes avec une base b arbitraire.- Tous les logarithmes satisfont l'identité :
log(pow(b, n), b) = n
.
Notez que log(0)
n'est pas défini, pour toutes les bases. Sachez que si vous prenez le logarithme de quelque chose qui pourrait être nul, vous risquez d'obtenir no value
en retour de votre requête.
pow
pow(n, m)
calcule n élevé à la puissance m. Par exemple, n * n * ... * n
, avec m copies de n.
Fonctions d'arrondi : round
, floor
, ceil
Ces trois fonctions forcent les nombres décimaux à l'un des entiers voisins.
floor(n)
renvoie l'entier le plus proche inférieur ou égal à n.ceil(n)
(abréviation de « plafond ») renvoie l'entier le plus proche supérieur ou égal à n.round(n)
renvoie l'entier le plus proche de n dans les deux sens.

Exemple de graphique montrant des données brutes, avec les fonctions de plancher, d'arrondi et de plafond appliquées.
sqrt
sqrt(n)
renvoie la racine carrée de n, c'est-à-dire le nombre tel que sqrt(n) * sqrt(n) = n
.
Résultats avec STRING ou FLOAT
Voici comment NRQL gère les chaînes présentes dans les calculs mathématiques :
Exemples :
sum(1+STRING)
= 0sum(1+MIXED)
= ignore les enregistrements oùMIXED
est une chaîneaverage(1+STRING)
= 0average(1+MIXED)
= ignore les enregistrements oùMIXED
est une chaîne
NULL et zéro apparaissent tous deux comme 0 dans le dashboard. Pour remplacer les valeurs NULL par une autre valeur numérique, utilisez la syntaxe :
SELECT average(purchasePrice OR 0)
Cela remplacera les valeurs NULL par 0 ou n'importe quel nombre spécifié.
Conseil
Vous pouvez également l'utiliser si quelque chose renvoie NULL ou zéro. (zero) OR 1
renvoie 0 et (NULL) OR 1
renvoie 1.