我从另一个问题的回答中创建了 15 个变量。如果他们以某种方式回答问题,则为 1,否则为 SYSMIS。我还有一个名为 ValuesCount 的列。如果 15 个变量只有 1 个输入,我只是将 ValuesCount 标记为该变量的标签。现在我需要弄清楚如果选择了多个标签,如何组合所有标签。 ValuesCount 字段中可以有 1-15。我认为 Concat + ValueLabel 会得到答案,但我已经尝试了几种方法,但似乎无法让它发挥作用。这是我开始玩的代码,看看我是否能弄明白,但没有运气。
* Define variable labels (headers).
VARIABLE LABELS Var1 'Variable 1 label'.
VARIABLE LABELS Var2 'Variable 2 label'.
* Concatenate headers with IF statement.
COMPUTE ConcatHeaders = STRING('Variable 1: ', Var1) + IF (Var1 > 2) STRING(' (Greater than 2)') ELSE '' END IF + ', Variable 2: ' + STRING(Var2).
* Show variable labels and concatenated headers.
EXECUTE.
下面的循环会创建你想做的变量,解决文开头的“+”问题:
String bought(A120).
String plus(A1).
do repeat vrnm=SeekersMatch FrugalMatch CreativesMatch
/vrlb='SeekersMatch' 'FrugalMatch' 'CreativesMatch'.
if bought<>"" plus="+".
if vrnm bougt=concat(rtrim(bougt), plus, vrlb).
end repeat.