一部の列で$を持つSASデータセットがあります。だから、67,349を読むのではなく、$ 67,349を読みます。すべての列からすべての$を削除し、SASにそれらを数値として認識させるにはどうすればよいですか?SASのドル記号を削除する列
ドル記号が付いた列はほんの少ししかないので、一度に1つずつ各列を実行できます。 SASの無料大学版を使用しています。
一部の列で$を持つSASデータセットがあります。だから、67,349を読むのではなく、$ 67,349を読みます。すべての列からすべての$を削除し、SASにそれらを数値として認識させるにはどうすればよいですか?SASのドル記号を削除する列
ドル記号が付いた列はほんの少ししかないので、一度に1つずつ各列を実行できます。 SASの無料大学版を使用しています。
$を削除して文字変数を残したい場合は、compress()
関数を使用します。
data want;
set have;
myvar = compress(myvar,'$');
run;
文字列を新しい数値変数に変換する場合は、この既存の質問を参照してください。 COMMA.
informatは、文字列内の$
と,
文字を自動的に無視します。 Converting character variabls to numeric in SAS
私は$と、、値を文字列変数から削除します。次に、入力関数を使用して数値に変換します。
data test;
format incol $12.;
incol = "$62,123";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
incol = "62,123.3";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
run;
TRANSLATE()
は、$と置き換えられます。 COMPRESS()
はすべての空白を削除します。 INPUT()
は、文字列を数値に変換します。
もちろん、あなたはすべてのコールを1コールに入れることができますが、私はここを壊してフォローしやすくします。
なぜdollar.
インフォーマットを使用しないのですか?
data want ; incol ="$62,123" ; outcol = input(incol,dollar10.) ; run ;
に行を追加していましたが、これは受け入れられる回答である必要があります。 –
すでにSASデータセットがありますか?または、ソースファイルからSASデータセットを作成していますか? – Tom
私はそのデータセットに既存のデータセットを持っていますが、2つの列にドル記号が含まれています。 – user18101