前のページ|次のページ

NVALID関数

SAS変数名として使用する文字列の有効性を確認します。

カテゴリ: 文字
制限事項: この関数は、I18Nレベル0準拠しており、SBCSデータ向けに設計されています。この関数をDBCSまたはMBCSデータの処理に使用しないでください。

構文

NVALID(string <, validvarname>)

必須引数

string

SAS変数名として使用できる値かどうかを判断するために確認する文字定数、変数または式を指定します。

注: 末尾の空白は無視されます。
ヒント 文字のリテラル文字列を引用符で囲みます。

オプション引数

validvarname

次のいずれかの値を指定する文字定数、変数または式です。

V7

次の3つをすべて満たす場合にstringが有効なSAS変数名であると判断します。

  • stringが英字またはアンダースコアで始まる
  • 後続のすべての文字が英字、アンダースコアまたは数字である
  • 長さが32文字以下の英数字である

ANY

あらゆる種類(空白を含む)の32文字以下の文字が含まれている場合にstringが有効なSAS変数名であると判断します。

NLITERAL

SAS名リテラル('name'N)の形式である場合、またはVALIDVARNAME=V7の有効なSAS変数名である場合にstringが有効なSAS変数名であると判断します。

参照項目 このリストの前述のV7。
デフォルト 値を指定しないと、NVALID関数はSASシステムオプションVALIDVARNAME=の値に基づいてstringが有効なSAS変数名であると判断します。

詳細

NVALID関数は、stringの値をチェックして、SAS変数名として使用できるかどうかを判断します。
NVALID関数は、値1または値0を返します。
条件
戻り値
stringがSAS変数名として使用できる
1
stringがSAS変数名として使用できない
0

この例では、指定した文字列がSAS変数名として有効かどうかを判断します。NVALID関数の戻り値は、validvarname引数によって異なります。指定したvalidvarname引数のルールに基づいて文字列が有効なSAS変数名であると判断された場合、値1が返されます。それ以外の場合、値0が返されます。
options validvarname=v7 ls=64;
data string;
   input string $char40.;
   v7=nvalid(string, 'v7');
   any=nvalid(string, 'any');
   nliteral=nvalid(string, 'nliteral');
   default=nvalid(string);
   datalines;
Tooooooooooooooooooooooooooo Long
OK
Very_Long_But_Still_OK_for_V7
1st_char_is_a_digit
Embedded blank
!@#$%^&*
"Very Loooong N-Literal with """N
'No closing quotation mark
;
          
proc print noobs;
title1 'NLITERAL and Validvarname Arguments Determine';
title2 'Invalid (0) and Valid (1) SAS Variable Names';
run;
NLITERALを使用したSAS変数名が有効であるかどうかの判断結果出力
NLITERALを使用したSAS変数名が有効であるかどうかの判断結果出力

関連項目:

システムオプション:
VALIDVARNAME=システムオプション (SAS各国語サポート(NLS):リファレンスガイド)
その他のリファレンス:
Rules for Words and Names in the SAS Language (SAS言語リファレンス: 解説編)
前のページ|次のページ|ページの先頭へ