官术网_书友最值得收藏!

2.2 訪問數據

如何利用SAS訪問多個SAS數據集?如何利用SAS訪問業務數據庫中的數百張數據表并寫出數據分析報告?

這些情況下,我們就要用到SAS邏輯庫了。

SAS數據庫分為永久數據庫和臨時數據庫。永久數據庫,顧名思義,會永久保存存放在其中的數據,直到你刪除它,例如SAS自帶的SASHELP、SASUSER數據庫。而臨時庫的文件會在每次關閉SAS軟件后自動刪除,例如WORK庫。注意,永久數據庫和臨時數據庫的差別在于退出SAS時是否保留其中的文件,而不是數據庫是否還存在。

在Windows系統中,SAS是以路徑為基礎的方式組織數據庫的。為了方便使用數據庫,我們需要為每個路徑下的數據庫或者存放SAS文件的文件夾指定一個邏輯名,例如WORK,選中WORK庫點擊右鍵查看屬性,則可以看到其所存放文件的路徑。

SAS邏輯庫的命名規則:

1)首字符必須為英文字母(A~Z,包括大寫和小寫)或下劃線(_);

2)由數字、字母和下劃線組成;

3)最多不超過8個字符;

4)不區分大小寫[1]

在進入SAS軟件時,系統會自動指定一些邏輯庫供用戶使用。

  • SASHELP:是SAS系統在運行時會用到的系統文件,對環境的設置數據都會存放在此。用戶不要修改該數據文件夾中的數據。
  • SASUSER:SAS系統會設置SASUSER數據文件夾路徑。若用戶沒有設置其他路徑,SASUSER指定的路徑或文件每次都相同。該路徑下的數據文件是永久存在的。如果有SAS數據文件要存儲,用戶無須在自己的程序代碼中設置任何數據文件夾名稱,便可以使用SASUSER數據文件夾來存儲SAS數據文件。其物理位置為C:\Users\...\Documents\My SAS Files\9.3。
  • WORK:SAS系統會設置WORK數據文件夾路徑。用戶操作產生的臨時SAS數據文件會放在該路徑下。當離開SAS系統時,SAS系統便會將該路徑清除,不會將數據存儲下來。

下面詳細介紹如何通過SAS邏輯庫訪問數據。

2.2.1 SAS EG實現方式

1. 連接計算機中的SAS數據文件夾

1)在“工具”菜單下選擇“分配項目邏輯庫”選項,然后在名稱欄輸入數據庫的邏輯名BANKDATA(需要符合邏輯庫的命名規則),并選擇“local-本機SAS服務器”,如圖2-6所示。

021-01

圖2-6 “分配項目邏輯庫”選項

2)選擇引擎類型為“文件系統”,并在路徑選項下單擊“瀏覽”按鈕,找到存放SAS文件的文件夾,或者直接輸入地址,比如“E:\bankdata”,單擊“下一步”按鈕鏈接到SAS文件夾,如圖2-7所示。

022-01

圖2-7 指定邏輯庫的引擎

3)在左下角的服務器列表中選擇“服務器→本地”,單擊“刷新”按鈕即可查看剛剛定義的邏輯庫。

2. SAS連接遠程數據庫

1)首先建立ODBC數據源。以Windows 7系統為例,在“控制面板→系統和安全→管理工具”路徑下選擇“數據源(ODBC)”進行配置,打開“用戶DSN”選項卡,選擇“添加”,選擇數據源的數據庫類型后,依次單擊“下一步”按鈕,按要求填寫相關信息即可。

2)同連接數據文件夾中的步驟1。

3)引擎類型選擇“數據庫系統”,并在引擎下選擇對應的數據庫接口,然后按照要求輸入服務器的地址、用戶名及密碼,如圖2-8所示。

022-02

圖2-8 引擎類型選擇“數據庫系統”

4)在左下角的服務器列表中選擇“服務器→本地”,單擊“刷新”按鈕即可查看剛剛定義的邏輯庫。

2.2.2 SAS程序實現方式

1. 連接計算機中的SAS數據文件夾

打開SAS EG軟件,在菜單欄下選擇“新建程序”,在打開的界面中輸入下面的程序代碼,然后單擊“運行”按鈕。代碼如下所示:

libname bankdata "E:\bankdata";

libname為關鍵詞,表示要建立一個邏輯數據庫;bankdata為邏輯庫名,最長為8位字符;E:\bankdata表示數據存放在此路徑下,必須用單引號或雙引號括起來。

2. SAS遠程連接數據庫

在菜單欄下選擇“新建程序”,在打開的界面中輸入下面的代碼,然后單擊“運行”按鈕。

libname bankdata db2 user=admin password = "****" datasrc=bank;

libname與bankdata的含義同上;db2表示實現DB2數據庫的訪問;user和password分別為訪問的數據庫的用戶名和密碼,密碼需要用引號引起來;datasrc為模式,表示數據庫DB2下的某個數據源,一般采用默認狀態。

主站蜘蛛池模板: 西藏| 墨脱县| 盐边县| 年辖:市辖区| 贵德县| 金门县| 曲周县| 宾阳县| 时尚| 南城县| 察雅县| 怀仁县| 胶州市| 易门县| 聂荣县| 休宁县| 沅江市| 金川县| 壶关县| 宁晋县| 乡宁县| 大庆市| 莱州市| 岑溪市| 河池市| 砚山县| 赞皇县| 健康| 元氏县| 泰州市| 左权县| 永平县| 丰顺县| 南安市| 通榆县| 津南区| 玛纳斯县| 安国市| 崇信县| 永川市| 顺昌县|