SAS學習 選取資料集的部分變數

2021-08-21 03:43:02 字數 1490 閱讀 5223

實現目標:從sashelp邏輯庫中的shoes資料集中選取部分變數到新的資料集

shoes資料集所包含的資料(部分)如下圖所示:

1、在set語句中使用資料集選項keep=和drop=

選項keep=表示只讀取變數列表中的變數,而選項keep=表示讀取除變數列表中列出的變數之外的其他所有變數。

data work.shoes_part1;

set sashelp.shoes(keep=product stores sales);*括號中的內容也可寫作drop=region subsidiary inventory returns 具體用哪個 取決於哪種方法會指定較少的變數;

run;

proc print data =work.shoes_part1(obs=5) noobs;

run;

2、在data步中使用keep和drop語句

data work.shoes_part2;

set sashelp.shoes;

keep product stores sales;

run;

proc print data =work.shoes_part2(obs=5) noobs;

run;

上述兩種方式在執行過程中有所不同。第一種形式在執行時,不會讀取全部變數到pdv中去,只會讀取指定需要的資料寫入到新資料集中;而第二種形式在執行時,會讀取全部變數到pdv中去,然後再通過相應的keep和drop語句進行選取並寫入新資料集。因此,使用資料集選項keep=和drop=通常會更有效率。

3、乙個data步中建立多個資料集

當需要在乙個data步中建立多個資料集時,可以通過在乙個data步中通過給每個資料集使用keep=和drop=來建立,而在data語句中使用這些選項會使pdv中包含全部變數,這時可以通過set語句中的資料集選項keep=和drop=來確定讀入pdv中的變數,這樣就不會使所有的變數都讀入到pdv中,以提公升程式執行的效率。

data work.shoes_sales(keep=product stores sales)

work.shoes_inventory(keep=product inventory returns);

set sashelp.shoes(drop=region subsidiary);

run;

proc print data=work.shoes_sales(obs=5) noobs;

title "product sales";

run;

proc print data=work.shoes_inventory (obs=5) noobs;

title "product inventory";

run;

SAS學習之建立資料集

一 在編輯器視窗直接建立資料集 1.用data語句 data 資料集名 資料集名只能由英文 數字和下劃線組成,第乙個詞不能是數字,不能包含空格 中文和特殊字元 2.用input語句輸入變數 input 變數1 變數2 3.用cards語句引領資料輸入 cards 資料 資料輸入結束時,分號必須另起一...

SAS對資料變數的處理

在使用data步基於已經存在的資料集生成新資料集時,可以指定在新資料集中不需要包含的變數而僅讀取其他變數,或者指定僅需要在 新資料集中包含的變數。該功能可以通過data步中的set語句和資料集選項keep 和drop 來實現,也可以通過keep和drop語句來實現。使用資料集選項keep 和drop...

SAS學習筆記(四) 關於資料整合的幾個細節

1 資料合併 縱向合併是指不同使用者的相同字段資訊進行合併,將表變長了啊 用set temp1 temp2 橫向合併是指相同使用者的不同字段進行擴充套件,將表變胖了啊 用merge temp1 temp2 2 資料彙總 比如對同乙個使用者,在乙個月內有好幾條交易額資訊,我們只想知道他乙個月的總和,那...