【正文】
模式 Column 模式適用于讀入數(shù)據(jù)固定在某些列中或數(shù)據(jù)中只包含標(biāo)準(zhǔn)的字符和數(shù)字。 上面的程序的數(shù)據(jù)步在臨時(shí)庫(kù) WORK 中創(chuàng)建了 SAS 數(shù)據(jù)集 ,而過程步 PRINT則顯示該數(shù)據(jù)集,在 OUTPUT 窗口中顯示的運(yùn)行結(jié)果如圖 所示。 ? 雙尾符 作用是為了執(zhí)行下一條 INPUT語(yǔ)句時(shí) ,甚至在 DATA步重復(fù)執(zhí)行時(shí),仍然把指針保持在當(dāng)前輸入的記錄上。 Run 。 指針控制 相對(duì)位置 絕對(duì)位置 列指針控制 +表達(dá)式值 表達(dá)式值 行指針控制 / 表達(dá)式值 例如,下面的 DATA步程序是 把列指針定位在第 10 列。 OUTPUT 窗口中運(yùn)行結(jié)果如圖 所示。 在 OUTPUT 窗口中顯示的運(yùn)行結(jié)果如圖 所示。變量的順序和它們的數(shù)據(jù)值在數(shù)據(jù)行中的順序應(yīng)該是一致的。作用如下: ? “amp。 cc381fe59fe483e9d188433804805395 SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Page 14 of 14 將圖 8- 7所示的用逗號(hào)作為分隔符、字段數(shù)據(jù)中有空格和引號(hào)中有逗號(hào)的數(shù)據(jù)記錄讀入到 SAS 數(shù)據(jù)集,相應(yīng)的數(shù)據(jù)步程序如下: Data testd5 。 在 OUTPUT 窗口中顯示的運(yùn)行結(jié)果如圖 所示。若 INPUT語(yǔ)句中使用此格式修飾符,則引號(hào)被保留作為這個(gè)值的一部分,若 INPUT語(yǔ)句中沒有使用此格式修飾符,則引號(hào)被去掉。 “ amp。 3. list模式 list 模式也稱自由格式輸入,是使用最方便的輸入方式。 Proc print data=testd4 。 Proc print data=testd3 。 ( 3) 使用指針控制 指針控制可以把指針在行及列中的缺省位置當(dāng)前行第一列重新定位,使 INPUT 語(yǔ)句知道從哪行哪列開始讀取數(shù)據(jù)。 Input bdate $ 1016 ine $1723 .2 。 ? 單尾符 作用是為了執(zhí)行下一條 INPUT語(yǔ)句時(shí) ,仍然把指針保持在當(dāng)前輸入的記錄上。 Proc print data=testd1 。 PDV( Program Data Vector)稱為程序數(shù)據(jù)向量,它是根據(jù) DATA步中的 INPUT 語(yǔ)句所確定的變量和變量的讀入模式來創(chuàng)建的,假設(shè) INPUT 語(yǔ)句中各變量的長(zhǎng)度為 name $18 、sex $12 、 bdate 18 、 age 13 、 height 1 weight 16 、 ine 1 sdate 16 ,所創(chuàng)建的一個(gè) PDV 如下表: name sex bdate age height weight ine sdate 8 2 8 3 6 6 8 6 整個(gè) DATA步程序執(zhí)行過程中,涉及到: YN程序返回 D A T A 步的頂部退出 D A T A 步循環(huán),形成 S A S 數(shù)據(jù)集開始下一個(gè) D A T A 步或 P R O C 步D A T A 開始,并確定創(chuàng)建數(shù)據(jù)集名I N P U T 語(yǔ)句將文件下一條記錄讀入 P D V其它語(yǔ)句可以修改 P D V 中的內(nèi)容P D V 中值在 D A T A 步底部被寫入數(shù)據(jù)集I N F I L E 語(yǔ)句確定外部原始文件用 I N F I L E 所涉及到變量建立P D V ,并初始化外部文件下一條記錄是否為空? 圖 執(zhí)行 DATA 步時(shí)的內(nèi)部循環(huán)過程 cc381fe59fe483e9d188433804805395 SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Page 8 of 14 ? 一個(gè)存放外部文件記錄的輸入緩沖區(qū) ? 一個(gè)存放當(dāng)前觀測(cè)的 PDV向量 ? 一個(gè)外部文件記錄指針 ? 一個(gè)程序指針 ? 一個(gè) SAS 數(shù)據(jù)集觀測(cè)指針 如圖 所示。這種方法能把多樣的、復(fù)雜的外部文件數(shù)據(jù)格式通過程序語(yǔ)句的控制轉(zhuǎn)換為我們所需的 SAS數(shù)據(jù)集。 按回車鍵命令執(zhí)行后,得到用戶所需要的 ,然后按 Page Up /Page Down鍵所翻滾的前后記錄都是這個(gè)子集中的某一條記錄,用戶就能很方便地對(duì)這個(gè)子集中的記錄進(jìn)行編輯。按表格中的內(nèi)容輸入到窗口中相應(yīng)的位置。 二、 發(fā)布 SUBMIT 命令提交這段程序