すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:算術関数

最終更新日:Aug 28, 2026

算術関数は、ログのフィールド値に対して基本計算と数学計算を実行します。このトピックでは、利用可能な関数と数学定数をタイプ別にリストアップし、各関数の構文、パラメーター、戻り値、および例について説明します。

注意事項

このトピックのすべての算術関数には、以下の規則が適用されます:

  • 関数ファミリー — 名前の先頭が 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: 14

op_abs

入力値の絶対値を計算します。

  • 構文

op_abs(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の絶対値。

  • 例

    course_price フィールドの絶対値を計算します。

  • 生ログ

course_price: -4
  • 変換ルール

e_set("op_abs", op_abs(v("course_price")))
  • 結果

course_price: -4
op_abs: 4

op_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: 2

op_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.33

op_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: 10000

op_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: 100

op_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: 1

op_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: 3

op_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.6

mat_ceil

入力値を最も近い整数に切り上げます。

  • 構文

mat_ceil(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    指定された値以上の最小の整数。

  • 例

    - 生ログ

price: 4.1
  • 変換ルール

e_set("mat_ceil", mat_ceil(v("price")))
  • 結果

price: 4.1
mat_ceil: 5

mat_exp

自然対数の底 e を持つ指数関数を計算します。

  • 構文

mat_exp(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    e を入力値でべき乗した値。

  • 例

    - 生ログ

number: 2
  • 変換ルール

e_set("e_x", mat_exp(v("number")))
  • 結果

number: 2
e_x: 7.38905609893065

mat_fabs

入力値の絶対値を計算します。

  • 構文

mat_fabs(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の絶対値。

  • 例

    - 生ログ

course_price: -10
  • 変換ルール

e_set("mat_fabs", mat_fabs(v("course_price")))
  • 結果

course_price: -10
mat_fabs: 10.0

mat_floor

入力値を最も近い整数に切り捨てます。

  • 構文

mat_floor(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    指定された値以下の最大の整数。

  • 例

    - 生ログ

course_price: 4.9
  • 変換ルール

e_set("mat_floor", mat_floor(v("course_price")))
  • 結果

course_price: 4.9
mat_floor: 4

mat_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.0

mat_log10

入力値の常用対数 (底 10) を計算します。

  • 構文

mat_log10(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の常用対数 (底 10)。

  • 例

    - 生ログ

number: 100
  • 変換ルール

e_set("number2", mat_log10(v("number")))
  • 結果

number: 100
number2: 2.0

mat_sqrt

入力値の平方根を計算します。

  • 構文

mat_sqrt(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の平方根。

  • 例

    - 生ログ

number1: 100
  • 変換ルール

e_set("sqrt_account", mat_sqrt(v("number1")))
  • 結果

number1: 100
sqrt_account: 10.0

mat_degrees

ラジアンを度に変換します。

  • 構文

mat_degrees(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    度単位の結果。

  • 例

    - 生ログ

num: 1
  • 変換ルール

e_set("mat_degrees", mat_degrees(v("num")))
  • 結果

num: 1
mat_degrees: 57.29577951308232

mat_radians

度をラジアンに変換します。

  • 構文

mat_radians(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    ラジアン単位の結果。

  • 例

    - 生ログ

rad: 30
  • 変換ルール

e_set("mat_radians", mat_radians(v("rad")))
  • 結果

rad: 30
mat_radians: 0.5235987755982988

mat_sin

ラジアン単位の入力値の正弦 (サイン) を計算します。

  • 構文

mat_sin(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の正弦 (サイン)。

  • 例

    - 生ログ

sin: 90
  • 変換ルール

e_set("mat_sin", mat_sin(v("sin")))
  • 結果

sin: 90
mat_sin: 0.8939966636005579

mat_cos

ラジアン単位の入力値の余弦 (コサイン) を計算します。

  • 構文

mat_cos(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の余弦 (コサイン)。

  • 例

    - 生ログ

cos: 30
  • 変換ルール

e_set("mat_cos", mat_cos(v("cos")))
  • 結果

cos: 30
mat_cos: 0.15425144988758405

mat_tan

ラジアン単位の入力値の正接 (タンジェント) を計算します。

  • 構文

mat_tan(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の正接 (タンジェント)。

  • 例

    - 生ログ

tan: 30
  • 変換ルール

e_set("mat_tan", mat_tan(v("tan")))
  • 結果

tan: 30
mat_tan: 1.6197751905438615

mat_acos

入力値の逆余弦 (アークコサイン) を計算します。結果はラジアン単位です。

  • 構文

mat_acos(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の逆余弦 (アークコサイン)、ラジアン単位。

  • 例

    - 生ログ

acos: 1
  • 変換ルール

e_set("mat_acos", mat_acos(v("acos")))
  • 結果

acos: 1
mat_acos: 0.0

mat_asin

入力値の逆正弦 (アークサイン) を計算します。結果はラジアン単位です。

  • 構文

mat_asin(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の逆正弦 (アークサイン)、ラジアン単位。

  • 例

    - 生ログ

asin: 1
  • 変換ルール

e_set("mat_asin", mat_asin(v("asin")))
  • 結果

asin: 1
mat_asin: 1.5707963267948966

mat_atan

入力値の逆正接 (アークタンジェント) を計算します。結果はラジアン単位です。

  • 構文

mat_atan(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の逆正接 (アークタンジェント)、ラジアン単位。

  • 例

    - 生ログ

atan: 1
  • 変換ルール

e_set("mat_atan", mat_atan(v("atan")))
  • 結果

atan: 1
mat_atan: 0.7853981633974483

mat_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.4636476090008061

mat_atanh

入力値の逆双曲線正接を計算します。

  • 構文

mat_atanh(value)
  • パラメーター

パラメーター名

パラメーターの型

必須

説明

value

数値または文字列 (数値)

はい

計算対象の値。

  • レスポンス

    入力値の逆双曲線正接。

  • 例

    - 生ログ

atanh: 0.5
  • 変換ルール

e_set("mat_atanh", mat_atanh(v("atanh")))
  • 結果

atanh: 0.5
mat_atanh: 0.5493061443340548

mat_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.23606797749979

MATH_PI

円周率 π。

  • 生ログ

a: 2
  • 変換ルール

e_set("result", op_sum(v("a"), MATH_PI))
  • 結果

a: 2
result: 5.141592653589793

MATCH_E

自然対数の底 e。

  • 生ログ

a: 2
  • 変換ルール

e_set("result", op_sum(v("a"), MATCH_E))
  • 結果

a: 2
result: 4.718281828459045