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 fa-download
※Alteryx Designer 2019.1.6.58192時点の情報です