IBM SPSS Modeler(Clementine):for ... endfor 使い方 3 [データサイエンス、統計モデル]
~使い方 3~
フィールドの変数を変更したり、削除するためには、CLEM式にある関数をそのまま使えます。
書き方としては、var_nameという変数を用意してあげて、いったんここに処理後の値を入れ、それを代入するというやり方が良いかと思います。
----- フィールドの変数名を大文字に変更する -----
for f in_fields_to Filter_c
set var_name1 = lowertoupper(^f)
set Filter_c.new_name.^f = ^var_name1
endfor
------------------------------------------------
----- フィールドの変数名を小文字に変更する -----
for f in_fields_to Filter_c
set var_name2 = uppertolower(^f)
set Filter_c.new_name.^f = ^var_name2
endfor
------------------------------------------------
----- フィールドの変数名を○個削除する -----
for f in_fields_to Filter_c
set var_name3 = allbutlast(2, ^f)
set Filter_c.new_name.^f = ^var_name3
endfor
------------------------------------------------
この例では2個削除しています。
では、一番最初に戻り、やりたかったことを。
# フィルターノードの中身を変更する
for f in_fields_to Filter_d
set var_name4 = allbutlast(13, ^f)
set Filter_d.new_name.^f = ^var_name4
endfor
↑
このスクリプトを実行すれば、
となります。
これで、長々と増えてしまった変数名もすっきりしますね。
for パラメータ in_fields_to ノードの名前
ここに式を書く
endfor
フィールドの変数を変更したり、削除するためには、CLEM式にある関数をそのまま使えます。
書き方としては、var_nameという変数を用意してあげて、いったんここに処理後の値を入れ、それを代入するというやり方が良いかと思います。
----- フィールドの変数名を大文字に変更する -----
for f in_fields_to Filter_c
set var_name1 = lowertoupper(^f)
set Filter_c.new_name.^f = ^var_name1
endfor
------------------------------------------------
----- フィールドの変数名を小文字に変更する -----
for f in_fields_to Filter_c
set var_name2 = uppertolower(^f)
set Filter_c.new_name.^f = ^var_name2
endfor
------------------------------------------------
----- フィールドの変数名を○個削除する -----
for f in_fields_to Filter_c
set var_name3 = allbutlast(2, ^f)
set Filter_c.new_name.^f = ^var_name3
endfor
------------------------------------------------
この例では2個削除しています。
では、一番最初に戻り、やりたかったことを。
# フィルターノードの中身を変更する
for f in_fields_to Filter_d
set var_name4 = allbutlast(13, ^f)
set Filter_d.new_name.^f = ^var_name4
endfor
↑
このスクリプトを実行すれば、
となります。
これで、長々と増えてしまった変数名もすっきりしますね。