inputステートメントでnull値を入力したい

スポンサーリンク

実際にはcardsステートメントのお話になります。

スポンサーリンク

null値がないとき

data card_blank_1;
  input A B AA $ BB $;
cards;
1 2 ABC DEF
3 4 XXX YYY
;
run;

まずはnull値がない場合の例です。
inputステートメント、cardsステートメントを利用して入力します。デフォルトで半角スペース区切りです。
問題なく入力できました。


null値があるとき(だめな例)

data card_blank_2;
  input A B AA $ BB $;
cards;
1 2 ABC DEF
3 4 XXX YYY
5   PPP QQQ
7 8     SSS
  10 TTT 
;
run;

null値を半角スペースとしてやってみます。区切り文字として解釈されることはすでにわかっているので動かないだろうとの予想はできますが、もしかしたらうまく解釈されるかなと思って試してみます。

案の定うまくいきません。
ログを見るとエラーやワーニングは出ていないのですが、NOTEでいろいろ指摘されています。


null値があるとき(よい例)

data card_blank_3;
  input A B AA $ BB $;
cards;
1 2 ABC DEF
3 4 XXX YYY
5 . PPP QQQ
7 8 .   SSS
. 10 TTT .
;
run;

cardsステートメントもnull値の記述には「.」(ピリオド)を使います。
文字変数の場合も同様です。

目論見どおりに作成されました。

コメント