特殊文字を含む変数名を指定する

[OS] ALL
[リリース] SAS System 8以降
[キーワード] Base, variable name, special character, N literal

[質問]

ExcelデータをSASデータセットとして取り込む際、Excelシートの1行目の項目名をそのままSAS変数名にしようと考え、 SASシステムオプション「VALIDVARNAME=ANY」を指定してインポートしました。 Excel上の項目名にはスペースやカンマが含まれており、 作成されたSAS変数名からスペースやカンマを取り除こうと変数のRENAMEを試みましたが、 エラーが発生してしまいます。
スペースやカンマ等の特殊文字を含むSAS変数名からスペースやカンマを取り除くには、どうすればよいでしょうか。

[回答]

評価版機能のVALIDVARNAME=ANYオプションを利用して、 SAS命名規約以外の名称で作成された変数名を取り扱うには、 SAS 8からの追加機能であるNリテラル(' 'n)を使用することで回避することが可能です。
特殊文字を含む変数名をシングルクォーテーションで囲み、閉じるほうのシングルクォーテーションに続けて (スペースを入れずに)、nを記述します。


   OPTIONS VALIDVARNAME=ANY ;
   DATA normalds;
      SET excelds(RENAME=('特殊 変数名'n = normvar1));
   RUN ;