SAS OnDemandにおきまして以下を実行しますとデータセットBOXに括弧付の変数名BOX(MPG_Highway)__STが返されて来ます。データセットBOXを2次利用しようと思って変数名を変えようとしても「ERROR: 構文エラーです。」が出て実行できません。
ods output sgplot=BOX; proc sgplot data=sashelp.cars; vbox MPG_Highway; run; data BOX2; set BOX; rename BOX(MPG_Highway)__ST=st; run;
括弧付の変数はどのように2次利用したらよろしいでしょうか?proc contentsで見ても明らかにこのような変数名になっているようです。ご教示のほどよろしくお願いいたします。
拡張命名規則に基づいた名前は、名前リテラルという記法を用います。引用符で囲んで
nを後ろに付けます。
rename "BOX(MPG_Highway)__ST"n=st;
SAS名前リテラル
SAS Studioですとプリファレンスの[全般]タブでSAS変数名ポリシーが変更できます。
デフォルトはANYで、拡張命名規則が有効になっています。V7にするとDMS環境の
デフォルトと同様になります。VALIDVARNAME=オプションでも変更できます。
View solution in original post
yu_sasさまご丁寧に有難うございました。全ての方法で上手くいきました。
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.Sign up by Dec. 31 to get the 2024 rate of just $495.Register now!