Операции с макропеременными
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | * Как произвести вычисления с участием макропеременных. * Размещено в SPSSX-L 24.09.1999, автор Rolf Kjoeller <rolf.kjoeller@GET2NET.DK>. /* Вопрос был в следующем: */ /* Возможно ли производить вычисления с макропеременными? */ /* Например, мне нужен макро, которому бы передавалась макропеременная год */ /* и он бы вычислял год 15 лет назад. */ *** Метод1. define !subtrct (year=!tokens(1) /minus=!tokens(1)) . preserve . set printback=on mprint=on errors = off . /******** Начало интересной части *** !let !x = !length(!concat(!blanks(!minus)," ")) !let !newyear = !length(!substr(!blanks(!year),!x)) . /******** Конец интересной части *** compute tst = !newyear . restore . exe. !enddefine . !subtrct year=1999 minus=15 . !subtrct year=1984 minus=25 . /* ВНИМАТЕЛЬНО!. !subtrct year=1999 minus=2000 . *** Метод 2. define !sub2 (year=!tokens(1) /minus=!tokens(1)) . COMPUTE tst=!year-!minus. EXE. !enddefine. !sub2 year=1999 minus=15 . !sub2 year=1984 minus=25 . /* ВНИМАТЕЛЬНО. !sub2 year=1999 minus=2000 . |
Related pages
...