文字変数値の一部を抽出する方法について
[OS] ALL
[リリース] 8.2
[キーワード] SAS 8, KSCAN, SCAN
[質問]下記のようなデータ変換を行なうには、どのようにすればよいでしょうか。 元のデータの内容: 男性(20才) 男性(30才) 女性(20才) 男性(40才) 変換後のデータの内容: 男性 男性 女性 男性 [回答]いくつかの方法が考えられますが、SCAN関数を利用し、「(」の前までの文字列を抽出する方法をご紹介します。SCAN関数は区切り文字で値を区切り、N番目の語を抽出します。また、2バイト文字を使用するには、KSCAN関数を使用します。次のようなプログラムでデータの抽出が可能です。 DATA test; INPUT dat $20.; CARDS; 男性(20才) 男性(30才) 女性(20才) 男性(40才) ; RUN; DATA results; SET test; /* 全角'('で値を区切り、1番目の語を抽出 */ dat=KSCAN(dat,1,'('); PUT dat=; RUN; |