【Alteryx関数シリーズ】テスト関数の使い方

Alteryxで使用できる関数の「テスト関数」の使い方をご紹介します

テストカテゴリの関数は、Null値の確認や文字列かどうかの判断などデータに対する確認を行います。

 

条件式カテゴリの関数一覧

やりたいこと 関数名 概要
2つの文字列を比較 CompareDictionary(a,b) 2つの文字列を辞書順に比較します
2つの数値を比較 CompareDigits(a, b, nNumDigits) 2つの数値を比較し、指定した桁数までの有効数字が同じか判断します
2つの数値を比較 CompareEpsilon(a, b, epsilon) 2つの数値の浮動小数点数を比較します
Nullまたは空白かテスト IsEmpty(v) v がNullまたは空白であるかテストします
Nullかテスト IsNull(v) v がNullかテストします
整数に変換できる値があるかテスト IsInteger(v) 整数に変換できる値があるかテストします
数値かテスト IsNumber(v) v が数値かテストします
空間オブジェクトかテスト IsSpatialObj(v) v が空間オブジェクトかテストします
文字列かテスト IsString(v) v が文字列かテストします

 

各関数の使い方とサンプル

CompareDictionary ・・・ 2つの文字列を辞書順に比較します

CompareDictionary(a, b)

文字列 a と b を辞書順に比較します。順番が a < b の場合は「-1」、a = bの場合は「0」、a > b の場合は「1」を返します。

Sample

 

 

CompareDigits ・・・ 2つの数値を比較し、指定した桁数までの有効数字が同じか判断します

CompareDigits(a, b, nNumDigits)

数値 a、b を比較し、nNumDigits で指定した桁までの有効数字が同じ場合は -1(True) 、同じではない場合は 0(False) を返します。戻り値はBool型となります。

例えば、1.7 == 1.7を1.7e50 == 1.7e50と比較する場合など、整数以外の2つの数値を比較する場合に使用できる関数です。

 

Sample

注意

NumDigits 引数は、 1 から 19 の間で必ず指定してください。整数以外を指定した場合は、最も近い整数に四捨五入されます。 (NumDigits 引数は0.5~19.499 までの入力が可能です。)

 

CompareEpsilon ・・・ 2つの数値の浮動小数点数を比較します

CompareEpsilon(a, b, epsilon)

数値 a、b の浮動小数点数を比較し、その差が epsilon で設定した数値内にある場合は -1 (True)、ない場合は 0 False)を返します。戻り値はBool型となります。

 

Sample

 

IsEmpty ・・・ 値がNullまたは空白であるかテストします

IsEmpty(v)

指定した文字列 v が空白または Null である場合は -1(True)、それ以外の場合は 0False) の値を返します。戻り値はBool型となります。

 

Sample

IsNull ・・・ 値がNullかテストします

IsNull(v)

指定した文字列 v が Null である場合は -1(True)、それ以外の場合は 0 False)の値を返します。戻り値はBool型となります。

 

Sample

 

IsInteger ・・・ 整数に変換できる値があるかテストします

IsInteger(v)

指定した文字列 v に整数に変換できる値がある場合は -1(True)、それ以外の場合は 0 False)の値を返します。v として null を指定した場合、0 が返ります。戻り値はBool型となります。

指定した v 列が文字列の場合も、整数に変換できる文字である場合は -1 (True) が返ります。

 

Sample

※元が文字列の場合に、数値であるかどうかの検証に利用可能です(ただし、数値以外の「.」(ドット)などは小数点として判断されず、あくまで0~9に合致するか、ということになりますので、ご注意ください)

 

IsNumber ・・・ 値が数値かテストします

IsNumber(v)

指定した値 v が数値型の場合は -1(True)、それ以外の場合は 0 False)の値を返します。戻り値はBool型となります。

注意点として、値自体が数値でもデータ型が文字列型であれば文字列型として判定されるため、実質としてはフィールドの型自体の判定になっています。

 

Sample

上の例では、v2の値は数値ですが、文字列型のため、数値ではないとして判断されています。

 

IsSpatialObj ・・・ 値が空間オブジェクトかテストします

IsSpatialObj(v)

指定した列が空間オブジェクトの場合は -1(True)、それ以外の場合は 0 False)の値を返します。戻り値はBool型となります。

 

Sample

 

IsString ・・・ 値が文字列かテストします

IsString(v)

指定した列が文字列の場合は -1(True)、それ以外の場合は 0 False)の値を返します。戻り値はBool型となります。

注意点として、値自体が数値でもデータ型が文字列型であれば文字列型として判定されるため、実質としてはフィールドの型自体の判定になっています。

 

Sample

上の例のように、文字列型であるv1、v2のフィールドは文字列型として判定されています(v2の値自体は数値にも関わらず)。

 

サンプルワークフロー ダウンロード

FormulaFunction_Conditions 

※Alteryx Designer 2019.1.6.58192時点の情報です

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は4週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事