AlteryxのFormula式における数学関数いろいろ

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、小澤です。

みなさん、AlteryxのFormulaツールやFilterツールは使ってますか? これらは、多くのツールが存在するAlteryxの中でも比較的利用頻度の高いツールだと思われます。

これらのツールではFormula式を使って処理内容を記述します。 Formula式はワークフローの作成方法と同様、同じことを実現するにしても複数の書き方が考えられます。

今回は、その中から数学的な計算を行う関数について書いていきます。

どんな関数を紹介するの?

今回は、Mathにある関数たちを紹介していきます。

数が多いので、画像中にはぜんぜんおさまりきってないです。 紹介する関数は

  • ABS
  • Mod
  • POW
  • SQRT
  • EXP
  • LOG
  • LOG10
  • SIN
  • COS
  • TAN
  • ASIN
  • ACOS
  • ATAN
  • ATAN2
  • SINH
  • COSH
  • TANH
  • CEIL
  • FLOOR
  • Round
  • SmartRound
  • RAND
  • RandInt
  • PI
  • Average
  • Median

となります。

ほとんどの関数は、馴染みがある人であれば名前を見れば何をするかわかりそうですね。 各関数の使い方をみていきます...といってもほとんどは関数名そのまんまなので、さらっと紹介していきましょう。 なお、数学的な解説については行いません。

関数紹介

では、どんどん紹介していきます。

ABS

ABS関数は、絶対値を求める関数です。

ABS([x])

Mod

Mod関数は割り算の余りを求める関数です。

Mod([x], [y])

結果は以下のようになります。

POW

POW関数はべき乗を求める関数です。

POW([x], [y])

SQRT

SQRT関数は平方根を求める関数です。

SQRT([x])

結果は以下のようになります。

負の値に対する計算は行えません。

EXP

EXP関数はネイピア数eのx乗を求める関数です。

EXP([x])

結果は以下のようになります。

LOG/LOG10

LOG関数は自然対数(底をeとする対数)の値を求める関数、LOG10関数は常用対数(底を10とする対数)の値を求める関数です。

LOG([x])

結果は以下のようになります。

先ほどのEXP関数の結果を引数として与えることで、元の値に戻っているのが確認できます。

なお、あまり使うことはないかもしれませんがAlteryxの関数には任意の値を底とする対数を計算する関数はありません。 必要な場合は底の変換を行なってLOG関数やLOG10関数を使ってください。

PI

PI関数はこれまでのものとは異なり、引数がありません。 これは、定数として円周率πを返すような関数です。

[x] * PI()

このような形式でFormula式を記述すると以下のような結果が得られます。

SIN/COS/TAN

SIN関数は三角関数sinの値を求める関数です。 引数は度数法ではなく弧度法での値を指定します。

SIN([theta])
COS([theta])
TAN([theta])

先ほどのPI関数の結果を入力として与えるとそれぞれ以下のような結果を返します。

TAN関数出力でe+15やe+16といった大きな値が出ていきてますが、無限大相当だと思ってください。

ASIN/ACOS/ATAN/ATAN2

つづいてのこれらは三角関数の逆関数です。

ASIN([x])
ACOS([x])
ATAN([x])

ATAN2関数は2つの引数x, yを与えてx/yで計算する関数です。

ATAN2([x], [y])

SINH/COSH/TANH

三角関数シリーズの最後を飾るのは双曲線関数です。 使い方は、他と一緒です。

SINH([x])
COSH([x])
TANH([x])

CEIL/FLOOR/Round/SmartRound

これらは数値を丸めるための関数です。

CEILは切り上げ、FLOORは切り捨て、Roundは四捨五入です。

CEIL([x])
FLOOR([x])
Round([x], 1)

結果は以下のようになります。

Round関数は第2引数として桁数を指定します。 0.1であれば小数点以下1桁、0.01であれば2桁...のように指定します。 同様に10や100を指定することも可能です。

Round([x], 0.1)
Round([x], 10)

SmartRound関数は桁数を良きに計らってくれるRound関数です。

SmartRound([x])

行ごとに有効桁数が異なっている点にはご注意ください。

RAND/RandInt

これらは乱数を生成する関数です。

RAND関数は0-1の間の乱数を返します。

RAND()

RandInt関数は0から引数で指定した値までの整数の乱数を返します。

RandInt(10)

それぞれの結果は以下のようになります。

この結果は実行するたびに異なりますのでご注意ください。

Average/Median

さて最後はこれらの関数です。 これらは、任意の数の複数個の数値を引数として与えてその平均値、中央値を求めます。

Average([x1], [x2], [x3], [x4], [x5])
Median([x1], [x2], [x3], [x4], [x5])

結果は以下のようになります。

おわりに

今回は、AlteryxのFormula式における数学系の関数について書きました。

いろんなシーンで利用するものやら、特定の場面ではよくつかうものやら色々あります。 どこで使えるかわかってないと利用しないような関数も多いですが、自力で計算する処理を実装するのはなかなか難しいものが多いので覚えておくといいかと思います。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400