上一頁|下一頁

VALIDVARNAME= 系統選項

指定可以在 SAS 工作階段期間建立和處理之有效 SAS 變數名稱的規則。

有效期限: 組態檔、SAS 叫用、OPTIONS 陳述式、SAS 系統選項視窗
類別: 檔案:SAS 檔案
PROC OPTIONS GROUP= SASFILES
預設: 出廠預設值為 V7。
附註: 此選項可能會受到網站管理員限制。如需詳細資訊,請參閱 SAS System Options: Reference 中第 1 章的 “Restricted Options”

語法

VALIDVARNAME=V7 | UPCASE | ANY

語法描述

V7

指定變數名稱必須遵循下列規則:

  • SAS 變數名稱長度最多可以有 32 個字元。
  • 第一個字元的開頭必須為拉丁字母 (A–Z、a–z) 或底線。 後續字元可以是拉丁字母、數字或底線。
  • 會忽略尾端空白。變數名稱對齊方式是向左對齊。
  • 變數名稱不能包含空白或特殊字元 (底線除外)。
  • 變數名稱可以包含大小寫混合的字母。SAS 會以變數之第一個參考中使用的相同大小寫來儲存和寫入變數名稱。不過,SAS 在處理變數名稱時,會以內部方式將它轉換為大寫。 因此,您無法使用具有不同大小寫字母組合的相同變數名稱,來代表不同變數。例如,catCatCAT 都代表相同的變數。
  • 請不要將特殊 SAS 自動變數名稱 (如 _N_ 和 _ERROR_) 或變數清單名稱 (如 _NUMERIC_、_CHARACTER_ 和 _ALL_) 指派給變數。
範例 season=’summer’;
percent_of_profit=percent;

UPCASE

指定變數名稱遵循與 V7 相同的規則,但變數名稱與舊版 SAS 一樣是大寫。

ANY

指定 SAS 變數名稱必須遵循下列規則:

  • 名稱的開頭可以是任意字元或包含任意字元 (包括空白、國家字元、特殊字元和多位元組字元)。
  • 名稱長度最多可以有 32 個位元組
  • 名稱不可以包含任何 Null 位元組
  • 會保留前置空白,但忽略尾端空白
  • 名稱必須包含至少一個字元。不允許都是空白的名稱。
  • 名稱包含大小寫混合的字母。 SAS 會以變數之第一個參考中使用的相同大小寫來儲存和寫入變數名稱。不過,SAS 在處理變數名稱時,會以內部方式將它轉換為大寫。因此,您無法使用具有不同大小寫字母組合的相同變數名稱,來代表不同變數。 例如,catCatCAT 都代表相同的變數。
需求 如果您使用的任何字元不是 VALIDVARNAME 系統選項設定為 V7 時的有效字元 (拉丁字母、數字或底線),則必須將變數名稱表示為名稱常值,而且必須設定 VALIDVARNAME=ANY。 如果名稱包括百分比符號 (%) 或 & 符號,則必須在名稱常值中使用單引號,以避免與 SAS Macro Facility 互動。請參閱SAS Language Reference: Concepts 中第 3 章的 “SAS Name Literals”SAS Language Reference: Concepts 中第 3 章的 “Avoiding Errors When Using Name Literals”
請參閱 SAS Language Reference: Concepts 中第 3 章的 “How Many Characters Can I Use When I Measure SAS Name Lengths in Bytes?”
範例 ‘% of profit’n=percent;
‘items@warehouse’n=itemnum;
注意:
在 SAS 中,搭配使用名稱常值語法與超過 32 位元組限制或具有大量內嵌引號的 SAS 成員名稱,可能會導致非預期的結果。
VALIDVARNAME=ANY 系統選項的目的是啟用與其他 DBMS 變數 (欄) 命名慣例的相容性 (如允許內嵌的空白和國家字元)。

請同時參閱

SAS Language Reference: Concepts 中第 3 章的 “Rules for Words and Names in the SAS Language”
系統選項:
上一頁|下一頁|頁面頂端