我想的存储值在不同的文件中的变量列表上运行命令。要做到这一点,我基于变量名,这样创造了新的语法:
WRITE OUT="\Selection.sps"
/"VARIABLE ATTRIBUTE VARIABLES = Final_",Var1," ATTRIBUTE=selectVars('yes')." .
EXECUTE.
问题是最终和VAR1之间,我收到11位。其中,我想用这个宏文件具有变量名称Final_Var1(因此,在新的文件,最终被添加到每个变量的名称)。如何删除空间,使新的变量可以适当简称?我应该创建一个新的文件或COMPUTE
和CONCAT
命令?
该write
命令限制这样的 - 你不能避免的空间或使用trim
。对于像你在那里工作的一个命令,是没有办法的write
命令中建立命令 - 你必须建立文本提前,然后把它放在write
命令,所以 -
strimg mycmd(a100).
compute mycmd=concat("VARIABLE ATTRIBUTE VARIABLES = Final_",
ltrim(string(Var1,f4)),
" ATTRIBUTE=selectVars('yes').").
WRITE OUT="\Selection.sps" /mycmd .
exe.
请注意,这不是在变量列表的唯一方式 - 您可以使用语法中的Python代码更有效地建立自己的变量列表。
我找到了一个临时的解决方案,以便从这些变量中的空格,我创建使用一个新的变量:
*Add a variable to use in .sps file.
NUMERIC A(F4).
COMPUTE A = Var1.
ALTER TYPE A (A25).
STRING CMD (A100).
COMPUTE CMD = CONCAT("VARIABLE ATTRIBUTE VARIABLES = Final_", LTRIM (A) , ATTRIBUTE=selectVars('yes').").
EXECUTE.
WRITE OUT="File location\Selection.sps" /CMD.
EXECUTE.
现在宏可以使用Selection.sps创建。
如果简单的方式存在,请让我知道!