BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
sasone
Quartz | Level 8

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で見ても明らかにこのような変数名になっているようです。
ご教示のほどよろしくお願いいたします。

1 ACCEPTED SOLUTION

Accepted Solutions
yu_sas
SAS Employee

拡張命名規則に基づいた名前は、名前リテラルという記法を用います。引用符で囲んで

nを後ろに付けます。

 

 

rename "BOX(MPG_Highway)__ST"n=st;

 

 

SAS名前リテラル

 

SAS Studioですとプリファレンスの[全般]タブでSAS変数名ポリシーが変更できます。

デフォルトはANYで、拡張命名規則が有効になっています。V7にするとDMS環境の

デフォルトと同様になります。VALIDVARNAME=オプションでも変更できます。

View solution in original post

2 REPLIES 2
yu_sas
SAS Employee

拡張命名規則に基づいた名前は、名前リテラルという記法を用います。引用符で囲んで

nを後ろに付けます。

 

 

rename "BOX(MPG_Highway)__ST"n=st;

 

 

SAS名前リテラル

 

SAS Studioですとプリファレンスの[全般]タブでSAS変数名ポリシーが変更できます。

デフォルトはANYで、拡張命名規則が有効になっています。V7にするとDMS環境の

デフォルトと同様になります。VALIDVARNAME=オプションでも変更できます。

sasone
Quartz | Level 8

yu_sasさま

ご丁寧に有難うございました。
全ての方法で上手くいきました。