初めて投稿させて頂きます。SAS 9.4 64bit 日本語を使用しています。
%do %untilで文字列を分割するため、以下のコードを書きましたがエラーが発生します。
分割後の文字列「A-2」を%do %untilの終了条件として評価する際にエラーが発生しているようですが、
回避策はございますでしょうか。ご教示いただけますと幸いです。
%let str = A-1|A-2;
%macro test();
%let i = 1;
%do %until(%scan(&str, &i, %str(|)) = %str());
%let sub = %scan(&str, &i, %str(|));
%put ⊂
%let i = %eval(&i + 1);
%end;
%mend;
%test;
ERROR: 数値演算項が必要とされる%EVAL関数または%IF条件に、文字演算項が見つかりました。条件: %scan(&str, &i, |) =
ERROR: %DO %UNTILループの条件%scan(&str, &i, ) = に、無効な値または欠損値が発生しました。マクロの実行を中止します。
ERROR: マクロTESTの実行を中止します。