1
我期待在SAS中創建自定義格式,將NA,EU和AF等大陸代碼轉換爲北美,歐洲和非洲。一切都已建立,我有一個.csv文件包含國家和他們的大陸代碼的SAS讀數,我可以打印一張表格,顯示每個國家的國家代碼。現在我只想使用自定義格式將代碼轉換爲大陸名稱。到目前爲止,我有以下的(我已經錯過了所有數據的步驟,因爲這工作正常):SAS中的自定義格式
LIBNAME newlib 'C:\Users\C*****\Documents\My WPS Files';
PROC FORMAT lib = newlib;
VALUE $cont
'AS' = 'Asia'
'EU' = 'Europe'
'NA' = 'North America'
'SA' = 'South America'
'AF' = 'Africa'
'OC' = 'Oceania'
'' = 'Unknown';
RUN;
PROC PRINT DATA = newlib.life_ex (OBS = 10) NOOBS;
TITLE 'Top 10 Life Expectancies in 2010';
VAR Country YR2010 Continent;
FORMAT Continent$cont.;
RUN;
如果我跑,我得到了下面的錯誤。
2947 FORMAT Continent$cont.;
^
ERROR: Format $cont was not found or could not be loaded
因爲我下面我在這工作得很好其它SAS程序以前使用過,但是這一次將不會執行的具體步驟,我不明白這一點。如果我刪除FORMAT Continent $ cont。行,該程序運行完美無誤,但顯然我的代碼不轉換。任何幫助?
我以爲在PRINT PRINT步驟中提到該庫會像我在之前的程序中那樣做。我不確定我需要把這個OPTIONS命令的確切位置。 –
我更新了答案,它需要在庫定義之後和格式被調用的地方之前。它不能自動使用的原因是你使用'proc format'中的'lib ='選項將格式保存爲特定庫中的永久格式。該庫不會自動添加到格式搜索路徑中(考慮可伸縮性 - 如果您擁有數百萬個格式定義,則不需要它們全部定義和搜索) –
如果它以前工作過,則必須具有搜索路徑中的該庫。我在SAS Studio中測試了它,它工作正常.. –