【Alteryx関数シリーズ】変換関数の使い方

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

 

変換カテゴリの関数は、2進、16進、10進の相互変換や、文字コードの変換、文字型・数値型の変換ができる関数で構成されています。

変換カテゴリの関数一覧

やりたいこと 関数 概要 対応するExcel関数
10進数を2進数に変換 IntToBin(x) 10進数の整数 x を2進数の整数に変換します DEC2BIN(x)
10進数を16進数に変換 IntToHex(x) 10進数の整数 x を16進数の整数に変換します DEC1HEX(x)
2進数を10進数に変換 BinToInt(x) 2進数の数値 x を10進数の整数に変換します(53ビットに制限されています) BIN2DEC(x)
16進数を10進数に変換 HexToNumber(x) 16進数の数値 x を10進数の整数に変換します HEX2DEC(x)
文字コードを文字に変換 CharFromInt(x) 文字コード(数値)x を文字に変換します CHAR(x)
UNICHAR(x)
文字を文字コードに変換 CharToInt(s) 文字 s を文字コード(数値)に変換します CODE(s)
UNICODE(s)
文字コードの変換 ConvertFromCodePage(s, codePage) 文字コードの変換を行います -
文字コードの変換 ConvertToCodePage(s, codePage) 文字コードの変換を行います -
文字列を数値に変換 ToNumber(s) 文字列 s を数値に変換します VALUE(s)
数値を文字列に変換 ToString(x) 数値 x を文字列に変換します TEXT(x)

 

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

BinToInt / HexToNumber ・・・ 10進数の整数への変換を行います

BinToInt(x)

2進数 x (文字型)を10進数の整数へ変換します。x が数値型の場合はエラーになるので、あらかじめセレクト(選択)ツール等で文字型に変換してから変換を行います。変換できない文字列には0の値が返ります。

下の例の 1 レコード目では、2進数の数値 10 が 10進数に変換されて、 2 の値が返っています。

下の例の 3 レコード目では、2進数ではない文字列「ABC」に 0 の値が返っています。

 

Sample

 

HexToNumber(x)

16進数 x(文字型) を10進数の整数へ変換します。変換できない文字列には0の値が返ります。

下の例の 1 レコード目では、16進数の文字列 F が 10進数に変換されて、 15の値が返っています。

下の例の 3 レコード目では、16進数ではない文字列「ZZZ」に 0 の値が返っています。

 

Sample

 

IntToBin / IntToHex ・・・ 2進数、16進数への変換を行います

IntToBin(x)

IntToBin(x) は、10進数の数値 x を2進数へ変換します。下の例の 1 レコード目では、10進数「10」が 2 進数「1010」に変換されています。

 

Sample

IntToHex(x)

IntToHex(x) は、10進数の数値 x を16進数へ変換します。

下の例の1レコード目では、10進数「10」が 16進数「A」に変換されています。

 

Sample

 

CharFromInt ・・・ 文字を文字コードに変換します

CharFromInt(x) 

指定した文字コード(UNICODE)を文字に変換します。

 

Sample

 

CharToInt(x) ・・・ 文字を文字コードに変換します

CharToInt(x) 

文字x を文字コード(UNICODE)に変換します。複数の文字を含む文字列を指定した場合は、1文字目のみが文字コードに変換されます。

 

Sample

 

ConvertFromCodePage / ConvertToCodePage ・・・ 文字列の文字コードを変換します

ConvertFromCodePage(s, codePage) 

文字列 s を指定した文字コードに変換します。文字化けした列を直す時などに使用します。データの入力の際によく使われます。

出力する新規の列のデータ型は、必ずV_WString または WString 型に設定する必要があります(V_String、String型はマルチバイト文字を格納できないため文字化けします)。

下の例では、文字コード「932」(日本語 Shift JIS)で変換をかけて文字化けを直しています(読み込み時に、日本語Shift-JISのデータを文字コードLatin-1で読み込んだ場合などにこのような処理を行うことで文字化けが解消されます)。

 

Sample

主なコードは以下の通りです。

表示名 コードページ 補足
UTF-8 65001
日本語(JIS) 50220
日本語(シフトJIS) 932 日本語Windowsで使われている形式
日本語 (EUC) 51932 UNIX系OSで使われている形式
US-ASCII 20127

※AlteryxはUTF-8やShift-JISであれば変換なしに読み込みができますが(正しく設定する必要はありますが)、EUCはConvertFromCodePage関数で変換をしなければ読み込みできません

※UTF-8で書き出したCSVファイルはExcelで読み込むと文字化けします

 

ConvertToCodePage(s, codePage) 

文字列 s を指定した文字コードに変換します。文字化けした列を直す時などに使用します。ConvertToCodePage と逆の動きとなります。データ出力の際に使われます。

出力する新規の列のデータ型は、必ずV_WString または WString 型に設定します。下の例では、上記の ConvertToCodePage の結果をインプットとして、元の文字列に戻ることを確認しています。

 

Sample

 

 

ToNumber / ToString ・・・ 文字型、数値型を変換します

ToNumber(s) 

文字列 s を数値列として変換します。変換できない文字列には0を返します。

下の例では、文字列 s1 と s2 を数値に変換し、数値として足し算しています。なお、数値に変換できない文字列には 0 の値が返ります。

 

Sample

ToNumber 関数には、オプションとして引数を設定できます。

ToNumber(s, 引数2, 引数3, "引数4" ) 

引数 2 では、変換エラーを出すか出さないか設定します。0 を設定した場合は変換エラーあり、1 を設定した場合は変換エラーなしに設定されます。

引数 3 では、文字列 s が数値型に変換できない場合、0とNull どちらを返すか設定します。0 を設定した場合は 0 の値を、1 を設定した場合はNullを返します。

引数 4 では、整数と小数点の区切り文字として「.」(ピリオド)または「,」(カンマ)を指定します。2つの記号が入り混じった文字列の場合は、指定していない区切り文字の手前の数までを数値型に変換して返します。

 

Sample

 

 

ToString(x) 

数値列 x を文字列として変換します。

下の例では、数値 x1 と x2 を文字列に変換し、「+」で文字列同士として連結することができました。

 

Sample

ToString 関数には、オプションとして引数を設定できます。

ToString(x, 引数2, 引数3) 

引数 2 では、小数点以下何桁までを値として返すか設定します。

引数 3 では、3桁ごとの区切りとして「,」(カンマ)を挿入するか設定します。0 を設定した場合は「,」なし、1 を設定した場合は「,」ありの値を返します。

 

Sample

 

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

Formula_function_convert 

 

※Alteryx Designer 2019.1.6.58192時点の情報です

Alteryxの導入はぜひKCMEで!

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

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

おすすめの記事