【文章內(nèi)容簡介】
S語句代替 INFILE語句。所對應(yīng)的一般程序結(jié)構(gòu)如下: Data 所要創(chuàng)建的數(shù)據(jù)集名 。 圖 調(diào)用 VIEWTABLE 窗口瀏覽數(shù)據(jù)集 cc381fe59fe483e9d188433804805395 SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財經(jīng)大學(xué)經(jīng)濟信息管理系 IS/SHUFE Page 7 of 14 Infile ?讀取的外部文件名 ’ FIRSTOBS=開始讀入的行 OBS=結(jié)束行 。 Input 變量 1 讀入模式 變量 2 讀入模式 ……。 Run 。 此程序 結(jié)構(gòu)很容易被錯誤理解為順序結(jié)構(gòu),其實它的內(nèi)部執(zhí)行結(jié)構(gòu)是一種循環(huán)結(jié)構(gòu)。如圖 所示是它執(zhí)行過程的程序流程圖。 PDV( Program Data Vector)稱為程序數(shù)據(jù)向量,它是根據(jù) DATA步中的 INPUT 語句所確定的變量和變量的讀入模式來創(chuàng)建的,假設(shè) INPUT 語句中各變量的長度為 name $18 、sex $12 、 bdate 18 、 age 13 、 height 1 weight 16 、 ine 1 sdate 16 ,所創(chuàng)建的一個 PDV 如下表: name sex bdate age height weight ine sdate 8 2 8 3 6 6 8 6 整個 DATA步程序執(zhí)行過程中,涉及到: YN程序返回 D A T A 步的頂部退出 D A T A 步循環(huán),形成 S A S 數(shù)據(jù)集開始下一個 D A T A 步或 P R O C 步D A T A 開始,并確定創(chuàng)建數(shù)據(jù)集名I N P U T 語句將文件下一條記錄讀入 P D V其它語句可以修改 P D V 中的內(nèi)容P D V 中值在 D A T A 步底部被寫入數(shù)據(jù)集I N F I L E 語句確定外部原始文件用 I N F I L E 所涉及到變量建立P D V ,并初始化外部文件下一條記錄是否為空? 圖 執(zhí)行 DATA 步時的內(nèi)部循環(huán)過程 cc381fe59fe483e9d188433804805395 SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財經(jīng)大學(xué)經(jīng)濟信息管理系 IS/SHUFE Page 8 of 14 ? 一個存放外部文件記錄的輸入緩沖區(qū) ? 一個存放當(dāng)前觀測的 PDV向量 ? 一個外部文件記錄指針 ? 一個程序指針 ? 一個 SAS 數(shù)據(jù)集觀測指針 如圖 所示。 二、 讀入模式 確定變量的讀入模式共有四種: ? column 模式 ? formatted 模式 ? list 模式 ? named 模式 我們在這里將介紹三種主要的 column 模式、 formatted 模式和 list 模式。 1. Column 模式 Column 模式適用于讀入數(shù)據(jù)固定在某些列中或數(shù)據(jù)中只包含標(biāo)準(zhǔn)的字符和數(shù)字。在INPUT 語句中的一般使用形式如下: Input 變量 1 $ 開始列 結(jié)束列 .小數(shù)位 變量 2 …… 。 變量后不帶 $符號表示此變量讀取數(shù)字。 數(shù)據(jù)步D A T A輸入緩沖區(qū) I N F I L E 輸出緩沖區(qū) I N P U T外部數(shù)據(jù)文件 ? S A S 數(shù)據(jù)集123 ? 234 ? ? ?R U N+ 111P D V123+111=234 圖 文件記錄指針、程序指針、觀測指針 cc381fe59fe483e9d188433804805395 SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財經(jīng)大學(xué)經(jīng)濟信息管理系 IS/SHUFE Page 9 of 14 例如,我們在 NOTEPAD 記事本程序中輸入如圖 所示的內(nèi)容,操作如下: ? 在 Windows 桌面上 的開始菜單中選擇 ? 程序 /附件 /記事本 —— 打開 NOTEPAD程序方法 ? 并以 D:\sasdata\mydir目錄下,作為一個我們用來實驗的外部文件 相應(yīng)地,在 SAS 系統(tǒng)的 PROGRAM EDI