2016年10月13日木曜日

ログに空白行を挿入するSKIPステートメント




ほぼ存在を知られていないであろうSKIPステートメントにスポットライトを当ててみようと思います。


構文

  SKIP 空白行の数;



たとえば 「SKIP 5;」 とすればログに5行空白行を挿入できます。



%put aaa;
skip 5;
%put bbb;


ログ

 70         %put aaa;
 aaa
 
 
 
 
 
 72         %put bbb;
 bbb



役に立つ例ってそんなにないですが、
昔、誰かが作ったマクロを実行したらエラー出まくりだったんで、以下のようにログを確認しやすくする目的で、SKIPを使ったことがありました。



%macro TEST(DS);
   data &DS;
   run;

   skip 3;
%mend;
%TEST(DT1);
%TEST(DT2);
%TEST(DT3);


ログ
 69         %macro TEST(DS);
 70            data &DS;
 71            run;
 72         
 73            skip 3;
 74         %mend;
 75         %TEST(DT1);
 
 NOTE: データセットWORK.DT1は1オブザベーション、0変数です。
 NOTE: DATA ステートメント処理(合計処理時間):
       処理時間           0.00 秒
       ユーザーCPU時間    0.00 秒
       システムCPU時間    0.00 秒
       メモリ             555.43k
       OSメモリ           20384.00k
       タイムスタンプ     2023/11/27 午後04:33:13
       ステップ数                        37  スイッチ数  2
       ページフォルト回数                0
       ページリクレーム回数              107
       ページスワップ回数                0
       自発的コンテキストスイッチ回数    11
       非自発的コンテキストスイッチ回数  0
       ブロック入力操作回数              0
       ブロック出力操作回数              160
       
 
 
 
 
 76         %TEST(DT2);
 
 NOTE: データセットWORK.DT2は1オブザベーション、0変数です。
 NOTE: DATA ステートメント処理(合計処理時間):
       処理時間           0.00 秒
       ユーザーCPU時間    0.00 秒
       システムCPU時間    0.00 秒
       メモリ             556.43k
       OSメモリ           20384.00k
       タイムスタンプ     2023/11/27 午後04:33:13
       ステップ数                        38  スイッチ数  2
       ページフォルト回数                0
       ページリクレーム回数              30
       ページスワップ回数                0
       自発的コンテキストスイッチ回数    10
       非自発的コンテキストスイッチ回数  0
       ブロック入力操作回数              0
       ブロック出力操作回数              160
       
 
 
 
 
 77         %TEST(DT3);
 
 NOTE: データセットWORK.DT3は1オブザベーション、0変数です。
 NOTE: DATA ステートメント処理(合計処理時間):
       処理時間           0.00 秒
       ユーザーCPU時間    0.00 秒
       システムCPU時間    0.00 秒
       メモリ             555.43k
       OSメモリ           20384.00k
       タイムスタンプ     2023/11/27 午後04:33:13
       ステップ数                        39  スイッチ数  2
       ページフォルト回数                0
       ページリクレーム回数              30
       ページスワップ回数                0
       自発的コンテキストスイッチ回数    12
       非自発的コンテキストスイッチ回数  0
       ブロック入力操作回数              0
       ブロック出力操作回数              160
       
 
 
 
 
 78 


上の例では、マクロを3回実行していますが、ログに空白行をいれたことで、なんとなく見やすくなって、、い、、、ますね!



0 件のコメント:

コメントを投稿