Sas-functions
提供:Dev Guides
SAS-関数
SASには、データの分析と処理に役立つさまざまな組み込み関数があります。 これらの関数は、DATAステートメントの一部として使用されます。 データ変数を引数として受け取り、別の変数に保存された結果を返します。 関数のタイプによって、取る引数の数は異なります。 ゼロの引数を受け入れる関数もあれば、固定数の変数を受け入れる関数もあります。 以下は、SASが提供する機能のタイプのリストです。
構文
SASで関数を使用するための一般的な構文は次のとおりです。
FUNCTIONNAME(argument1, argument2...argumentn)
ここで、引数は定数、変数、式、または別の関数です。
機能カテゴリ
使用法に応じて、SASの機能は次のように分類されます。
- 数学的
- 日時
- キャラクター
- 切り捨て
- その他
数学関数
これらは、変数値に数学的計算を適用するために使用される関数です。
例
以下のSASプログラムは、いくつかの重要な数学関数の使用を示しています。
- データMath_functions; *
v1=21; v2=42; v3=13; v4=10; v5=29;
/*Get Maximum value*/
max_val = MAX(v1,v2,v3,v4,v5);
/*Get Minimum value*/
min_val = MIN (v1,v2,v3,v4,v5);
/*Get Median value*/
med_val = MEDIAN (v1,v2,v3,v4,v5);
/*Get a random number*/
rand_val = RANUNI(0);
/*Get Square root of sum of the values*/
SR_val= SQRT(sum(v1,v2,v3,v4,v5));
proc print data = Math_functions noobs;
run;
上記のコードを実行すると、次の出力が得られます-
日付と時刻の関数
これらは、日付と時刻の値を処理するために使用される関数です。
例
以下のSASプログラムは、日付および時刻関数の使用を示しています。
data date_functions;
INPUT @1 date1 date9. @11 date2 date9.;
format date1 date9. date2 date9.;
/* Get the interval between the dates in years*/
Years_ = INTCK('YEAR',date1,date2);
/* Get the interval between the dates in months*/
months_ = INTCK('MONTH',date1,date2);
/* Get the week day from the date*/
weekday_ = WEEKDAY(date1);
/*Get Today's date in SAS date format*/
today_ = TODAY();
/*Get current time in SAS time format*/
time_ = time();
DATALINES;
21OCT2000 16AUG1998
01MAR2009 11JUL2012
;
proc print data = date_functions noobs;
run;
上記のコードを実行すると、次の出力が得られます-
キャラクター関数
これらは、文字またはテキスト値の処理に使用される関数です。
例
以下のSASプログラムは、文字関数の使用を示しています。
data character_functions;
/*Convert the string into lower case*/
lowcse_ = LOWCASE('HELLO');
/*Convert the string into upper case*/
upcase_ = UPCASE('hello');
/*Reverse the string*/
reverse_ = REVERSE('Hello');
/*Return the nth word*/
nth_letter_ = SCAN('Learn SAS Now',2);
run;
proc print data = character_functions noobs;
run;
上記のコードを実行すると、次の出力が得られます-
切り捨て関数
これらは、数値の切り捨てに使用される関数です。
例
以下のSASプログラムは、切り捨て関数の使用を示しています。
data trunc_functions;
/*Nearest greatest integer*/
ceil_ = CEIL(11.85);
/*Nearest greatest integer*/
floor_ = FLOOR(11.85);
/*Integer portion of a number*/
int_ = INT(32.41);
/*Round off to nearest value*/
round_ = ROUND(5621.78);
run;
proc print data = trunc_functions noobs;
run;
上記のコードを実行すると、次の出力が得られます-
その他の機能
SASのさまざまな機能をいくつかの例を挙げて理解しましょう。
例
以下のSASプログラムは、その他の関数の使用を示しています。
data misc_functions;
/*Nearest greatest integer*/
state2=zipstate('01040');
/*Amortization calculation*/
payment = mort(50000, . , .10/12,30*12);
proc print data = misc_functions noobs;
run;
上記のコードを実行すると、次の出力が得られます-