私はまだSAS特殊文字の扱いにこだわっています。
%macro mFormat();
%do i=1 %to &numVar. ;
proc format library = work ;
invalue $ inf&&nomVar&i..s
%do j=1 %to &&numMod&i.;
"%superq(tb&i.mod&j.)" = &j.
%end;
;
run;
proc format library = work ;
value f&&nomVar&i..s
%do k=1 %to &&numMod&i.;
&k. = "%superq(tb&i.mod&k.)"
%end;
;
run;
%end;
%mend mFormat;
%mFormat();
ご覧のとおり、プログラムは各変数のフォーマットとインフォーマットを作成することを想定しています。私の唯一の問題は、変数名が次を含むブランドに解決されるときです
GOTAN-GOTAN
FRANCES-FRANCES
+&DECO- + DECO&
など..。
これらの名前は私をこのエラーに導きます
「エラー:この範囲が繰り返されているか、値が重複しています:」</ p>
SASにそれらの名前を強制的に読み取らせることができるといいのですが。または、おそらく、これは、これらの文字(&、%、-、'、 ")を含む変数のFORMATSおよびINFORMATSを生成するための最良のアプローチではありません。