私は古い質問をします。私はコードを持っていて、これまでの質問を見たことがあるが、私は間違いを訂正することができない。以下はダミーデータのコードです。変数の名前をマクロに渡すことができません。変数リストをsasマクロに読み込む
data x;
inputs x$ y z;
datalines;
a 23 34
b 34 43
a 23 54
b 87 78
a 12 32
b 22 33
;
run;
は今、私はその後、私はマクロ記述変数
%let name_list=y z;
のリストを作成します。
%macro mixed;
%let j=1;
%let first=%scan(&name_list.,%eval(&j));
%do %while (&first ne);
proc mixed data=x;
class x;
model &name_list.=;
random x;
ods output covParms=cov1;
run;
%let j=%eval(&j+1);
%let first=%scan(&name_list.,%eval(&j));
%end;
run;
%mend;
%mixed;
いくつかこれが機能していませんか。どんな助けもありがとう。
あなたのマクロコードは機能しますが(改善することはできます)。 「うまくいかない」とはどういう意味ですか? PROC MIXEDのために生成しようとしているMODEL文は何ですか?今、あなたは 'model y z =;'を生成していますが、これが問題になる可能性があります。 – Quentin
マクロ呼び出しの前に 'options mprint mlogic symbolgen;'を追加することは、少なくとも診断に役立つかもしれません。 – Hugs