一般使用者讀入外部檔案時,常常遇到文字資料中有較長之文字,儲存時相當佔檔案之儲存空間。本文提供以下Base SAS之 Format(格式)進階運用範例,以INVALUE 及VALUE之指令,可以讓使用者非常容易將資料集,以較精簡之空間,儲存文字資料。同時,能以使用者期望之方式呈現資料。
範例:
程式 : 建立兩個SAS 之INVALUE 及VALUE Format
程式說明如下 :
-
SAS INVALUE Format,為資料讀入時,將指定值轉置為特定值。例如:將原來之 ‘臺北市’ 讀入後轉成 ’01’ 之值,原來之 ‘臺中市’ 讀入後轉成 ’17’ 之值,原來之 ‘高雄市’ 讀入後轉成 ’02’ 之值。轉置後之特定值以 ‘01’,’17’,’02’ 之值儲存於SAS資料集中。可以精簡地縮小文字資料之儲存空間。
-
SAS VALUE Format,為資料輸出時,將指定值轉置為特定值,呈現於資料集或報表上。例如:將原來儲存於SAS資料集中之 ’01’ 值以 ‘臺北市’ 來呈現 ,儲存之 ’17’ 值以 ‘臺中市’ 來呈現,儲存之 ’02’ 值以 ‘高雄市’ 來呈現。
結果 : SAS 之INVALUE 及VALUE Format
結果說明如下 :
-
變數COUNTY以2 Byte 儲存於WORK.CNTY_AGE之SAS 資料集中。
-
因為運用 $CNTY_F 之輸出格式,資料集開啟時,’01’ 之值以 ‘臺北市’ 來呈現 ,’17’ 之值以 ‘臺中市’ 來呈現,’02’ 之值以 ‘高雄市’ 來呈現。
-
變數COUNTY只需以2 Byte儲存,仍能以6 Byte 之內容呈現,對使用者提供非常大之空間節省 。
Tags