Sas: 文字変数の長さを変更する方法


SAS で文字変数の長さを変更する最も簡単な方法は、 PROC SQLALTER TABLE ステートメントMODIFYステートメントを使用することです。

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

 proc sql ;
    alter table my_data
    modify team char( 4 );
quit ;

この特定の例では、 my_dataというデータ セット内のteamという文字変数の長さを4に変更します。

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

例: SAS での文字変数長の変更

SAS に、さまざまなバスケットボール チームに関する情報を含む次のデータセットがあるとします。

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 24
Heat 15
Cavs 26
Heat 14
Mavs 36
Mavs 19
Nets 20
Nets 31
;
run ;

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

PROC CONTENTS を使用して、データセット内の各変数の長さを表示できます。

 /*view length of each variable in dataset*/
proc contents data =my_data;

結果の最後の表は、各変数の長さを示しています。

この表から次のことがわかります。

  • Points変数は、長さ 8 の数値変数です。
  • チーム変数は、長さ 8 の文字変数です。

チーム変数の長さを 4 に変更するとします。

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

 /*change length of team variable to 4*/
proc sql ;
    alter table my_data
    modify team char( 4 );
quit ;

PROC CONTENTS を再度使用して、データセット内の各変数の長さを表示することで、これらを使用できます。

 /*view updated length of each variable in dataset*/
proc contents data =my_data;

結果の最後の表は、各変数の長さを示しています。

チーム変数の長さが 4 になっていることがわかります。

最長のチーム名の長さが 4 であるため、チーム列の値はいずれも切り捨てられないことに注意してください。

ただし、たとえばチーム変数の長さを 3 に変更すると、一部のチーム名の最後の文字が切り捨てられます。

この方法を使用すると、切り捨ての場合に警告メッセージが表示されません。したがって、この方法を使用する前に、文字列の文字列の最大長を確認してください。

追加リソース

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

SAS で文字列から数値を抽出する方法
SAS で SUBSTR 関数を使用する方法
SAS の文字列から特殊文字を削除する方法

コメントを追加する

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