FORMAT SAS

【SAS】FORMATプロシージャはフォーマットルールを定義し、値を書き換える。その2

投稿日:2021年12月2日 更新日:

今回もFORMATプロシージャについて解説します。

前回は値の範囲によって、定義されたフォーマットルールに従い、値を書き換えるという内容でした。


/* = */
data data1;
  番号="111111"; test = 10;
    output;
  番号="222222"; test = 20;
    output;
  番号="333333"; test = 30;
    output;
  番号="444444"; test = 40;
    output;
  番号="555555"; test = 50;
    output;
  番号="666666"; test = 60;
    output;
run;


proc format;
  value point  10= 'Low'
               20= 'High';
run;


proc print data = data1;
  format test point.;
run; 


  • formatプロシージャにより10 = ‘Low’、20 = ‘High’とする「point」というルールを設定する。
  • 変数testをpoint.のフォーマットルールで書き換える。
  • 条件が値でも、実行できる。

/* low high */
data data1;
  番号="111111"; test = 10;
    output;
  番号="222222"; test = 20;
    output;
  番号="333333"; test = 30;
    output;
  番号="444444"; test = 40;
    output;
  番号="555555"; test = 50;
    output;
  番号="666666"; test = 60;
    output;
run;


proc format;
  value point low  -   50 = 'Low'
  51 - high = 'High';
run;

proc print data = data1;
  format test point.;
run; 

  • formatプロシージャによりlow – 50 = ‘Low’、51 – high = ‘High’とする「point」というルールを設定する。
  • 変数testをpoint.のフォーマットルールで書き換える。
  • 範囲にlow, highを設定できる。

-FORMAT, SAS

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

SAS Base Programmingの資格を取りました。試験の流れを解説します。[出題された問題のリークも]

仕事でSASというプログラミング言語を使用してるのですが、 SASの資格を欲しいと思って先日、SASの試験Base Programmingを受けてきました。 2021年内に2回受験をして、 1回目は不 …

【SAS】IFステートメントは処理を分岐できる。その1

今回はSASのif文について解説していきたいと思います。 【IF文の関連記事】 (明示的、暗黙的OUTPUT:【SAS】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」 | ビジネスイ …

【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこまでなのか)区切り文字の解説も

今回はYYMMDDにフォーカスして解説します。 前回、PUT+DATE,YYMMDDにより、SAS日付値を日付形式に変換表示する方法を解説しました。 【SAS】PUT+DATE,YYMMDDはSAS日 …

【SAS】SASで良く使うテクニック。その3 「Ctrl+D」~データセットのオブザベーション数が多いとき~【Excel】

今回はSASで良く使うテクニックということで、データセットのオブザベーション数(行数)が多いときは「Ctrl+D」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使うテクニック。その …

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。その2(%LETステートメント中の挙動)

今回は%SYSFUNC関数について、%LETステートメント中の挙動に着目して解説します。 /* substr */ %let a = substr(123456789, 2, 4); data dat …