|
|
本章は、プログラム制御に関する文法の説明と、コードサンプルを例示しています。
プログラム制御ステートメントはDATAステップでもPROCステートメントでも使用することができる汎用ステートメントです。 |
|
|
|
|
|
@ IF 条件文 THEN 処理1 ; 'コードが1つの場合
A IF 条件文 THEN 'コードが複数の場合
DO ;
処理1 ;
処理2 ;
・
END ;
ex.
IF age <= 18 THEN hantei = 'A' ;
IF age <= 18 THEN
DO ;
hantei = 'A' ;
group = 1 ;
END ;
|
|
|
|
|
|
|
@ IF 条件文 THEN 'コードが1つの場合
処理1 ;
ELSE 処理2 ;
A IF 条件文 THEN 'コードが複数の場合
DO ;
処理1 ;
処理2 ;
・
END ;
ELSE DO ;
処理3 ;
処理4 ;
・
END ;
ex.
IF age <= 18 THEN
hantei = 'A' ;
ELSE
hantei = 'B' ;
IF age <= 18 THEN
DO ;
hantei = 'A' ;
group = 1 ;
END ;
ELSE
DO ;
hantei = 'B' ;
group = 2 ;
END ; |
|
|
|
|
|
|
|
SELECT ;
WHEN(条件文) 処理1 ;
WHEN(条件文) 処理2 ;
・
OTHERWISE 処理3 ;
END ;
ex.
SELECT ;
WHEN(age <= 18) hantei = 'A' ;
WHEN(age >= 60) hantei = 'B' ;
OTHERWISE hantei = 'C' ;
END ; |
|
|
|
|
|
SASでは以下の比較演算子を用いることが出来ます。 |
|
=、EQ |
等しい |
>、GT |
より大きい |
<、LT |
より小さい |
^=、NOT=、NE |
等しくない |
>=、GE |
以上 |
<=、LE |
以下 |
IN |
右辺のリストにある |
ex. IF location IN('sapporo',tokyo'、'osaka','fukuoka')
IF location NOT IN('sapporo',tokyo'、'osaka','fukuoka') |
|
|
|
|
SASでは以下の論理演算子を用いることが出来ます。
|
|
|
|
|
|
|
|
DO i = j to k; ;
処理1 ;
処理2 ;
・
処理3 ;
END ; |
|
|
|
|
|
ある条件にあったオブザベーションだけを処理の対象とする場合にはWHEREステートメントを使用します。
WHEREステートメントはDATAステップでもPROCステートメントでも使用することができる汎用ステートメントです。
PROC PRINT DATA=・・・・;
WHERE age >= 30;
RUN; |