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'來查看已編譯的代碼?如果你提供一個玩具數據集來展示你正在努力完成的任務,它也會使其他人的工作變得更容易。 – 2012-01-13 22:15:06
@AndyW優秀,謝謝。如果你複製粘貼作爲答案,我可以接受它。 – Tom 2012-01-13 23:11:35