《SAS宏與SQL簡(jiǎn)介》PPT課件.ppt_第1頁
《SAS宏與SQL簡(jiǎn)介》PPT課件.ppt_第2頁
《SAS宏與SQL簡(jiǎn)介》PPT課件.ppt_第3頁
《SAS宏與SQL簡(jiǎn)介》PPT課件.ppt_第4頁
《SAS宏與SQL簡(jiǎn)介》PPT課件.ppt_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

SQL查詢創(chuàng)建數(shù)據(jù)集,PROC SQL; CREATE TABLE 數(shù)據(jù)集名 AS SELECT 語句;,SELECT語句: SELECT FROM WHERE GROUP BY ORDER BY ,SQL查詢創(chuàng)建數(shù)據(jù)集,PROC SQL; CREATE TABLE 數(shù)據(jù)集名 AS SELECT 語句;,SELECT語句,SELECT FROM WHERE GROUP BY ORDER BY ,SELECT語句,SELECT DISTINCT. AS 指定參加查詢的字段或表達(dá)式 說明 SELECT表達(dá)式:列名或包括列名的表達(dá)式 * 表示全部字段 可以用函數(shù),如AVG,COUNT,MIN,MAX,SUM 列標(biāo)題:顯示的列標(biāo)題,可以不同于字段名 別名:列所在的表名(一般多表操作時(shí)使用) DISTINCT:只顯示查詢結(jié)果中不重復(fù)的數(shù)據(jù),SELECT語句,FROM FROM AS 指定參加查詢的表 表名:要查詢的數(shù)據(jù)表(數(shù)據(jù)集)名,可以包括路徑 本地別名:給表指定一個(gè)別名,該別名只在該命令中有效,最簡(jiǎn)單的查詢,SELECT FROM 從“student00“表中查詢所有的所有信息 Libname cc “e:sasdataexp1“; Proc sql; SELECT a.* FROM cc.student00 as a;quit; 從“student00”表中查詢所有學(xué)生的學(xué)號(hào)、姓名和性別 Proc sql; SELECT number,name,gender FROM c.student00 Quit;,最簡(jiǎn)單的查詢,從“grade00“表中查出成績(jī)的最高值,并將結(jié)果的標(biāo)題設(shè)為“scoremax“ Proc sql; SELECT MAX(score) AS scoremax FROM cc.grade00; Quit;,條件子句,WHERE AND 過濾條件:用于過濾查詢的數(shù)據(jù)。 格式:別名.字段表達(dá)式=值 連接條件:用于建立兩個(gè)表間的關(guān)系。 別名1.字段表達(dá)式1=別名2.字段表達(dá)式2,條件子句,rxcj=500 AND rxcj=600rxcj BETWEEN 500 AND 600 Xm=張三 OR xm=李四 OR xm=王五xm IN (張三,李四,王五 ) Xh LIKE 200%,包含界于兩個(gè)數(shù)據(jù)之間的所有數(shù)據(jù),包含列出的所有數(shù)據(jù),條件子句,查出“student00”表中畢業(yè)學(xué)校為“北大附中“的學(xué)生學(xué)號(hào),姓名 Proc sql; SELECT number,name FROM cc.student00 WHERE school=“北大附中“; Quit;,分組子句,GROUP BY HAVING 用于統(tǒng)計(jì)時(shí)指定分組統(tǒng)計(jì)條件 分組表達(dá)式 設(shè)置分組的字段,使用字段名或別名,不能使用表達(dá)式 HAVING:將統(tǒng)計(jì)結(jié)果作為查詢過濾條件 和GROUP BY一起使用的統(tǒng)計(jì)函數(shù) SUM(),AVG(),COUNT(*),COUNT(),MAX(),MIN(),分組子句,分類統(tǒng)計(jì)grade00中各門課程的平均分?jǐn)?shù) Proc sql; SELECT courseid,AVG(score) AS scoreavg FROM cc.grade00 GROUP BY courseid; Quit; 如果沒有GROUP BY子句是怎樣的結(jié)果?,分組子句,按照grade中的“courseid”分組,統(tǒng)計(jì)平均分75以上的課程編號(hào) Proc sql; SELECT courseid,avg(score) as average FROM cc.grade00 GROUP BY courseid HAVING average=75; Quit;,排序子句,ORDER BY ASC | DESC 設(shè)置排序字段或表達(dá)式 表達(dá)式:指定排序的字段或表達(dá)式 ASC: 按表達(dá)式升序排列 DESC:按表達(dá)式降序排列 例:查詢grade00中信息并按成績(jī)的降序排列 Proc sql; SELECT * FROM cc.grade00 order by score desc; Quit;,多表查詢,查詢的數(shù)據(jù)來自多個(gè)表 必須指定表和表之間的聯(lián)接條件 在WHERE子句中建立聯(lián)接條件 在表子句中用JOIN子句建立聯(lián)接條件,多表查詢,T1,T2,SELECT * FROM T1,T2,無聯(lián)接條件的多表查詢,多表查詢,用WHERE子句設(shè)置聯(lián)接條件 在FROM子句中列出要查詢的多個(gè)表 在WHERE子句中加入聯(lián)接條件 .=. 結(jié)果集中只包含匹配的數(shù)據(jù),即使聯(lián)接條件為邏輯“真”的數(shù)據(jù),多表查詢,T1,T2,SELECT * FROM T1,T2 WHERE T1.C1=T2.C1,有聯(lián)接條件的多表查詢,多表查詢,查詢選修了課程的學(xué)生姓名、所選課程名及成績(jī),并將查詢結(jié)果寫入臨時(shí)數(shù)據(jù)集student Proc sql; Create table student as SELECT name,coursename,score FROM cc.grade00 as b,cc.student00 as a,cc.course as c WHERE b.number=a.number AND b.courseid=c.courseid; Quit;,多表查詢,從student00中統(tǒng)計(jì)出平均成績(jī)大于85分的學(xué)生 proc sql; create table stud00 as SELECT a.number,,AVG(b.score) as avgscore FROM cc.student00 as a,cc.grade00 as b WHERE a.number=b.number group BY a.number HAVING AVG(score)=85; quit; proc print;run;,SAS宏功能,將一個(gè)變量,一段程序或者一個(gè)文本命名,供以后調(diào)用,以減少在完成一些共同任務(wù)時(shí)必須輸入的文本量。 當(dāng)用戶在某個(gè)SAS程序中使用宏功能時(shí),這個(gè)宏功能產(chǎn)生所需要的SAS語句和命名,SAS系統(tǒng)的其余部份接受這些語句和命令.,SAS宏變量,可以在SAS程序的任何地方定義和使用宏變量 數(shù)據(jù)步變量是和數(shù)據(jù)集相聯(lián)系的,而宏變量是獨(dú)立于數(shù)據(jù)集的 數(shù)據(jù)集變量的值取決于正在處理的觀測(cè),而一個(gè)宏變量的值總是保持不變,直到被明確改變。 SAS系統(tǒng)包含兩種類型的宏變量: 自動(dòng)宏變量,由SAS系統(tǒng)提供; 用戶定義的宏變量,由用戶在程序中定義。,自動(dòng)宏變量,%put _automatic_; 查看所有自動(dòng)宏變量 SYSDATE SAS進(jìn)程開始的日期; SYSDATE9 以Date9.格式顯示SAS進(jìn)程開始的日期; SYSTIME SAS進(jìn)程開始的時(shí)間; SYSSCP 使用的操作系統(tǒng); SYSDAY SAS進(jìn)程開始是為星期幾; SYSVER SAS的版本; SYSLAST 最新創(chuàng)建的SAS數(shù)據(jù)集名;,宏變量的定義和引用,%LET 宏變量名=值 ; 宏變量的命名遵從一般的SAS命名規(guī)則 宏變量的值不需要加引號(hào) 宏變量的值可以是固定的字符串、其它宏變量的引用、宏函數(shù)和宏調(diào)用 宏變量的引用 &宏變量名,宏變量的引用舉例,%let x=cc.grade00; Data temp; Set ,宏,宏的定義 %macro 宏名稱(參數(shù)); 宏文本 %mend 宏的調(diào)用 %宏名稱,宏,例 %macro printdata(x); proc print data=,宏,宏的分支結(jié)構(gòu) %if 條件 %then %do; 語句組; %end; %else %do; 語句組; %end;,宏,宏的分支結(jié)構(gòu) %if 條件 %then %do; 語句組; %end; %else %do; 語句組; %end;,宏,宏的循環(huán)結(jié)構(gòu) %do 變量=初值 %to 終值 by

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論