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】INTCK関数は指定された区間に指定された単位を何回跨ぐか数える。

data data1; Id1 =intck(“YEAR”, ’31Dec2019’d, ‘1Jan2020’d); run; 2019/12/31~2020/1/1の間に年を何回跨ぐか数える。 /* …

【SAS】LIKE演算子は部分一致を表現できる。【WHERE】

/* if ‘%aaaa%’ */ data data1; Id1=1111; Id2=”1aaaa”; Id3=1111; output; Id1=2222; Id2=”bbbb”; Id3=222 …

【SAS】SUBSTR関数を使って右から文字列を切り取る方法について解説【LENGTHN】

今回はSUBSTR関数を使って右から文字列を切り取る方法について解説します。 (参考:【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。 | ビジネスイッチ (how-to-busine …

【SAS】%PUTステートメントは文字列をログに出力する。その2

今回も%PUTについて解説します。 以下の記事では、%putにより、文字列をログに表示できるという内容でした。 【SAS】%PUTステートメントは文字列をログに出力する。その1 /* 1+1 */ % …

【SAS】サブクエリについて解説

今回はSQLのfrom句にサブクエリを使用した場合の動きについて、解説します。 [from句] まずは通常のSQLプロシージャから。 /* サブクエリ(from句_1) */ data data1; …