2
私はSPSSマクロは値を返すことができると思うので、代わりに私はこのような何かをする必要があります考え出しVIXL3 = !getLastAvail target=VIX level=3
のような値を割り当てるはありません:SPSSマクロ:変数名によって計算
/* computes last available entry of target at given level */
define !compLastAvail(name !Tokens(1) /target !Tokens(1) /level !Tokens(1))
compute tmpid= $casenum.
dataset copy tmpset1.
select if not miss(!target).
compute !name= lag(!target, !level).
match files /file= * /file= tmpset1 /by tmpid.
exec.
delete variables tmpid.
dataset close tmpset1.
!enddefine.
/* compute last values */
!compLastAvail name="VIXCL3" target=VIXC level=3.
compute !name = ...
があります問題は。
これはどのように正しく行う必要がありますか?上記の戻り値:
>Error # 4285 in column 9. Text: VIXCL3
>Incorrect variable name: either the name is more than 64 characters, or it is
>not defined by a previous command.
>Execution of this command stops.
マクロに渡すときは、 'VIXCL3'を引用符で囲むべきではありません。マクロが実行されたときにコンパイルされたコードを見るために 'mprint on'を設定しましたか?また、あなたが達成しようとしていることを示すおもちゃのデータセットを提供すれば、他の人々の仕事を助けやすくなります。 –
@AndyW素晴らしい、ありがとう。それをコピーペーストすれば、私はそれを受け入れることができます。 – Tom