NRQL で使える数学関数

New Relic Insights は、SELECT 文において基本的な数学関数をサポートしています。個々の属性と集約関数の結果のどちらでも、加算、減算、乗算、除算を適用できます。

NRQLにおける数学関数の動作

NRQL で基本的な数学関数を使うには、SELECT 文に以下の演算子を含めてください。

  • 加算: +
  • 減算: -
  • 乗算: *
  • 除算: /

以下、サンプルです。

SELECT duration-databaseDuration from Transaction

SELECT count(*)/uniqueCount(session) FROM PageView

SELECT average(duration-databaseDuration) FROM Transaction

文字列の使用

NRQL は以下のように数学関数内で文字列を扱います。

結果
appName/5 文字列である属性に対する計算結果は、NULL 値になります。
average(appName) 集計関数に文字列の属性を使った場合は、0 を返します。
average(mixedAttr) 属性のデータが複数種類ある場合は、FLOAT 値のみ計算対象とします。

例:

  • sum(1+STRING) = 0
  • sum(1+MIXED) = MIXED が文字列であるイベントはスキップします
  • average(1+STRING) = 0
  • average(1+MIXED) = MIXED が文字列であるイベントはスキップします

NULL とゼロは、両方ともダッシュボードでは0と表示されます。

NULL 値を別の数値で上書きするには、以下の構文を使用してください。

SELECT average(purchasePrice OR 0)

これはゼロまたは指定された数値にNULL値を置き換えます。

ヒント: これはある処理が NULL またはゼロを返すかどうかをテストするのに使えます。(zero) OR 1 は 0 を返す。(NULL) OR 1は1を返す。