當前位置:編程學習大全網 - 編程語言 - SAS語言的語言簡介

SAS語言的語言簡介

SAS系統強大的數據管理能力、計算能力、分析能力依賴於作為其基礎的SAS語言。SAS語言是壹個專用的數據管理與分析語言,它的數據管理功能類似於數據庫語言(如FoxPro),但又添加了壹般高級程序設計語言的許多成分(如分支、循環、數組),以及專用於數據管理、統計計算的函數。SAS系統的數據管理、報表、圖形、統計分析等功能都可以用SAS語言程序來調用,只要指定要完成的任務就可以由SAS系統按照預先設計好的程序去進行,所以SAS 語言和FoxPro等壹樣是壹種第四代語言。這裏簡單介紹SAS語言的基本成分與規則。 SAS數據步程序中的計算用表達式完成。表達式把常量、變量、函數調用用運算符、括號連接起來得到壹個計算結果。

常 量

SAS常量主要有數值型、字符型兩種,並且還提供了用於表達日期、時間的數據類型。

數值型:數值型常數可以用整數、定點實數、科學計數法實數表示。如:

12,-7.5,2.5E-10

字符型:字符型常數為兩邊用單撇號或兩邊用雙撇號包圍的若幹字符。如:

'Beijing',Li Ming,李明

日期、時間:

日期型常數是在表示日期的字符串後加壹個字母d大小寫均可),中間沒有空格。時間型常數是在表示時間的字符串後加壹個字母t。日期時間型常數在表示日期時間的字符串後加字母dt。

日期型:'13JUL1998'd

時間型:'14:20't

日期時間型:'13JUL1998:14:20:32'dt

因為SAS是壹種數據處理語言,而實際數據中經常會遇到缺失值,比如沒有觀測到數值,被訪問人不肯答,等等。SAS中用壹個單獨的小數點來表示缺失值常量。

變 量

SAS變量的基本類型有兩種:數值型和字符型。日期、時間等變量存為數值型(實際記錄為距1960/01/01的天數)。SAS的數值型變量可以存儲任意整數、定點實數、浮點實數,壹般不關心其區別。數值型變量在數據集中的存貯壹般使用8個字節。SAS的字符型變量缺省的長度是8個字符,但是如果在INPUT 語句中輸入字符型變量時指定了長度則不受此限制。可以用LENGTH語句直接指定變量長度。

LENGTH 語句壹般應出現在變量定義之前,格式為:

LENGTH 變量名 $ 長度;例如:

LENGTH name $ 20;

運算符

SAS運算符包括算術、比較、邏輯及其它的運算符。

算術運算符

算術運算符: + - * / **,運算優先級按通常的優先規則。

比較運算符

比較運算符用於比較常量、變量的值大小、相等,包括

= ^= > < >= <=

EQ NE GT LT GE LE IN

其中EQ等名字和=等特殊字符是同壹運算符的等價寫法。比較運算符得到“真”或“假” 的結果,主要用於需要條件的分支、循環等語句中。

運算符IN是壹個SAS特有的比較運算符,用來檢查某個變量的取值是否在壹個給定列表中,例如:

prov in ('Beijing', 'Tianjin', 'Shanghai', Chongqing')

可以判斷變量prov的取值是否為四個直轄市之壹。

邏輯運算符

邏輯運算符用來連接比較得到的結果以構成復雜的條件,有三種邏輯運算符: &(AND) |(OR) ^(NOT) 。其中AND是&(與)的等價寫法,OR是|(或)的等價寫法,NOT是^(非)的等價寫法。

例如:

(salary >= 1000) AND (salary < 2000)

表示工資收入在1000-2000之間(不含2000)

(age <= 3) OR (sex = '女')

表示三歲以下(含三歲)的嬰兒及婦女

NOT ((salary >= 1000) AND (salary < 2000))

表示工資收入不在1000-2000之間

復雜的邏輯表達式最好用括號表示其運算優先級,以免誤記優先規則並可利於閱讀程序。

其它的運算符

其它的運算符:

||(兩個連續的|號),兩個字符串連接

<> 取兩個運算值中較大壹個的(比如3<>5結果為5)

>< 取兩個運算值中較小壹個的 (比如3><5結果為3)

註意:<>符在有些語言中用作“不等於”比較算符,而SAS 中用法則較特殊。 SAS程序由語句構成。每個語句以分號結尾。在SAS程序中,壹個語句可以寫到多行(不需任何續行標誌),也可以在壹行連續寫幾個語句。SAS語言中只要允許用壹個空格的地方就可以加入任意多個空白(空格、制表符、回車),允許用空格的地方是名字周圍、運算符周圍。另外,SAS關鍵字和名字大小寫不分,但字符型數據值要區分大小寫,比如Beijing 和BEIJING被認為是不同的數據值。

在SAS程序中可以加入註釋,註釋的內容用/*和*/在兩端界定。這種註釋可以出現在任何允許加入空格的位置,可以占多行。SAS中壹般只把註釋單獨占壹行或若幹行,不把註釋與程序代碼放在同壹行。註釋的另壹個作用是把某些代碼暫時屏蔽使其不能運行。

SAS程序包括數據步和過程步兩種結構,每壹個步是壹段相對完整的可以單獨運行的程序。數據步用來生成、整理數據和自編程計算,過程步調用SAS已編好的處理過程對數據進行處理。自己用SAS編程序進行計算主要在數據步中進行。

SAS數據步以DATA語句開頭,以RUN語句結尾。DATA步中可以使用INPUT、CARDS、INFILE 、SET、MERGE等語句指定數據來源輸入數據,也可以用賦值、分支、循環等編程結構直接生成數據或對輸入的數據進行修改。

  • 上一篇:劍的起源
  • 下一篇:無人機被鎖定如何解決
  • copyright 2024編程學習大全網