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】SAS日時値から0埋めの時間表記に変換する方法【TOD】【DATETIME】【PUT】

今回はDATETIMEでSAS日時値を取得した後に、TODを使って0埋めの時間表記に変換する方法について解説していきます。 (PUTの形式変換:【SAS】PUT+DATE,YYMMDDはSAS日付値を …

【SAS】「NOTE: PROC SQLはNOEXECオプションを設定し、ステートメントの構文をチェックします。」の対処法

今回はSQLプロシージャを実行した際に、NOEXECオプションを使用していないにも関わらず、 勝手にNOEXECオプションが有効になってしまう場合の対処法について解説します。 結論:構文エラーを正す。 …

【SAS】DROPで良く問われる文法【SAS Base Programming対策8】

今回もDROPについて解説します。 (対比:KEEP 【SAS】KEEPはカラムの選択に使える。 | ビジネスイッチ (how-to-business.com)) 過去記事ではDROPの使い方について …

【SAS】FIRST, LASTは重複を削除しユニーク化する

今回はfirst, lastについて解説します。 /*first last1*/ data data1; 番号=”1111″; 日付=”20210331″; output; 番号=”1111″; 日付 …

【SAS】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」

今回はOUTPUTとDELETEにスポットを当てていきたいと思います。 /* output, delete無し */ data data1; Id1=1111; Char1=”AAAA”; outpu …