Команда
spssinc select variables
создает список переменных в соответствии с указанными свойствами.В этом случае свойство будет переменной с именем «MyVar».Если переменная не существует, список останется пустым:
spssinc select variables macroname="!findMyVar" /properties pattern="MyVar".
Теперь мы определим макрос, который будет запускать некоторые команды, только если приведенный выше список не пуст:
define doifMyVarexists ()
!if (!eval(!findMyVar)<>"") !then
* put your commands here, like following examples.
compute MyVar=MyVar*2.
freq MyVar.
!ifend
!enddefine.
* the macro is ready, now we call it:
doifMyVarexists.
Если вы запустите это несколько раз, вы столкнетесь с проблемой, что если MyVar существует один раз, а в последующем не существует - список не очищается (он только перезаписывается, если в него были добавлены переменные).Чтобы решить эту проблему, используйте следующую строку, чтобы очистить список перед повторным запуском select variables
:
define !findMyVar() !enddefine.