Sas: 数字を先行ゼロ付きの文字に変換します


SAS では、次の基本構文を使用して、数値変数を先頭に特定の数のゼロが付いた文字変数に変換できます。

 data new_data;
    set original_data;
    employee_ID = put (employee_ID, z10. );
    employee_ID format z10. ;
run ;

この特定の例では、 Employee_IDという数値変数を、 Employee_ID の長さが 10 になるように、先頭に十分なゼロを付けた文字変数に変換します。

次の例は、この構文を実際に使用する方法を示しています。

例: SAS で数字を先頭にゼロのある文字に変換する

SAS に、会社のさまざまな従業員による総売上高を示す次のデータセットがあるとします。

 /*create dataset*/
data original_data;
    input employee_ID sales;
    datalines ;
4456 12
4330 18
2488 19
2504 11
2609 33
2614 30
2775 23
2849 14
;

/*view dataset*/
proc print data = original_data;

ここで、列内の各値の長さが 10 になるように、 Employee_IDという変数を、先行ゼロが十分にある文字変数に変換するとします。

これを行うには、次の構文を使用できます。

 /*create new dataset with employee_ID as character with leading zeros*/
data new_data;
    set original_data;
    employee_ID = put (employee_ID, z10. );
    employee_ID format z10. ;
run ;

/*view new dataset*/
proc print data =new_data;

新しいデータセットのemployee_ID変数には、各値の長さが10になるように十分な数の先行ゼロが含まれていることがわかります。

異なる数の先行ゼロを追加するには、z10 を別の値に置き換えます。

たとえば、z15 を使用して、 Employee_ID列の各値の長さが 15 になるように、先頭に十分なゼロを追加できます。

 /*create new dataset with employee_ID as character with leading zeros*/
data new_data;
    set original_data;
    employee_ID = put (employee_ID, z15. );
    format employee_ID z15. ;
run ;

/*view new dataset*/
proc print data =new_data; 

Employee_ID列の各値の長さは 15 になりました。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS: 変数の名前を変更する方法
SAS: 数値変数を日付に変換する方法
SAS: 文字変数を数値に変換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です