式と演算子

Last-modified: 2010-07-15 (木) 16:33:59

式とは,データの値を表現しているものをいいます.たとえば,数値で3を表すのに,数字の「3」そのもので表す場合もあれば,
「2*5-7」と表現する場合もあるでしょう.もっとも,後者は3を表現したというより,何かの意味のある計算をした結果が3という値だったのでしょうけど.
SASでは,データの値を目的どおりに処理すために,定数や変数に演算子(+,-,*,/など)や,関数(sin,logなど)を使って,式をつくり,その計算結果の値を変数などに格納します(see also DATAステップステートメントの割り当てステートメント).
式には以下のものがあります.

  • 定数?
    値をそのままの形で表記します.数値はまったく値をそのままで,文字データの場合は,クォートします(「'」か,「"」で囲みます).日付や16進数値の場合は,クォートした後にdやxを添えます.
    3  25.46  "Japan" "10Jul2008"d  "FFFF"x
  • 変数?
    変数の名前を書くと,その時点で格納されている値が使われます.
    today  Sales_Amount X1 X2 Hight
  • 配列?
    ARRAYステートメントで定義された配列も変数と同じように扱えます.配列の添え字も,式で表せます.(see also DATAステップステートメントのARRAYステートメント)
    vol(1) MyTable(row,col)
  • 式 演算子
    式を演算子でつないだものも式です.前後に式をとる演算子を特に2項演算子といいます.
    2+15  today-7*2
  • 演算子
    後ろにだけ式をとる単項演算子もあります.
    -loss  not TRUE
  • ( 式 )
    式を括弧でまとめる事で,演算子の適用順序を制御します.次の式はそれぞれ,14と12です.
    (2+5)*2  2+5*2
  • 関数
    数学関数や文字操作の関数などいろいろあります.
    sqrt(2) cos(pi) sum(of x1-x10) substr(id,1,2)
  • 式 in演算子 (値1,値2,...)
    IN演算子というちょっと形式の違う演算子もあります.
    today in ("Sat","Sun")