NOTE: 以下の箇所で◯◯を◯◯に変換しました。~SASログ入門 #2~
今回の注目ログメッセージは、 NOTE: 以下の箇所で数値を文字値に変換しました。 NOTE: 以下の箇所で文字値を数値に変換しました。 の、2つです。 「NOTE: 以下の箇所で数値を文字値に変換しました。」 data TEST ; length STR $5. ; /* 変数STRは文字です */ STR = 1234 ; putlog STR= ; run ; 上記のdataステップでは、変数STRをlengthステートメントで文字として定義しています。その文字変数STRに対して、数値1234 を格納しようとしています。 60 data TEST ; 61 length STR $5. ; /* 変数STRは文字です */ 62 STR = 1234 ; 63 putlog STR= ; 64 run ; NOTE: 以下の箇所で数値を文字値に変換しました。 (行:カラム) 62:9 STR=1234 NOTE: データセットWORK.TESTは1オブザベーション、1変数です。 NOTE: DATAステートメント処理(合計処理時間): 処理時間 0.02 秒 CPU時間 0.02 秒 文字変数に対して、数値は格納できないので、1234という数値は文字に変換されて、変数STRに格納されます。このとき、ログに、「NOTE: 以下の箇所で数値を文字値に変換しました。」が出力されます。このメッセージは、文字が入るべき箇所で数値が来ると出力されるログメッセージです。 代入式だけでなく関数の引数でも発生します。substr関数の第1引数は文字であるべきですが、下記のコードでは数値が記載されています。 63 data _null_ ; 64 STR = substr(123, 1, 1) ; 65 run ; NOTE: 以下の箇所で数値を文字値に変換しました。 (行:カラム) 64:16 NOTE...