資源描述:
《sas編程基礎(chǔ)知識(shí)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第2章SAS編程基礎(chǔ)清華大學(xué)經(jīng)管學(xué)院朱世武SAS語言組件SAS文件由SAS創(chuàng)建、儲(chǔ)存、管理的文件就是SAS文件。所有的SAS文件都保存在SAS邏輯庫(kù)中。最常用的SAS文件:SAS數(shù)據(jù)集SAS目錄冊(cè)SAS外部文件SAS不能直接識(shí)別的數(shù)據(jù)文件稱為外部文件。外部文件一般用于儲(chǔ)存數(shù)據(jù)。外部文件一般用來儲(chǔ)存:要讀入SAS數(shù)據(jù)文件的原始數(shù)據(jù)SAS程序語句過程步輸出DBMS文件SAS軟件可以和其它數(shù)據(jù)庫(kù)產(chǎn)品進(jìn)行數(shù)據(jù)文件轉(zhuǎn)換。SAS語言元素SAS語言由語句、表達(dá)式、選項(xiàng)、格式、以及和其它編程語言名稱類似的函數(shù)組成。SAS有兩種語句數(shù)據(jù)步過程步SAS文件系統(tǒng)SAS邏輯庫(kù)由一組SAS文件組成。SAS軟件系統(tǒng)
2、的信息組織有兩層,第一層是SAS邏輯庫(kù),第二層是SAS文件。SAS邏輯庫(kù)是一個(gè)邏輯概念,本身不是物理實(shí)體,它對(duì)應(yīng)的實(shí)體是操作系統(tǒng)下一個(gè)文件夾或幾個(gè)文件夾中的一組SAS文件。邏輯庫(kù)邏輯庫(kù)名與引用SAS文件邏輯庫(kù)名是SAS名,長(zhǎng)度不能超過8個(gè)字節(jié)。如SAS邏輯庫(kù):ResDat,SASHELP,SASUSER,WORK等。建立SAS邏輯庫(kù)的方法:用菜單操作;用LIBNAME語句。語句格式:LIBNAMElibref'SAS-data-library'語法說明:Libref邏輯庫(kù)名SAS-data-library邏輯庫(kù)對(duì)應(yīng)的物理地址Engine引擎名稱(缺失時(shí)為默認(rèn)引擎)例2.1
3、用LIBNAME語句創(chuàng)建SAS邏輯庫(kù)。LibnameResDat‘d:ResDat’;多個(gè)個(gè)文件夾創(chuàng)建一個(gè)SAS邏輯庫(kù):Libnamea('d:resbd','d:resfin');例2.2引用非臨時(shí)庫(kù)的SAS文件時(shí)必須使用兩級(jí)命名方式,而引用臨時(shí)庫(kù)的SAS文件時(shí),可以直接使用文件名,效果等同于work.文件名。data=ResDat.Idx000001;臨時(shí)庫(kù)和永久庫(kù)臨時(shí)邏輯庫(kù)是指它的內(nèi)容只在啟動(dòng)SAS時(shí)存在,退出SAS時(shí)內(nèi)容完全被刪除。系統(tǒng)缺省的臨時(shí)邏輯庫(kù)為WORK.永久邏輯庫(kù)是指它的內(nèi)容在SAS關(guān)閉對(duì)話之后仍舊保留,直到再次修改或者刪除。SAS系統(tǒng)中除了WORK以外的邏輯
4、庫(kù)都是永久庫(kù)。庫(kù)引擎庫(kù)引擎是一組規(guī)定格式向邏輯庫(kù)讀寫文件的內(nèi)部指令。利用庫(kù)引擎SAS系統(tǒng)可以直接訪問其它SAS版本創(chuàng)建的SAS文件和外部數(shù)據(jù)庫(kù)格式的數(shù)據(jù)文件。每個(gè)SAS邏輯庫(kù)都對(duì)應(yīng)一個(gè)庫(kù)引擎。庫(kù)引擎功能包括:讀取和寫入數(shù)據(jù);列出庫(kù)中的文件;刪除和重命名文件。SAS通過不同庫(kù)引擎讀寫不同格式的文件。每個(gè)SAS引擎都有著自身的運(yùn)行特性。比如運(yùn)行由舊版本SAS軟件生成的文件;讀取由其它軟件生成的數(shù)據(jù)庫(kù)文件;存儲(chǔ)和訪問硬盤或者tape上的文件;決定文件中的變量和觀測(cè)如何放置;將文件從物理位置地址讀取放入到內(nèi)存;在不同的操作系統(tǒng)之間傳輸SAS文件。數(shù)據(jù)集SAS數(shù)據(jù)集有兩類:SAS數(shù)據(jù)文件SAS數(shù)據(jù)
5、視圖SAS數(shù)據(jù)文件同時(shí)描述信息和存儲(chǔ)數(shù)據(jù)值。SAS數(shù)據(jù)視圖并不實(shí)際存儲(chǔ)數(shù)據(jù),而只是一個(gè)查詢語句。class是數(shù)據(jù)視圖class1是數(shù)據(jù)文件變量觀測(cè)SAS數(shù)據(jù)集組成部分包括:描述信息;數(shù)據(jù)值。數(shù)據(jù)文件SAS數(shù)據(jù)文件是包含描述信息和數(shù)據(jù)值的SAS數(shù)據(jù)集。一般來說,SAS數(shù)據(jù)文件又分為:普通的SAS數(shù)據(jù)文件:SAS格式的數(shù)據(jù)文件。接口數(shù)據(jù)文件:以其它數(shù)據(jù)軟件格式儲(chǔ)存數(shù)據(jù)的數(shù)據(jù)文件。SAS提供對(duì)應(yīng)的引擎來對(duì)這些文件中的數(shù)據(jù)進(jìn)行讀取和編寫,如ORACLEDB2,SYBASE,ODBC,BMDP,SPSS和OSIRIS。雖然數(shù)據(jù)文件與視圖文件在應(yīng)用時(shí)沒有任何區(qū)別。但這兩者之間也有一定的差異。前面已經(jīng)
6、提到二者最大的不同就是數(shù)據(jù)文件實(shí)際儲(chǔ)存數(shù)值,視圖只是包含表的描述信息以及一組用來讀取數(shù)據(jù)的查詢語句,并不實(shí)際存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)文件是靜態(tài)的,而視圖則是動(dòng)態(tài)的。SAS數(shù)據(jù)文件可以被索引,索引可以使SAS在搜索數(shù)據(jù)的時(shí)候變得更快。而SAS視圖不能被索引?!瓟?shù)據(jù)視圖SAS數(shù)據(jù)視圖就是用來從其它文件中讀取數(shù)據(jù)的一種SAS文件。它只包括數(shù)據(jù)集的描述信息,如數(shù)據(jù)類型、變量長(zhǎng)度等,再加上如何從其它文件中提取數(shù)據(jù)所要求的信息。SAS視圖一般分為兩種:NativeView,由數(shù)據(jù)步或者SQL過程創(chuàng)建。InterfaceView,由SAS/ACCESS軟件創(chuàng)建。InterfaceView可以讀寫其它數(shù)據(jù)庫(kù)管理
7、系統(tǒng)(DBMS)中的數(shù)據(jù)庫(kù),如DB2或ORACLE數(shù)據(jù)庫(kù)等。數(shù)據(jù)視圖的使用優(yōu)勢(shì)可以使用連接多個(gè)表的視圖來合并數(shù)據(jù)集。數(shù)據(jù)視圖可以節(jié)省大量的空間。數(shù)據(jù)視圖可以保證讀取的數(shù)據(jù)集永遠(yuǎn)都是最新的。更改一個(gè)數(shù)據(jù)視圖只需要改變這個(gè)視圖的查詢語句。使用SAS/CONNET軟件,視圖可以將多個(gè)不同主機(jī)電腦上的數(shù)據(jù)文件整合,以整體的形式呈現(xiàn)。數(shù)據(jù)步視圖數(shù)據(jù)步視圖包含用于從多個(gè)數(shù)據(jù)源中讀取數(shù)據(jù)的數(shù)據(jù)步程序,這些數(shù)據(jù)源包括:原始數(shù)據(jù)文件;SAS數(shù)據(jù)文件;