Re: Help with macros
Posted by Eleonora Sidorova on
URL: http://spssx-discussion.165.s1.nabble.com/Help-with-macros-tp5740865p5740867.html
Thank you for your attantion to my problem.
I am trying to create macro, that delete duplicates codes in open ended questions.
The data looks like this:
DATA LIST LIST /a1_1@1o1 a1_1@2o1 a1_1@3o1 a1_1@4o1 a1_1@5o1 a1_1@6o1 a1_1@7o1 a1_1@8o1 a1_1@9o1
BEGIN DATA
10 49 30 4 44 1.5 999999 999999 49
This macro complete.
/*Kill double coded.
Define !dp_killrep ( List=!Noexp !Enclose('{', '}')
/Char=!Default('ยต') !Noexp !Enclose('{', '}')
/Mis=!Default('$Sysmis') !Noexp !Enclose('{', '}')).
count ####NumCols=!List (MISSING,SYSMIS,LO THRU HI).
!Let !@Nvars=####NumCols.
do repeat x=!List /y=!Concat(!Char, 1) To !Concat(!Char, !@Nvars).
compute y=x.
end repeat.
!Let !Vec=!Concat('vec',!Char).
Vector !Vec=!Concat(!Char, 1) To !Concat(!Char, !@Nvars).
Loop #X=2 To !@Nvars.
Loop #Y=1 To #X-1.
If !Vec(#X)=!Vec(#Y) !Vec(#X)=!Mis.
End loop.
End loop.
recode !List (else=sysmis).
do repeat x=!List /y=!Concat(!Char, 1) To !Concat(!Char, !@Nvars).
compute x=y.
end repeat.
delete variables !Concat(!Char, 1) To !Concat(!Char, !@Nvars).
!enddefine.
Eleonora