|
|
|
| |
| 本章は、データ操作に関するコードサンプルを例示しています。 |
| |
|
|
|
SASでは以下の四則演算子を用いることが出来ます。
|
|
| + |
加算 |
| − |
減算 |
| * |
乗算 |
| / |
除算 |
| ** |
べき乗 |
|
|
|
|
|
|
|
SASでは関数を用いて計算を行うことがことが出来ます。関数は欠損値を計算の対象からはずして計算します。 |
|
|
| SUM(引数1,引数2,・・・) |
合計値を求める |
| MEAN(引数1,引数2,・・・) |
平均値を求める |
| MAX(引数1,引数2,・・・) |
最大値を求める |
| MIN(引数1,引数2,・・・) |
最小値を求める |
| ROUND(引数1,四捨五入の位置) |
四捨五入する |
|
|
|
|
|
|
|
|
文字列を結合は || (バーティカルバー)を用いて行います。
ex.
atena = sei || mei || ’さま’ |
|
|
|
|
|
|
|
SASでは以下の関数を用いて文字列操作をすることが出来ます。 |
|
|
| 関数 |
処理 |
文法 |
使用例 |
| TRIM |
後ろの空白を削除 |
TRIM(a) |
a='apple '
b='sauce '
noblank=trim(a)||b;
結果noblank=applesauce |
| COMPRESS |
任意の文字を削除 |
COMPRESS(a,削除文字または文字列) |
x='A.B (C=D);';
y=compress(x,'.;()');
結果y:AB C=D |
| LEFT |
左寄せ |
LEFT(a) |
a=' DUE DATE';
b=left(a);
結果b=DUE DATE |
| RIGHT |
右寄せ |
RIGHT(a) |
a='DUE DATE ';
b=right(a);
結果b=DUE DATE |
| INDEX |
文字列中の位置を求める
(合致した最初の位置) |
INDEX(a,b)) |
a='ABC.DEF (X=Y)';
b='X=Y';
x=index(a,b);
結果x=10 |
| INDEXC |
文字列中の位置を求める
(1文字でも合致した最初の位置) |
INDEXC(a,文字列,文字列n) |
a='ABC.DEP (X2=Y1)';
x=indexc(a,'0123',';()=.');
結果x=4 |
| LENGTH |
文字列の長さを求める |
LENGTH(a) |
len=length('ABCDEF');
結果len=6 |
| REVERSE |
逆順に並べる |
REVERSE(a) |
backward=reverse('xyz ');
結果backward=zyx |
| SUBSTR |
b番目の文字から「c」文字分取り出す |
SUBSTR(a,b,c) |
a='KIDNAP';
substr(a,1,3)='CAT';
aの1-3文字を'CAT';に置き換える |
| UPCASE |
大文字に変換 |
UPCASE(a) |
name=upcase('John B. Smith');
結果:JOHN B. SMITH |
|
|
|
参考サイト:Functions and CALL Routines |
|
|
|
|
|
|
|
num = char + 0; または
num = char * 1;
|
|
|
|
|
|
|
|
SAS社FAQサイト Technical Support Frequently Asked Questions に記載があります |
|
|
|
|
|
|
|
Magazines :SAS Technical News Spring 2006 の「Q&A」を参照してください |
|
|
|
|
|
|
|
SAS社FAQサイト Technical Support Frequently Asked Questions に記載があります |
|
|
|
|
|
|
|
Magazines :SAS Technical News Summer 2005 の「Q&A」を参照してください |
|
|
|
|
|
|
|
Magazines :SAS Technical News Spring 2005 の「Q&A」を参照してください |
|
|
|
| |
|
↑ このページの最初へ
|
| ご意見・ご感想をお寄せください。info@beagle-hc.com ‖ このサイトについて |
| Copyright 2006 - 2009 uTRAM Corp. All Rights Reserved
|