SAS學習經驗總結分享:篇一—數據的讀取


第一篇:BASE SAS分為數據步的作用及生成數據集的方式

我是學經濟相關專業畢業的,從事數據分析工作近一年,之前一直在用EXCEL,自認為EXCEL掌握的還不錯。

今年5月份聽說了SAS,便開始學習,這里總結分享下學習歷程及體會:第一本書是《SAS9.2從入門到精通》,從這本書學習到基本的SAS知識,可以作為入門教程。

 (本文為原創,禁止復制或轉載,轉載請標明出處:http://www.cnblogs.com/smallcrystal/p/4830855.html )

一、數據步的作用是生成SAS系統能夠識別的數據集,包括對外部數據的處理(通過infile/import函數)、數據庫文件(通過libname 邏輯庫建立聯系)或內部輸入(input)。以“data ”開始,“run”結束。

  • 內部生成數據集結構為:

data 數據集名;

input 變量名1 變量名2 $ @@;

cards;

輸入數據或字符以空格隔開 ;

run;

  • 將MYSQL中的數據導入生成數據集,結構為:

libname 邏輯庫名  MYSQL user=登錄數據庫的用戶名 password=密碼  database=數據庫名;/*通過libname 邏輯庫建立與數據庫的聯系/

data 數據集名 set 邏輯庫.數據庫中的表名;

run;

 

  • 讀入外部數據生成數據集,結構為:

(1)data 數據集;

infile  ‘外部文件所在的位置及名稱及文件類型’ <選項>;/infile語句用來告訴SAS外部數據文件存儲位置/

input 變量1 變量2 ;

run;

(2)通過宏變量

libname 邏輯庫名;

%let 宏變量名1=’外部文件路徑‘;

%let 宏變量名2=’.文件類型‘;

filename 文件名 “&宏變量名1&宏變量名2”;/*定義文件名引用宏變量,&宏變量,用雙引號/;

(這樣外部文件已經被filename定義的文件名取代了,filename用來指定文件路徑所對應的邏輯名)

data 數據集;

infile 文件名 <選項>;/*讀取文件名,infile語句和filename語句配合使用/

input 變量名1 變量名2;

……

run;

(3)import讀取外部文件:以EXCEL為例

libname 邏輯庫名;

proc import out=輸出的數據集名 /*此處沒有分號/

datafile=’要導入的EXCEL文件的完整路徑及文件名.擴展名‘;

sheet=“表單名”;

getnames=yes;/第一行記錄的是字段名,否則為NO

run;

data 數據集;

set 輸出的數據集名;

run;

 

SAS系統可訪問的外部文件及讀取方式匯總:

TXT:INFILE/IMPORT

CSV:INFILE/IMPORT

EXCEL:INFILE/IMPORT

SPSS:IMPORT

MS ACCESS:ACCESS

ORACLE數據庫:LIBNAME方式、PASSTHROUGH方式

libname是SAS數據庫與其他數據文件實現數據交換的最主要的方式,可通過數據引擎讀入其他分析文件數據集及其他數據庫文件。

passthrough方式是通過connect語句建立SAS和其他數據庫之間的通信,並使用sql過程將其他數據庫數據直接導入到SAS系統。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM