使用 Write 命令创建新语法 - 不需要的空格问题
Using Write command to create new syntax - problem with unwanted spaces
我正在尝试 运行 对作为值存储在不同文件中的变量列表执行命令。为此,我正在创建一个基于变量名的新语法,如下所示:
WRITE OUT="\Selection.sps"
/"VARIABLE ATTRIBUTE VARIABLES = Final_",Var1," ATTRIBUTE=selectVars('yes')." .
EXECUTE.
问题出在 Final 和 Var1 之间,我得到 11 spaces。我要在其中使用此宏的文件的变量名称为 Final_Var1(因此在新文件中,Final 被添加到每个变量的名称中)。如何删除 space 以便正确引用新变量?我应该创建一个新文件还是 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 创建宏。
如果有更简单的方法,请告诉我!
我正在尝试 运行 对作为值存储在不同文件中的变量列表执行命令。为此,我正在创建一个基于变量名的新语法,如下所示:
WRITE OUT="\Selection.sps"
/"VARIABLE ATTRIBUTE VARIABLES = Final_",Var1," ATTRIBUTE=selectVars('yes')." .
EXECUTE.
问题出在 Final 和 Var1 之间,我得到 11 spaces。我要在其中使用此宏的文件的变量名称为 Final_Var1(因此在新文件中,Final 被添加到每个变量的名称中)。如何删除 space 以便正确引用新变量?我应该创建一个新文件还是 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 创建宏。
如果有更简单的方法,请告诉我!