前のページ|次のページ

LENGTHステートメント

変数の保存時に使用するバイト数を指定します。

該当要素: DATAステップ
カテゴリ: 情報
種類: 宣言
参照項目: XisError: No pubcode in link data found for hostwinXisError: No pubcode in link data found for hostunx、およびXisError: No pubcode in link data found for hosto390のLENGTHステートメント
注意:
小数を含む数値変数の長さは短くしないでください。
変数に小数が含まれる場合、数値変数の有効桁数はその数値変数の長さに密接に関連します。整数を含む変数の長さは、各動作環境向けのSASドキュメント内のルールに従って短くすることができます。ただし、小数を含む変数の長さを短くすると、重要な有効桁数が削除される場合があります。

構文

引数

variable-specification

この引数は必須です。次の形式を使用します。

variable(s)<$>length

variable

長さを割り当てる1つまたは複数の変数を指定します。この引数には、出力データセットから除外される変数を含めて、DATAステップ内にあるどの変数でも指定することができます。

制限事項 配列参照は指定できません。
ヒント 指定した変数が文字変数の場合、長さはプログラムデータベクトルと出力データセットに適用されます。指定した変数が数値変数の場合、長さは出力データセットにのみ適用されます。

$

直前にある変数が文字変数であることを指定します。

デフォルト 変数は数値変数として処理されます。

length

数値定数を指定します。この値は、変数の値を保存するときに使用するバイト数を示します。

範囲 数値変数の場合、動作環境に応じて、2から8、または3から8までの値を指定できます。文字変数の場合、どの動作環境でも1から32767までの値を指定できます。

DEFAULT=n

新しく作成する数値変数の値を保存するときに使用するデフォルトのバイト数を変更します。

デフォルト 8
範囲 動作環境に応じて、2から8、または3から8までの値を指定できます。

詳細

通常、変数の長さは次の状況によって決定されます。
  • 文字変数または数値変数
  • 変数の作成方法
  • LENGTHステートメントまたはATTRIBステートメントの有無
長さを割り当てるルールに基づいて、LENGTHステートメントで割り当てた変数の長さをATTRIBステートメントで変更することができます。またその逆も実行できます。変数に長さを割り当てる方法の詳細については、XisError: No pubcode in link data found for lrconを参照してください。
動作環境の情報: 有効な変数の長さは動作環境によって異なります。詳細については、各動作環境向けのSASドキュメントを参照してください。

比較

ATTRIBステートメントを使用すると、変数の属性と同様に変数の長さも割り当てることができます。

この例では、LENGTHステートメントを使用して文字変数NAMEの長さを25バイトに設定します。また、このLENGTHステートメントは、新しく作成する数値変数を保存するときに使用するデフォルトのバイト数を8バイトから4バイトに変更します。TRIM関数は、LASTNAMEの末尾にあるブランクを削除してから、結合します。
  • カンマ(,)
  • ブランク
  • FIRSTNAMEの値
LENGTHステートメントを省略すると、変数NAMEの長さは32バイトに設定されます。
data testlength;
   informat FirstName LastName $15. n1 6.2;
   input firstname lastname n1 n2;
   length name $25 default=4;
   name=trim(lastname)||', '||firstname;
   datalines;
Alexander Robinson 35 11
;
proc contents data=testlength;
run;
proc print data=testlength;
run;
次の出力結果は、PROC CONTENTSの実行結果の一部とPROC PRINTで生成したレポートを示しています。
TESTLENGTHに対するPROC CONTENTSの実行結果の一部
TESTLENGTHに対するPROC CONTENTSの実行結果の一部
変数の長さの設定
変数の長さの設定

関連項目:

PROCステップでLENGTHステートメントを使用する方法の詳細については、Base SASプロシジャガイドを参照してください。
XisError: No pubcode in link data found for lrcon
ステートメント:
前のページ|次のページ|ページの先頭へ