たいした答え用意してるわけじゃないし、SASマスターにとっては簡単なクイズかも。
問題
以下「???」にプログラムを追加することによって、SUM関数の結果をERRORにさせて、データステップを中止させて下さい。
data TEST;
???
Y = sum(1,2,3);
run;
|
回答例
↓
↓
↓
↓
↓
↓
↓
↓
私の思いつく正解としては、「ARRAYを使う」です。
以下をご覧ください。
data TEST;
array sum(1) _temporary_;
Y = sum(1,2,3);
run;
ログ
NOTE: 配列sumの名前がSAS提供またはユーザー定義関数の名前と同一です。この名前の後ろのかっこは、関数の参照ではなく、
配列の参照として処理されます。
ERROR: 配列sumに指定した添字の数が多すぎます。
NOTE: エラーが発生したため、このステップの処理を中止しました。
|
(ARRAYの構文は例なので適当です、やりたい事が出来ていればOK)
ログに出てるメッセージの通り、sumという配列を定義しちゃって、sum関数を認識できないようにしちゃってます。
他に方法ってあるのかな?
思いついた方いたら、コメントお願いします。