2018年1月23日火曜日

PROC FORMAT入門2 : 範囲の指定




まずは以下の例をご覧ください。



*** フォーマットを定義 ;
proc format;
   value TEST1_
      1 - 3 = "1~3"
      other = "その他"
   ;
run;

*** フォーマット変換 ;
data DT1;
   length X 8. Y $20.;
   do X=1 to 5;
      Y = put(X,TEST1_.);
      output;
   end;
run;
  X   Y 
  1  1~3 
  2  1~3
  3 1~3
  4 その他  
  5 その他



FORMATプロシジャの部分でやっているのは、

proc format;
   value TEST1_
      1 - 3 = "1~3"
      other = "その他"
   ;
run;

1~3 の値だったら、"1~3" というフォーマットをあて、
それ以外の値だったら、"その他" というフォーマットをあてるように定義しています。


このように範囲に対してフォーマットをあてることができます。
範囲の指定方法は以下のようなものがあります。



範囲の指定方法

  指定例    意味   解説
  1, 2, 3

  1 or 2 or 3

  「,」で区切って含める値を指定

  1-10

  1~10 

  「-」で範囲を指定

  low-10

  10以下 

  「low」は欠損値以外の最小値という意味になる

  1-high

  1以上

  「high」は欠損値以外の最大値という意味になる

  1-<10 


  1以上,10未満  


  「<」で「未満」や「超」の意味を持たせることができる。

   例えば、以下のような感じ。
            1 -< 10 = "1以上,10未満"
            1 <- 10 = "1超,10以下"
            1 <-< 10 = "1超,10未満"

  other


  その他


  いずれの条件にも一致しない場合のFORMAT値を指定
  例えば、フォーマットの指定で、

             1 - 3 = "1~3"
             other = "その他"

  とすると、1~3以外の値に"その他"を割り当てます。






PROC FORMAT入門 : 記事一覧


0 件のコメント:

コメントを投稿