算術関数は、ログのフィールド値に対して基本計算と数学計算を実行します。このトピックでは、利用可能な関数と数学定数をタイプ別にリストアップし、各関数の構文、パラメーター、戻り値、および例について説明します。
注意事項
このトピックのすべての算術関数には、以下の規則が適用されます:
関数ファミリー — 名前の先頭が
op_の関数は基本計算を実行します。名前の先頭がmat_の関数は数学計算を実行します。MATH_PIとMATCH_Eは、値として関数に渡す数学定数です。重複する操作 — 一部の操作は、両方の関数ファミリーで利用可能です。たとえば、
op_absとmat_fabsはどちらも絶対値を計算します。各セクションの例を比較して、各関数が返す結果を確認してください。入力タイプ — 各セクションのパラメーターテーブルには、パラメーターが受け入れる型がリストされています。ほとんどのパラメーターは、数値または数値文字列を受け入れます。
op_mulのvalue1パラメーターは、文字列、タプル、またはリストも受け入れます。角度の単位 —
mat_sin、mat_cos、およびmat_tanはラジアン単位の入力値を受け入れ、mat_acos、mat_asin、およびmat_atanはラジアン単位で結果を返します。度をラジアンに変換するには、mat_radiansを使用します。ラジアンを度に変換するには、mat_degreesを使用します。例 — 各例では、生ログ、ログに適用される変換ルール、および変換の結果を示します。
負の値を使用するには、op_neg(正の値) 関数を使用します。たとえば、-1 を表すには、op_neg(1) を使用します。
関数リスト
次の表に、算術関数と数学定数をタイプ別に示します。
タイプ | 関数 | 説明 |
基本計算 | op_sum | 入力値の合計を計算します。 |
op_abs | 入力値の絶対値を計算します。 | |
op_div_floor | 入力値に対して整数除算を実行します。 | |
op_div_true | 入力値に対して除算を実行します。 | |
op_pow | 指定されたべき乗に値を累乗します。 | |
op_mul | 入力値を乗算します。 | |
op_neg | 入力値の符号を反転させます。 | |
op_mod | 入力値に対して剰余演算を実行します。 | |
op_sub | ある入力値から別の入力値を減算します。 | |
op_round | 入力値を丸めます。 | |
数学計算 | mat_ceil | 入力値を最も近い整数に切り上げます。 |
mat_exp | 自然対数の底 e を持つ指数関数を計算します。 | |
mat_fabs | 入力値の絶対値を計算します。 | |
mat_floor | 入力値を最も近い整数に切り捨てます。 | |
mat_log | 入力値の対数を計算します。 | |
mat_log10 | 入力値の常用対数 (底 10) を計算します。 | |
mat_sqrt | 入力値の平方根を計算します。 | |
mat_degrees | ラジアンを度に変換します。 | |
mat_radians | 度をラジアンに変換します。 | |
mat_sin | ラジアン単位の入力値の正弦 (サイン) を計算します。 | |
mat_cos | ラジアン単位の入力値の余弦 (コサイン) を計算します。 | |
mat_tan | ラジアン単位の入力値の正接 (タンジェント) を計算します。 | |
mat_acos | 入力値の逆余弦 (アークコサイン) を計算します。結果はラジアン単位です。 | |
mat_asin | 入力値の逆正弦 (アークサイン) を計算します。結果はラジアン単位です。 | |
mat_atan | 入力値の逆正接 (アークタンジェント) を計算します。結果はラジアン単位です。 | |
mat_atan2 | 指定された座標の逆正接 (アークタンジェント) を計算します。 | |
mat_atanh | 入力値の逆双曲線正接を計算します。 | |
mat_hypot | 入力値のユークリッドノルムを計算します。 | |
数学定数 | MATH_PI | 円周率 π。 |
MATCH_E | 自然対数の底 e。 |
op_sum
入力値の合計を計算します。
構文
op_sum(value1, value2, ...)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値または文字列 (数値) | はい | 計算対象の値。 |
value2 | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の合計。
例
course_price フィールドと goods_price フィールドから合計価格を計算します。
生ログ
course_price: 12
goods_price: 2変換ルール
e_set("total_price", op_sum(v("course_price"), v("goods_price")))結果
course_price: 12
goods_price: 2
total_price: 14op_abs
入力値の絶対値を計算します。
構文
op_abs(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の絶対値。
例
course_price フィールドの絶対値を計算します。
生ログ
course_price: -4変換ルール
e_set("op_abs", op_abs(v("course_price")))結果
course_price: -4
op_abs: 4op_div_floor
入力値に対して整数除算を実行します。
構文
op_div_floor(value1, value2)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値または文字列 (数値) | はい | 計算対象の値。 |
value2 | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
value1 を value2 で割った商の整数部分。
例
course_price フィールドと count フィールドに基づいて単価を計算します。
生ログ
course_price: 4
count: 2変換ルール
e_set("op_div_floor", op_div_floor(v("course_price"), v("count")))結果
course_price: 4
count: 2
op_div_floor: 2op_div_true
入力値に対して除算を実行します。
この関数はデータ型を自動的に変換します。文字列または整数データを渡すことができます。
構文
op_div_true(value1, value2)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値または文字列 (数値) | はい | 計算対象の値。 |
value2 | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
value1 を value2 で割った商。
例
- 例 1: fruit_price フィールドと count フィールドに基づいて単価を計算します。
生ログ
fruit_price: 9
count: 2変換ルール
e_set("op_div_true", op_div_true(v("fruit_price"), v("count")))結果
fruit_price: 9
count: 2
op_div_true: 4.5例 2: 加速度を計算し、結果を丸めます。数式は
a = (one_speed-two_speed)/timeです。生ログ
one_speed: 9
two_speed: 2
time: 3変換ルール
e_set("a", op_round(op_div_true(op_sub(v("one_speed"), v("two_speed")), v("time")), 2))結果
one_speed: 9
two_speed: 2
time: 3
a: 2.33op_pow
指定されたべき乗に値を累乗します。
構文
op_pow(value1, value2)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値または文字列 (数値) | はい | 計算対象の値。 |
value2 | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
value1 を value2 で累乗した値。
例
course を pow で累乗した値を計算します。
生ログ
course: 100
pow: 2変換ルール
e_set("pow_course", op_pow(v("course"), v("pow")))結果
course: 100
pow: 2
pow_course: 10000op_mul
入力値を乗算します。
構文
op_mul(value1, value2)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値、文字列、タプル、リストなど | はい | 計算対象の値。 |
value2 | 数値 | はい | 計算対象の値。 |
レスポンス
- value1 と value2 が数値の場合、関数は 2 つの値の積を返します。
value1 が文字列、タプル、またはリストの場合、関数は value2 回繰り返された同じ型の値を返します。
例
- 例 1: course フィールドと price フィールドに基づいて合計価格を計算します。
生ログ
course: 10
price: 23変換ルール
e_set("total_price", op_mul(ct_int(v("course")), ct_int(v("price"))))結果
course: 10
price: 23
total_price: 230例 2: course フィールドの値を 3 倍にします。
生ログ
course: "abc"変換ルール
e_set("course", op_mul(v("course"), 3))結果
course: "abcabcabc"op_neg
入力値の符号を反転させます。
構文
op_neg(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
符号が反転した入力値。
例
- 生ログ
course: -100変換ルール
e_set("account", op_neg(v("course")))結果
course: -100
account: 100op_mod
入力値に対して剰余演算を実行します。
構文
op_mod(value1, value2)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値または文字列 (数値) | はい | 計算対象の値。 |
value2 | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
value1 を value2 で割った剰余。
例
- 生ログ
course: 4
count: 3変換ルール
e_set("op_mod", op_mod(v("course"), v("count")))結果
course: 4
count: 3
op_mod: 1op_sub
ある入力値から別の入力値を減算します。
構文
op_sub(value1, value2)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値または文字列 (数値) | はい | 計算対象の値。 |
value2 | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
value1 から value2 を引いた結果。
例
count の値から count_apple の値を引いた結果を計算します。
生ログ
count: 6
count_apple: 3変換ルール
e_set("sub_number", op_sub(v("count"),v("count_apple")))結果
count: 6
count_apple: 3
sub_number: 3op_round
入力値を丸めます。
構文
op_round(value, number)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
number | 数値 | はい | 丸めた後に保持する小数点以下の桁数。デフォルト値は 0 です。 |
レスポンス
丸められた値。
例
price フィールドの値を小数点以下第一位に丸めます。
生ログ
price: 4.56変換ルール
e_set("round_price", op_round(v("price"),1))結果
price: 4.56
round_price: 4.6mat_ceil
入力値を最も近い整数に切り上げます。
構文
mat_ceil(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
指定された値以上の最小の整数。
例
- 生ログ
price: 4.1変換ルール
e_set("mat_ceil", mat_ceil(v("price")))結果
price: 4.1
mat_ceil: 5mat_exp
自然対数の底 e を持つ指数関数を計算します。
構文
mat_exp(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
e を入力値でべき乗した値。
例
- 生ログ
number: 2変換ルール
e_set("e_x", mat_exp(v("number")))結果
number: 2
e_x: 7.38905609893065mat_fabs
入力値の絶対値を計算します。
構文
mat_fabs(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の絶対値。
例
- 生ログ
course_price: -10変換ルール
e_set("mat_fabs", mat_fabs(v("course_price")))結果
course_price: -10
mat_fabs: 10.0mat_floor
入力値を最も近い整数に切り捨てます。
構文
mat_floor(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
指定された値以下の最大の整数。
例
- 生ログ
course_price: 4.9変換ルール
e_set("mat_floor", mat_floor(v("course_price")))結果
course_price: 4.9
mat_floor: 4mat_log
入力値の対数を計算します。
構文
mat_log(value1,value2)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値または文字列 (数値) | はい | 計算対象の値。 |
value2 | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の対数。
例
- 生ログ
number1: 100
number2: 10変換ルール
e_set("mat_log", mat_log(v("number1"),v("number2")))結果
number1: 100
number2: 10
mat_log: 2.0mat_log10
入力値の常用対数 (底 10) を計算します。
構文
mat_log10(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の常用対数 (底 10)。
例
- 生ログ
number: 100変換ルール
e_set("number2", mat_log10(v("number")))結果
number: 100
number2: 2.0mat_sqrt
入力値の平方根を計算します。
構文
mat_sqrt(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の平方根。
例
- 生ログ
number1: 100変換ルール
e_set("sqrt_account", mat_sqrt(v("number1")))結果
number1: 100
sqrt_account: 10.0mat_degrees
ラジアンを度に変換します。
構文
mat_degrees(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
度単位の結果。
例
- 生ログ
num: 1変換ルール
e_set("mat_degrees", mat_degrees(v("num")))結果
num: 1
mat_degrees: 57.29577951308232mat_radians
度をラジアンに変換します。
構文
mat_radians(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
ラジアン単位の結果。
例
- 生ログ
rad: 30変換ルール
e_set("mat_radians", mat_radians(v("rad")))結果
rad: 30
mat_radians: 0.5235987755982988mat_sin
ラジアン単位の入力値の正弦 (サイン) を計算します。
構文
mat_sin(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の正弦 (サイン)。
例
- 生ログ
sin: 90変換ルール
e_set("mat_sin", mat_sin(v("sin")))結果
sin: 90
mat_sin: 0.8939966636005579mat_cos
ラジアン単位の入力値の余弦 (コサイン) を計算します。
構文
mat_cos(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の余弦 (コサイン)。
例
- 生ログ
cos: 30変換ルール
e_set("mat_cos", mat_cos(v("cos")))結果
cos: 30
mat_cos: 0.15425144988758405mat_tan
ラジアン単位の入力値の正接 (タンジェント) を計算します。
構文
mat_tan(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の正接 (タンジェント)。
例
- 生ログ
tan: 30変換ルール
e_set("mat_tan", mat_tan(v("tan")))結果
tan: 30
mat_tan: 1.6197751905438615mat_acos
入力値の逆余弦 (アークコサイン) を計算します。結果はラジアン単位です。
構文
mat_acos(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の逆余弦 (アークコサイン)、ラジアン単位。
例
- 生ログ
acos: 1変換ルール
e_set("mat_acos", mat_acos(v("acos")))結果
acos: 1
mat_acos: 0.0mat_asin
入力値の逆正弦 (アークサイン) を計算します。結果はラジアン単位です。
構文
mat_asin(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の逆正弦 (アークサイン)、ラジアン単位。
例
- 生ログ
asin: 1変換ルール
e_set("mat_asin", mat_asin(v("asin")))結果
asin: 1
mat_asin: 1.5707963267948966mat_atan
入力値の逆正接 (アークタンジェント) を計算します。結果はラジアン単位です。
構文
mat_atan(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の逆正接 (アークタンジェント)、ラジアン単位。
例
- 生ログ
atan: 1変換ルール
e_set("mat_atan", mat_atan(v("atan")))結果
atan: 1
mat_atan: 0.7853981633974483mat_atan2
指定された座標の逆正接 (アークタンジェント) を計算します。
構文
mat_atan2(x,y)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
x | 数値または文字列 (数値) | はい | x 座標。 |
y | 数値または文字列 (数値) | はい | y 座標。 |
レスポンス
指定された座標の逆正接 (アークタンジェント)。
例
- 生ログ
atan1: 1
atan2: 2変換ルール
e_set("mat_atan2", mat_atan2(v("atan1"),v("atan2")))結果
atan1: 1
atan2: 2
mat_atan2: 0.4636476090008061mat_atanh
入力値の逆双曲線正接を計算します。
構文
mat_atanh(value)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value | 数値または文字列 (数値) | はい | 計算対象の値。 |
レスポンス
入力値の逆双曲線正接。
例
- 生ログ
atanh: 0.5変換ルール
e_set("mat_atanh", mat_atanh(v("atanh")))結果
atanh: 0.5
mat_atanh: 0.5493061443340548mat_hypot
入力値のユークリッドノルムを計算します。
構文
mat_hypot(value1,value2)パラメーター
パラメーター名 | パラメーターの型 | 必須 | 説明 |
value1 | 数値または文字列 (数値) | はい | x 座標。 |
value2 | 数値または文字列 (数値) | はい | y 座標。 |
レスポンス
入力値のユークリッドノルム。
例
- 生ログ
hypot1: 1
hypot2: 2変換ルール
e_set("mat_hypot", mat_hypot(v("hypot1"),v("hypot2")))結果
hypot1: 1
hypot2: 2
mat_hypot: 2.23606797749979MATH_PI
円周率 π。
生ログ
a: 2変換ルール
e_set("result", op_sum(v("a"), MATH_PI))結果
a: 2
result: 5.141592653589793MATCH_E
自然対数の底 e。
生ログ
a: 2変換ルール
e_set("result", op_sum(v("a"), MATCH_E))結果
a: 2
result: 4.718281828459045