本章は、プログラム制御に関する文法の説明と、コードサンプルを例示しています。
 
条件分岐(IF...THEN) ↑ このページの最初へ
@ 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...ELSE) ↑ このページの最初へ
@ 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) ↑ このページの最初へ
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では以下の論理演算子を用いることが出来ます。
&、AND 等しい
|、!、OR より大きい
 
繰り返し(ループ)処理(Do) ↑ このページの最初へ
DO i = j to k; ;
 処理1 ;
 処理2 ;
    ・
 処理3 ;
END ;
 
処理するオブザベーションの指定(WHERE) ↑ このページの最初へ
ある条件にあったオブザベーションだけを処理の対象とする場合にはWHEREステートメントを使用します。WHEREステートメントはDATAステップでもPROCステートメントでも使用することができます。

 PROC PRINT DATA=・・・・;
  WHERE age >= 30;
 RUN;
 
 

↑ このページの最初へ

  ご意見・ご感想をお寄せください。info@beagle-hc.com ‖ このサイトについて                                     
  Copyright 2006 - 2009 uTRAM Corp. All Rights Reserved
BEAGLE-HC
HOME くすりのこと 研究開発 個別業務 IT 広報・教育 団体・組織

医薬品・医療機器の研究・開発 ポータルサイト
          サイトマップ
 現在位置 : HOME > IT プログラミング > SAS コードライブラリアン(プログラム制御)