При чтении набора данных, который содержит нулевые записи, шаг данных не запускает никаких операторов put.
data test;
set SASHELP.class end=eof;
where 1=0;
*output;
if _N_=1 then put '[';
put '"' name '",';
if eof then put name ']';
*output;
run;
Можно ли заставить некоторых из них?
Причина, по которой я это делаю, заключается в том, что я создаю файлы json с операторами put
(я использую SAS9.3 и пока не имею доступа к proc json
).
Файлы json полностью пусты, когда наборы данных пусты. Мне нужно, чтобы они содержали хотя бы пустой массив []
.
Это означает, что мне понадобятся по крайней мере эти две строки для запуска:
if _N_=1 then put '[';
if eof then put name ']';
На данный момент я вынужден разделить это на 3 шага данных, один с головой (_N_=1
), один с записями и последний с хвостом (eof=1
). Может есть более короткое решение?