Генерация переменного числа команд синтаксиса
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 | *(Вопрос) Как мне сгенерировать следующий макрос: if any(f1,1) c1 = 1. if any(f1,f2,1) c2 = 1. if any(f1,f2,f3,1) c3 = 1. [так повторяем для 29 перменных f] if any(f1,f2,f3,f4,f5,.......f29,1) c29 = 1. здесь число переменных f (29 в данном случае) передаётся как параметр в макрос. *(Ответ) Размещён в SPSSX-L, 19.07.2004. Автор: Raynald Levesque. DATA LIST LIST /id. BEGIN DATA 1 END DATA. NUMERIC f1 TO f29. *////////////////////. DEFINE !any(nb=!TOKENS(1)) !DO !c = 1 !TO !nb IF ANY (!DO !i=1 !TO !c !CONCAT('f',!i), !DOEND 1) !CONCAT('c',!c)=1. !DOEND !ENDDEFINE. *////////////////////. SET MPRINT=yes. !any nb=4. !any nb=29. |
Related pages
...