Sas: 文字変数の長さを変更する方法
SAS で文字変数の長さを変更する最も簡単な方法は、 PROC SQLでALTER 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 の文字列から特殊文字を削除する方法