2014年11月14日金曜日

引用符で囲んだ文字が長すぎる場合のWARNINGを出さないようにする方法


まずは以下のプログラムを実行してみてください。


data DT1;
A = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab";
run;

ログ
WARNING: 引用符で囲んだ文字列が 262 文字を超えているか、または引用符が足りません。


WARNINGが出てしまいました。
クオーテーションで囲った文字が長すぎる場合、「長すぎるよ、まさかクオーテーションで閉じるの忘れてない?」みたいなSASの親切心でWARNINGをだしてくれます。

このメッセージを表示しないようにするにはNOQUOTELENMAXオプションを設定します。
「NOQUOTELENMAX」でメッセージを抑制し、
「QUOTELENMAX」でメッセージを表示するように戻します。



options noquotelenmax;

data DT1;
A = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab";
run;

options quotelenmax;


上記のように、このオプションは使ったらすぐに設定を戻すようにしましょう。
本当にクオーテーションの閉じ忘れがあった時、気づきにくくなるので。

2 件のコメント: