文字項目を数値やSAS日付に変換するとき使う input 関数。指定したフォーマットに合わない無効なデータを引数として渡してしまうと、ログで NOTE: ~の引数は無効です。などと怒られてしまいます。 メッセージを出してほしくない!というときは、input 関数の中に、? を使用することで、ログにメッセージがでなくなります。使用方法は、入力フォーマットの前に ? を記載するだけです。 input(A, ? yymmdd8.) ; ? が1個だけだと、NOTE: ~の引数は無効です。のメッセージが消えて、_ERROR_ のメッセージは出力されます。?? だと両方ログから消えます。 サンプルコード data TEST ; input A $30. ; cards ; AAA こんにちは さようなら 20140102 20140830 20140229 20120229 run ; data TEST ; set TEST ; B = input(A, yymmdd8.) ; run ; data TEST ; set TEST ; C = input(A, ? yymmdd8.) ; run ; data TEST ; set TEST ; D = input(A, ?? yymmdd8.) ; run ; ログ 43 data TEST ; 44 input A $30. ; 45 cards ; NOTE: データセットWORK.TESTは8オブザベーション、1変数です。 54 run ; 55 56 data TEST ; 57 set TEST ; 58 B = input(A, yymmdd8.) ; 59 run ; NOTE: 関数INPUT (行 58 カラム 7)の引数は無効です。 A=AAA B=. _ERROR_=1 _N_=1 NOTE: 関数INPUT (行 58 カラム 7)の引数は無効です。 A=こんにちは B=. _ERROR_=1 _N_=2 NOTE: 関数INPUT (行 58 カラム 7)の引数は無効です。 A=さようなら B=. _ERROR_=1 _N_=3 NOTE: 関数INPUT (行 58 カラム 7)の引数は無効です。 A=20140229 B=
コメント
コメントを投稿