条件付き処理 (DEFINE-!ENDDEFINE コマンド)

!IF 構成体は、処理の条件を指定します。 構文は次のとおりです。

!IF (expression) !THEN statements
                [!ELSE statements]
!IFEND
  • !IF!THEN、および !IFEND はすべて必須です。 !ELSE はオプションです。
  • 式の結果が真の場合、 !THEN の後のステートメントが実行されます。 式の結果が false で、 !ELSE が指定されている場合、 !ELSE の後のステートメントが実行されます。 それ以外の場合、プログラムは続行されます。
  • 式に有効な演算子には、 !EQ!NE!GT!LT!GE!LE!OR!NOT、および !AND、または =、~ = (¬ =)、>、<、> =、< =、|、~ (¬)、および &があります。
  • マクロが展開されると、引数が置換され、関数が実行された後に、条件付き処理構文が解釈されます。
  • !IF ステートメントは、必要に応じていつでもネストすることができます。 括弧を使用して、評価の順序を指定することができます。 デフォルトの順序は変換の場合と同じです。 !NOT!ANDよりも優先され、は !ORよりも優先されます。

DEFINE mymacro(type = !DEFAULT(1) !TOKENS(1))
!IF (!type = 1)!then 
frequencies variables=varone.
!ELSE 
descriptives variables=vartwo.
!IFEND
!ENDDEFINE.