2017-08-14 11 views
0

私はSAS大学版を使用しています。SASでアレイとして解釈されるエスケープ文字

次のデータセットの "Age_years"の代わりに "Age(years)"という名前の変数が必要です。私は "()"が配列として解釈されることを理解していますが、これは変数の一部である必要があります。

data data; 
    input Name $ Age_years Gender $; 
    datalines; 
    Dino 6 male 
    Rita 5 female 
    Aurora 6 female 
    Joko 7 male 
    ; 
run; 

私は次の行にアクセスしていますが、正確なエラーは「ERROR:宣言されていない配列が参照:年齢 ERROR:変数年齢が配列として宣言されていません。」

data data; 
    set data; 
    Age(years)=Age_years; 
run; 

私はそれがここのように配列として解釈されないように、このブラケットの文字をエスケープする可能性をチェックしています。%記号は、()文字をエスケープする助けにはならないがSpecial Characters in SAS。 SASでこれをどうすればできますか?

答えて

0

「n」という修飾語を使用できます。

'my variable'n

'14AUG2017'dを表す数値として扱われます「私の変数」と呼ばれる変数として扱われます:SASはそれを扱う方法を指定するリテラル引用されたの末尾に追加することができますいくつかあります。今日の日付

'14AUG2017:09:53:00'dtは、今日の日付と時刻

'49'xを表す番号がここで16進値で指定された文字A、として扱われるとして扱われます。

...その他私は忘れているかもしれません。

SAS以外の有効な名前を使用することは推奨されません。

編集:link to SAS support

0

私は他のSOのリンクからいくつかのヒントを見逃しました。私はこれを解決する方法SAS: how to use the table column with special character $

は、私はそれを削除する場合は、年齢(年)の文字列を意味しますので、私は、「n」は上記実際に意味何をするか理解していないされ、次の

option validvarname=any; 
data data; 
'Age(years)'n = Age_years; 
run 

事です。

関連する問題