メインコンテンツへスキップ
Xplentyでは式エディタを使用することでデータ型を変換することが可能です。しかし、型の変換方法は変換する型によって変わるため、以下を参考に活用ください。
novice-part10-jp image 1
シンプルな型変換1

1. Chararray(String)

用途:BAG型やMAP型および数値型などから文字列型への変換に使用する 式エディタでの使用例: (chararray) field名 例外ケース:変数画面でHexstring(16進文字列)を文字列型に変換するには? XplentyではSalesforceのオブジェクトにあるID列(AccountIdやOwnerId)でも使用される「0052x0000034oJqAAI」のような値を文字列として変数画面で使用した場合、Hexstring(16進文字列)として自動的に扱われます。こうした場合、Chararray関数を使用して文字列型へ変換しようとするとエラーとなってしまいます。 そこでHexstring(16進文字列)の値を文字列型で定義し、パイプラインの条件やSelectコンポーネントで使用したい場合、バックスラッシュ「‘[Hexstring文字列]‘」のように定義することで、文字列に変換が可能です。 例)文字列「0052x0000034oJqAAI」を変数で文字列型として定義する場合
'\'0052x0000034oJqAAI\''
novice-part10-jp image 2

2. Int型

文字列型の数値データを数値型に変換 式エディタでの使用例: (int) field名

3. Long型

文字列型の数値データを数値型に変換 式エディタでの使用例: (long) field名

4. Float型

文字列型の数値データを数値型に変換 式エディタでの使用例: (float) field名

5. Double型

文字列型の数値データを数値型に変換 式エディタでの使用例: (double) field名

6. 数値へ変換、数値に変換出来なかった場合はデフォルト値をセット

ParseIntOrDefault(field名,数値に変換出来なかった場合のデフォルト数値(Int型)) ParseLongOrDefault(field名,数値に変換出来なかった場合のデフォルト数値(Long型)) ParseFloatOrDefault(field名,数値に変換出来なかった場合のデフォルト数値(Float型)) ParseDoubleOrDefault(field名,数値に変換出来なかった場合のデフォルト数値(Double型)) 式エディタでの使用例: ParseIntOrDefault(‘ああああ’,1) 1(Int型)を返す >文字列が数値に変換できなかったため ParseIntOrDefault(‘300’,1) 300(Int型)を返す シンプルな型変換2

1. Map型

JSONなどのキーバリュー形式のデータを格納したデータ形式です。 以下のようなデータを取り込む際に使用されます area : { id : “130” , name : “東京” } 式エディタでの使用例: TOMAP(‘id’,‘130’,‘name’,‘東京’) 結果: {name=東京, id=130} MAP型からデータを取得するには? Field1#‘キー名称’と指定すれば、キーに対応する値が取得できます。 式エディタでの使用例: TOMAP(‘id’,‘130’,‘name’,‘東京’)#‘id’ 結果: 130

2. Tuple型

複数フィールドが配列になっている形式のデータ型です。 式エディタでの使用例: TOTUPLE(‘001,TV,Electronics’) 結果: (001,TV,Electronics)

3. Bag型

式エディタでの使用例: TOBAG(‘001’,‘TV’,‘Electronics’) 結果: {(001),(TV),(Electronics)} その他の型変換

1. BagToString

Bag型からString型に変換 式エディタの使用例:*この例では、文字列をBag型に便宜的に変換するためにJsonStringToBagを使用 BagToString(JsonStringToBag(‘[1,2,3]’),’;’) 結果:String型 1;2;3

2. BagToTuple

Bag型からTuple型に変換 式エディタの使用例: BagToTuple(JsonStringToBag(‘[1,2,3]’)) 結果:Tuple型 (1,2,3) Tuple型の配列の一部の値を取得するには? 式エディタの使用例: BagToTuple(JsonStringToBag(‘[1,2,3]’)).$0 結果: 1

3. MapToBug

Map型からBug型に変換 式エディタの使用例: MapToBag(TOMAP(‘a’,1,‘b’,2,‘c’,3)) 結果:Bag型 {([value#1,key#a]),([value#2,key#b]),([value#3,key#c])} 参考:Xplentyで扱えるデータ型について 使用できる型はこちら *2020年8月16日現在、XplentyではDate型がありません。
novice-part10-jp image 3
より実践的なデータ処理

1. BAG型のフィールド

Flatten関数を使用する。 式)Flatten(BAG型のフィールド バッグ型のフィールドがもつデータ数にもとづきレコードが分かれます。 例えば以下のようなデータをもつBAG型のフィールドの場合、1レコードが2つのレコードに分かれます。 { [{"id":"001","price":"200"}], [{"id":"002","price":"500"}] } 結果: {“id”:“001”,“price”:“200”} {“id”:“002”,“price”:“500”}

2. BAG形式の文字列を持つフィールドの処理

すでに処理対象のフィールドのデータ型がBAG型の場合はこの処理は不要ですが、String型の場合には以下の処理が必要となります。 フィールド「test」の値: [{"id":"001","price":"200"}] String型のJSON文字列をBAG型へ変換 「test2」フィールド: 式)JsonStringToBag(test) 結果値:{({"id":"001","price":"200"})} これでフィールドをFlatten関数で処理することで、以下の様なJSON文字列になります。 「test3」フィールド: 式)Flatten(test2) {"id":"001","price":"200"} あとはJsonStringToMap関数を使って、testフィールドの値の各キーを取得できます。 JsonStringToMap(test3)#‘id’ —> 001 JsonStringToMap(test3)#‘price’ —> 200
最終更新日 2026年7月13日