㈠ SAS怎麼建立資料庫,我要詳細的程序
data word;
libname aa 'd:\sas';
run;
如果你D盤里有sas這個文件夾
那麼你就建立了一個叫aa的資料庫到這個文件夾里
㈡ Lesson 1 數據集的建立
程序的基本組成
1 數據步
2 過程步
1 在SAS直接輸入
注意事項
2 引用外部數據
文件--導入數據
SAS中的變數只有兩種類型:字元型(character)和數值型(numeric)。
日期是被看作是數值型,所有日期型變數被作為是輸入日期與1960年1月1日之差。如1980-1-1, SAS會認為這個值是7305。
不同類型的變數在input語句輸入時需要指定相應的格式
包括數值與日期
如果你想讓SAS有選擇地讀取你的數值,可以在變數後加上w.d的格式。其中,w表示數值的位數(包括小數點),如2.3的位數是3;d表示數值的小數點位數。
輸入格式是給SAS讀的,輸出是給使用者讀的。
見上述。使用 input 或 input搭配informat 。不想改變輸入值,不要在輸入格式中定義寬度。
大致同輸入格式。在data步,在input語句與cards之間使用 format 。
完整的格式應該是$ < w. >。
必須在變數名後加"$";w表示位元組數(1個中文佔2個位元組)。
結果為:
w.d 的理解:
comma w.d 可將數值的整數部分自右向左每三位用逗號隔開,當數值位數較多時,這是比較標準的表示方式。
例如,輸出格式為 comma7.1 時。
日期有兩種類型:數字、日期格式。
日期型變數輸入格式與輸出格式大致相同,但 輸出格式允許 在寬度值前加一個字母,表示日期的分隔符號。 但不能用於date7.或date9.等格式。
日期格式
分隔符號
invalue 輸入看「 原值 」
value 輸出看「 新值 」
結果為:
說明一下,"09.99%"的理解是:
所得結果為:
原因是 指定寬度後,空格也成為字元的一部分 。修改方式如下:
缺失值用 「 . 」表示。
結果為
用do循環輸入數據
其中的語句若使用input,則必須加上output。
例如1-12月是連續加1的規律。
未使用do循環時:
由於count具有加1的規律,使用do循環後:
用@符號
產生新變數前,對其進行寬度限定,使用length
無length語句:
有length語句:
SAS數據都是存放在資源管理器的邏輯庫中。邏輯庫中有SAS自帶的6個文件夾,用來存放不同類型的數據。
理論上,我們在用data語句起名字時,還需要告訴SAS建立的數據集是放在哪個文件夾里。如,data sasuser.fh;表示建立數據集fh,放在sasuser這個文件夾,再如data work.fh;表示建立數據集fh,放在work這個文件夾。
SAS默認,如果data語句中沒有加文件夾名字,就是 默認為存放到臨時文件夾work 中,也就是說,data fh;與data work.fh;是完全等同的。當關閉sas時work內的數據集將清空。
相當於把建立的數據集存放到硬碟的一個文件夾中。具體主要包括三個步驟:
方式一:菜單中新建
[1]在本地硬碟建立一個文件夾作為數據集存放處(假設路徑為g盤目錄下的mysasfile文件夾)
[2]邏輯庫處右鍵新建新庫並命名(假設是mydir),路徑瀏覽選擇上述文件夾
[3]編輯器處添加數據集
方式二:編輯器中新建,並與邏輯庫關聯
[1]同上
[2]編輯器中新建新庫,並添加數據集
方式三:編輯器中新建
調用硬碟上的SAS數據集
[1]首先要知道硬碟上的文件夾位置及名稱
[2]]利用libname語句讀取相應位置的文件夾中的文件