式とは,データの値を表現しているものをいいます.たとえば,数値で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")