Study SAS

統計解析ソフトウェアSASについて学習したことのまとめやSAS認定試験対策など

SAS Base Programmer 練習問題2

データセットCOMPANY.PRICESに以下のようなデータが入っている

OBS prodid price producttype sales returns
1 K12S 5.10 NETWORK 15 2
2 B132S 2.34 HARDWARE 300 10
3 R18KY2 1.29 SOFTWARE 25 5
4 3KL8BY 6.37 HARDWARE 125 15
5 DY65DW 5.60 HARDWARE 45 5
6 DGTY23 4.55 HARDWARE 67 2


次のコードをサブミットしたとき、
データセットHWAREに格納されるオブザーベーションの数はいくつか

libname company 'SAS-data-library';

data hware inter soft;
    set company.prices (keep = producttype price);
    if price le 5.00;
    if producttype = 'HARDWARE' then output HWARE;
    else if producttype = 'NETWORK' then output INTER;
    else if producttype = 'SOFTWARE' then output SOFT;
run;


A. 0
B. 2
C. 4
D. 6

出典はこちら


答え: B (要反転)

最初のifステートメントでpriceの値が5より小さいレコードでサブセット化され、

prodid price producttype sales returns
B132S 2.34 HARDWARE 300 10
R18KY2 1.29 SOFTWARE 25 5
DGTY23 4.55 HARDWARE 67 2

この中で、producttypeが'HARDWARE'であるデータをデータセットHWAREに格納する。対象となるレコードは

prodid price producttype sales returns
B132S 2.34 HARDWARE 300 10
DGTY23 4.55 HARDWARE 67 2

となりオブザーベーション数は2。
なお、実際のHWAREの内容は

OBS price producttype
1 2.34 HARDWARE
2 4.55 HARDWARE

となる。