上一頁|下一頁

TRANSCODE= 選項

在 ATTRIB 陳述式中指定特性 (讓輸出格式、輸入格式、標籤和長度與一或多個變數產生關聯),指出是否要轉碼字元變數。

有效期限: DATA 步驟中的 ATTRIB 陳述式
類別: 資訊
類型: 宣告式
請參閱: 作業環境文件中 WindowsUNIXz/OS下的 ATTRIB 陳述式。

語法

ATTRIB variable-list(s) attribute-list(s) ;

必要的引數

variable-list

命名想要與特性相關聯的變數。

提示 以 SAS 允許的任何形式列出變數。

attribute-list

指定要指派給 variable-list 的一或多個特性。 您可以在 ATTRIB 陳述式中指定多個特性。如需完整的特性清單,請參閱 SAS Statements: Reference 中的 “ATTRIB Statement”

TRANSCODE=YES|NO

指定是否轉碼字元變數。使用 TRANSCODE=NO 抑制轉碼。 如需詳細資訊,請參閱 轉碼概觀

預設 YES
限制 部分 SAS 工作區伺服器用戶端不支援 TRANSCODE=NO 特性。在 SAS 9.4 中,不會傳回含有 TRANSCODE=NO 的變數。在 SAS 9.4 之前,會轉碼含有 TRANSCODE=NO 的變數。 舊的 SAS 版本無法存取內含具有 TRANSCODE=NO 特性之變數的 SAS 9.4 資料集。
互動 您可以使用 VTRANSCODE 和 VTRANSCODEX 函數,來傳回開啟還是關閉字元變數的轉碼。
如果針對資料集的任何字元變數將 TRANSCODE= 特性設為 NO,PROC CONTENTS 會列印含有資料集中每個變數之 TRANSCODE= 值的轉碼欄。如果資料集中的所有變數都設為預設 TRANSCODE= 值 (YES),則不會列印任何轉碼欄。

範例

範例 1: 搭配使用 TRANSCODE= 選項與 SET 陳述式

當您使用 SET 陳述式從數個資料集建立資料集時,SAS 會讓輸出資料集中變數的 TRANSCODE= 特性等於第一個資料集中變數的 TRANSCODE= 值。在此範例中,變數 Z 在資料集 A 中的 TRANSCODE= 特性是 NO,因為 B 是第一個資料集,而 Z 在資料集 B 中的 TRANSCODE= 特性是 NO。
data b;
length z $4;
z = 'ice';
attrib z transcode = NO;
data c;
length z $4;
z = 'snow';
attrib z transcode = YES;
data a;
set b;
set c;
/* Check transcode setting for variable Z */
rc1 = vtranscode(z);
put rc1=;
run;

範例 2: 搭配使用 TRANSCODE= 選項與 MERGE 陳述式

當您使用 MERGE 陳述式從數個資料集建立資料集時,SAS 會讓輸出資料集中變數的 TRANSCODE= 特性等於第一個資料集中變數的 TRANSCODE= 值。在此範例中,變數 Z 在資料集 A 中的 TRANSCODE= 特性是 YES,因為 C 是第一個資料集,而 Z 在資料集 C 中的 TRANSCODE= 特性是 YES。
data b;
length z $4;
z = 'ice';
attrib z transcode = NO;
data c;
length z $4;
z = 'snow';
attrib z transcode = YES;
data a;
merge c b;
/* Check transcode setting for variable Z */
rc1 = vtranscode(z);
put rc1=;
run;
附註: 在輸入資料集上或 ATTRIB TRANSCODE= 陳述式中第一次看到變數時,會設定 TRANSCODE= 特性。如果 SET 或 MERGE 陳述式是在 ATTRIB TRANSCODE= 陳述式的前面,而且 TRANSCODE= 特性與 SET 陳述式有矛盾,則會發生錯誤訊息。

請同時參閱

上一頁|下一頁|頁面頂端