- 金融商業(yè)數(shù)據(jù)分析:基于Python和SAS
- 張秋劍 張浩 周大川 常國珍
- 2007字
- 2021-12-01 13:52:41
2.3 定義SAS數(shù)據(jù)集
如果你是一名數(shù)據(jù)分析的新手,當拿到一些以SAS格式存儲的數(shù)據(jù)集時,應(yīng)該從哪些方面去了解這些數(shù)據(jù),以便為下一步的數(shù)據(jù)分析做好準備呢?
在進一步分析數(shù)據(jù)之前,我們還需要了解數(shù)據(jù)集的基本信息,比如修改日期、屬性、標簽等,以及每個字段的含義、類型、長度、格式等。
2.3.1 SAS數(shù)據(jù)的相關(guān)概念
SAS對表的引用采用二級引用,即“邏輯庫名.文件名”,比如為了引用SASHELP庫中的CLASS文件,必須采用“SASHELP.CLASS”格式,若不加邏輯庫名,則默認為調(diào)用WORK庫中的相應(yīng)文件。對于這些SAS操作中的默認規(guī)則,初學(xué)者會不知所措。本節(jié)旨在解決這個問題。
1. SAS文件
所有的SAS文件都必須作為某個SAS數(shù)據(jù)庫的成員。SAS文件主要分為以下三類。
- 表:存放數(shù)據(jù)值和數(shù)據(jù)的描述信息的數(shù)據(jù)集,以.sas7bdata為擴展名。
- 數(shù)據(jù)視圖:不實際存放數(shù)據(jù),只包含表的描述信息和一組用來讀取數(shù)據(jù)的查詢語句,以.sas7bvew為擴展名。
- 目錄:存放不同種類的信息文件,一般每個信息文件都比較小,比如一些系統(tǒng)的快捷鍵的定義等,以.sas7bcat為擴展名。
2. 數(shù)據(jù)集構(gòu)成
一個數(shù)據(jù)集包括兩個組成部分——描述部分和數(shù)據(jù)部分,如圖2-9和圖2-10所示。

圖2-9 數(shù)據(jù)集組成部分

圖2-10 數(shù)據(jù)部分和描述部分
數(shù)據(jù)部分是打開邏輯庫中的文件時展現(xiàn)在我們眼前的部分,是數(shù)據(jù)值的集合。描述部分即屬性,包含以下部分。
1)數(shù)據(jù)集的名稱。
2)創(chuàng)建數(shù)據(jù)集的日期和時間,如圖2-11所示。

圖2-11 ACCOUNTS屬性
3)觀測的個數(shù),變量的個數(shù)。數(shù)據(jù)集中的每一個變量都有屬性,如圖2-12所示。

圖2-12 變量屬性示例
類型、名稱、標簽、長度、輸入格式、輸出格式等屬性如圖2-13所示。

圖2-13 ACCOUNTS屬性選擇
- 數(shù)據(jù)集與變量命名規(guī)則:首字符必須為英文字母(A~Z,包括大寫和小寫)或下劃線(_);由數(shù)字、字母和下劃線組成;最多不超過32個字符;不區(qū)分大小寫。
- 標簽:數(shù)據(jù)集的屬性除名稱外,還包括標簽,以便描述數(shù)據(jù)集存儲數(shù)據(jù)的特性。書寫規(guī)則:可以是中文、英文字母等任何符號,最長不超過256個字符。
- 類型:只有字符型和數(shù)值型兩種類型,一個變量只能屬于其中一種類型。數(shù)值型變量只能是合法的數(shù)值,缺失值為點“.”,注意不含引號。日期屬于數(shù)值型變量,取整數(shù)。日期又分為日期數(shù)據(jù)與日期時間數(shù)據(jù)。日期的常數(shù)值表示形式為ddmmmyy d或者ddmmmyyyy d,比如表示2014年6月30日時,可以采用30jun14d或30jun2014d表示。日期數(shù)據(jù)在SAS中的存儲和展示方式如圖2-14所示。

圖2-14 日期數(shù)據(jù)在SAS中的存儲和展示方式
日期時間數(shù)據(jù)如1960年1月1日00:00:00,每加1代表增加1秒。日期時間數(shù)據(jù)在SAS中的存儲和展示方式如圖2-15所示。

圖2-15 日期時間數(shù)據(jù)在SAS中的存儲和展示方式
字符型變量的值可以是任何字符串,如中國、Alex等。缺失值為空格,不含引號。
- 變量屬性——輸入格式(Informat)及輸出格式(Format):輸入屬性用于確定數(shù)據(jù)如何讀入SAS數(shù)據(jù)集;輸出屬性用于確定數(shù)據(jù)如何顯示,即打開數(shù)據(jù)集我們看到的格式,它只是輸出形式,不影響存儲形式。
3. SAS EG數(shù)據(jù)視圖
SAS EG數(shù)據(jù)視圖是從其他文件中讀取數(shù)據(jù)的一種SAS文件。它只包括數(shù)據(jù)集的描述信息,如數(shù)據(jù)類型、變量長度等。SAS EG數(shù)據(jù)視圖類似于數(shù)據(jù)庫視圖。
SAS EG數(shù)據(jù)視圖主要有以下幾個優(yōu)勢。
- 可以通過連接多個表的視圖來合并數(shù)據(jù)集;
- 可以節(jié)省大量空間;
- 可以保證讀取的數(shù)據(jù)集永遠都是最新的;
- 更改一個數(shù)據(jù)視圖只需要改變這個視圖的查詢語句。
2.3.2 SAS EG實現(xiàn)方式
1)單擊菜單,按順序依次單擊“任務(wù)→數(shù)據(jù)→數(shù)據(jù)集屬性”,如圖2-16所示。這里可以點擊“添加”按鈕新增數(shù)據(jù)集,也可以選中數(shù)據(jù)集并刪除它。

圖2-16 數(shù)據(jù)集屬性菜單
2)單擊“下一步”按鈕,設(shè)置輸出選項。默認報表輸出內(nèi)容包括數(shù)據(jù)集的創(chuàng)建日期、上次修改日期、觀測數(shù)、編碼、任何與引擎/主機有關(guān)的信息,以及變量及其屬性按字母順序排列的列表。增強型報表輸出包括表類型、表的創(chuàng)建和修改日期、觀測數(shù)、變量標簽以及變量類型。排序可以按照變量名稱、表中變量順序、變量類型、變量格式、變量標簽中的五者之一進行升序或者降序排列,如圖2-17所示。

圖2-17 輸出數(shù)據(jù)集
上述選項設(shè)置之后,單擊“完成”按鈕,結(jié)果中產(chǎn)生5類信息。
1)數(shù)據(jù)集信息,如數(shù)據(jù)集名稱、類型、觀測數(shù)、變量數(shù)、創(chuàng)建時間、修改時間、是否排序、是否壓縮。
2)引擎和主機相關(guān)的信息,如頁面大小、頁數(shù)、版本。
3)按字母順序排序的變量和屬性列表,如變量名稱、類型、長度、輸入格式、輸出格式、標簽等。
4)數(shù)據(jù)集信息,與第1類顯示信息基本相同,但較為簡潔。
5)變量列表信息,與第3類顯示信息基本相同,但較為簡潔。
其中,默認報表輸出的是前3類信息,增強型報表輸出的是后2類信息。
2.3.3 SAS程序?qū)崿F(xiàn)方式
1. 查看文件屬性信息
基本語法如下:
proc contents <options>; run;
options語法解讀如表2-1所示。
表2-1 options語法解讀

2. 創(chuàng)建視圖
1)數(shù)據(jù)步視圖:包含從多個數(shù)據(jù)源中讀取數(shù)據(jù)的數(shù)據(jù)步程序。
定義格式:DATA數(shù)據(jù)集名稱/view=數(shù)據(jù)集名稱。
上面的定義中,在數(shù)據(jù)步的最后一個數(shù)據(jù)集名稱后加上“view=數(shù)據(jù)集名稱”是告訴SAS程序只進行編譯,不運行,而被編譯的程序存儲在view后的數(shù)據(jù)視圖中。
例如下面這段創(chuàng)建數(shù)據(jù)步視圖的代碼:
data bankdata.account1/view= bankdata.account1; set bankdata.account; run;
2)SQL視圖:一個帶有名稱的proc sql查詢,可以讀寫的數(shù)據(jù)源同數(shù)據(jù)步視圖。
proc sql; create view bankdata.account as select * from bankdata.account; quit;
- C#完全自學(xué)教程
- Interactive Data Visualization with Python
- Securing WebLogic Server 12c
- Python Data Analysis Cookbook
- 機器學(xué)習(xí)與R語言實戰(zhàn)
- Spring Boot+Vue全棧開發(fā)實戰(zhàn)
- Spring MVC+MyBatis開發(fā)從入門到項目實踐(超值版)
- Microsoft 365 Certified Fundamentals MS-900 Exam Guide
- ASP.NET Core and Angular 2
- Mapping with ArcGIS Pro
- Learn Linux Quickly
- Building Web and Mobile ArcGIS Server Applications with JavaScript(Second Edition)
- ASP.NET Core 2 High Performance(Second Edition)
- MySQL 5.7從入門到精通(視頻教學(xué)版)(第2版)
- Practical C Programming